# NOL (Yanolja) rooms: `POST /v1/ota/yanolja`

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

NOL (Yanolja): every room type and rate plan at one Korean stay.

KRW only. `total` is the stay for one room as it goes into the cart,
before coupons and points; `list_total` is before NOL's own discount and
`price` the nightly average. Plans that cannot be booked (sold out, too
many guests for the room) come back with `bookable: false`, NOL's reason
and no price. A stay NOL marks sold out answers `availability:
sold_out`; dates it does not sell, stays longer than the property allows
and parties no room takes are a 422.

Request body (JSON):

- `stay` (string; required; min length 1, max length 300): NOL stay id, or its page URL (`nol.yanolja.com/stay/domestic/3000998`).
- `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 30): Length of stay. Ignored when `check_out` is supplied.
- `adults` (integer; optional; default 2; min 1, max 20): Adults in the one room quoted.

Response fields:

- `search_parameters` (object; required)
  - `search_parameters.engine` (string; required; one of yanolja_property)
  - `search_parameters.stay_id` (string; required)
  - `search_parameters.check_in_date` (string (date); required)
  - `search_parameters.check_out_date` (string (date); required)
  - `search_parameters.nights` (integer; required)
  - `search_parameters.adults` (integer; required)
- `property` (object; required)
  - `property.property_id` (string; required): The NOL stay id.
  - `property.name` (string | null; required)
  - `property.category` (string | null; required): e.g. `HOTEL`, `PENSION`.
  - `property.url` (string; required)
  - `property.price_per_night` (number | null; required): Cheapest bookable overnight plan's nightly average.
  - `property.total` (integer | null; required): That plan's `total`.
  - `property.currency` (string; required; one of KRW)
  - `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 yanolja)
  - `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.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)
