# Rakuten Travel rooms: `POST /v1/ota/rakuten`

Cost: 12 credits (12 (failed requests are free)). Docs: https://scrapercompany.com/docs/reference/rakuten-rooms

Rakuten Travel (楽天トラベル): every room type and plan for one stay.

JPY only. `price` is the room's nightly average and `total_tax_included`
the whole stay for one room with consumption tax included; local
accommodation and bathing taxes are paid at the hotel and never
included. `member_price` is set when a plan has a member price. A full
hotel answers `availability: sold_out`; one room per quote.

Request body (JSON):

- `check_in` (string (date); required): First night of the stay, `YYYY-MM-DD`.
- `check_out` (string (date) | null; optional): Departure date. An alternative to `nights` — if both are given, this wins.
- `nights` (integer; optional; default 1; min 1, max 14): Length of stay. Ignored when `check_out` is supplied.
- `adults` (integer; optional; default 2; min 1, max 9): Adults in the one room quoted. Totals are for all of them.
- `hotel_no` (string; required; min length 1, max length 300): Rakuten Travel hotel number, or a hotel URL that carries it: `travel.rakuten.co.jp/HOTEL/74637/` or `hotel.travel.rakuten.co.jp/hotelinfo/plan/74637`.

Response fields:

- `search_parameters` (object; required)
  - `search_parameters.engine` (string; required; one of rakuten_property)
  - `search_parameters.hotel_no` (string; required)
  - `search_parameters.check_in_date` (string (date); required)
  - `search_parameters.check_out_date` (string (date); required)
  - `search_parameters.adults` (integer; required)
- `property` (object; required)
  - `property.property_id` (string; required): The hotel number.
  - `property.name` (string | null; required)
  - `property.price_per_night` (number | null; required): Cheapest plan's nightly average.
  - `property.total_tax_included` (integer | null; required): Cheapest plan's whole stay.
  - `property.currency` (string; required; one of JPY)
  - `property.sold_out` (boolean; required)
  - `property.availability` (string; required; one of available, sold_out)
  - `property.is_soldout` (boolean | null; required)
  - `property.availability_reason` (string | null; required)
  - `property.min_length_of_stay` (integer | null; required)
  - `property.provenance` (object | null; required): Provenance of the cheapest priced row; null when nothing priced.
  - `property.rooms` (array of object; required)
- `meta` (object; required)
  - `meta.source` (string; required; one of rakuten)
  - `meta.collection_id` (string; required)
  - `meta.observed_at` (string; required)
  - `meta.nights` (integer; required)
  - `meta.adults` (integer; required)
  - `meta.elapsed_s` (number; required)
  - `meta.total_rate_plans` (integer; required)
  - `meta.comparable_across_markets` (boolean; required): Always false.
  - `meta.notes` (string; required)

Base URL: `https://api.scrapercompany.com`. Auth: send your key in the `x-api-key` header. A failed request (4xx or 5xx) or an empty result costs 0 credits.

- [Full API reference as one Markdown file](https://scrapercompany.com/llms-full.txt)
- [OpenAPI spec](https://scrapercompany.com/openapi.json)
