latestOpenAPI 3.0.12026-08-101058136.3 KB

0fbdc2f4423a

Inventory

List accommodation properties

Returns the Booking.com property inventory as a newline-delimited JSON (NDJSON) stream, one property object per line. Each record carries static content such as names, addresses, categories, images, ratings, and policies. API consumers use it to build and refresh a local copy of the inventory.

Parameters

  • languages (required): a single BCP-47 language code (e.g. fr, en-gb). Localizable fields such as name, description, location.city, and location.province are returned in this language.
  • updated_since (optional): an ISO-8601 UTC timestamp with millisecond precision (e.g. 2026-04-20T00:00:00.000Z). When set, only properties changed at or after this instant are returned (delta sync). When omitted, the full inventory is returned.
  • image_size (optional): the size token applied to every image URL. One of thumbnail, thumbnail_large, standard, or large. Defaults to standard.

Response protocol

Each line is one complete JSON object. A data row carries the property fields:

{"property_id":1377102,"name":"Grand Central Hotel","description":"Featuring air-conditioned accommodation with a balcony, the property offers a private pool.","category":"hotel","number_of_rooms":1,"images":[{"url":"https://q-xx.bstatic.com/xdata/images/hotel/max500/681992303.jpg?k=<sig>&o=","type":"main"}],"language":"en-gb","updated_at":"2026-07-06T14:21:56.000Z","location":{"country":"nl","latitude":52.3702,"longitude":4.8952,"street_address":"Prins Hendrikkade 59","city":"Amsterdam","postal_code":"1012 AD","province":"North Holland"},"ratings":{"star_rating":5.0,"is_star_rating_estimated":false,"guest_review_score":8.6,"guest_review_count":1243},"policies":{"check_in_start_time":"15:00","check_in_end_time":"23:00","check_out_start_time":"07:00","check_out_end_time":"11:00","is_instant_bookable":true},"links":{"booking_url":"https://www.booking.com/hotel/nl/grand-central.html?aid=343802","booking_deep_link_url":"https://www.booking.com/hotel/nl/grand-central.html?aid=343802&utm_medium=deeplink"},"status":{"property_status":"open","last_active_date":"2026-07-07"}}

The final line is a completion marker:

{"_control":"complete","data_row_count":4055137}

Every line may carry a _control field that marks the line type:

  • Data rows use "_control":"data". This is the default and is omitted to reduce response size, so a line with no _control field is a data row.
  • The final line is the completion marker, "_control":"complete". It reports data_row_count, the number of data rows emitted.

To confirm the stream is complete, match data_row_count against the number of data rows received. If the completion marker is absent, the stream was truncated and the response must be discarded.

Preview version: temporary constraints (subject to change without notice)

This endpoint is a preview version. Only one language per request is currently supported; requesting more than one returns HTTP 400. An API consumer that needs several languages sends one request per language, in parallel.

Errors

400 Bad Request with a JSON error body is returned for invalid input: more than one languages entry, an unsupported image_size, or a malformed updated_since timestamp.

post/inventory/properties

Request body

languagesstring[]

Exactly one BCP-47 language code. Localizable fields are returned in this language. More than one language is not currently supported and returns HTTP 400.

updated_sincestring

Optional ISO-8601 UTC timestamp with millisecond precision. When set, only properties changed at or after this instant are returned (delta sync); when omitted, the full inventory is returned.

image_size'thumbnail' | 'thumbnail_large' | 'standard' | 'large'

Size token applied to every image URL:

  • thumbnail: 100×100, square, center-cropped
  • thumbnail_large: 300×300, square, center-cropped
  • standard: up to 500px on the longest side (default)
  • large: up to 1280px on the longest side

Example request

{
  "languages": [
    "en-gb"
  ],
  "updated_since": "2026-04-20T00:00:00.000Z"
}

Response

NDJSON stream. Each line is a property stream record.