# Inventory

## List accommodation properties

 - [POST /inventory/properties](https://developers.booking.com/metasearch/connect-api/open-api/inventory/streamproperties.md): 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=&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.

