100 free credits. No credit card required.Start building
Logo
Booking.com API

Get Booking.com property and review data with one API

Fetch Booking.com property search with priced room options, property details and guest reviews as structured JSON with one SocialCrawl API key. Reads are priced in credits.

/v1/booking

3 active endpoints. Search, property and reviews.

  • GET /v1/booking/search
  • GET /v1/booking/hotel
  • GET /v1/booking/hotel/reviews

What Booking.com endpoints does SocialCrawl ship?

Three read endpoints for public Booking.com data. Search a destination for priced properties, read one property's catalogue record, and page through guest reviews.

/v1/booking/search

About 25 properties a page for a destination. Each has its address, coordinates, star rating, review score out of 10 and count, photos, and every bookable room option priced in place.hotel.prices, with the meal plan and free-cancellation date in each row's title. Each page leaves out properties an earlier page already served. Standard tier (1 credit).

location, check_in, check_out, adults, children, rooms, cursor

/v1/booking/hotel

One property's catalogue record: address, coordinates, star rating, photos, amenities and the check-in and check-out windows. It does not price a stay, and the review score is left to the search row and the reviews route. Standard tier (1 credit).

id, url

/v1/booking/hotel/reviews

A property's guest reviews, up to 25 a page. Each has its score out of 10, title, what the guest liked and disliked, language, date, the guest's name and country, and the property's reply. data.total is the full review count. Advanced tier (5 credits).

id, url, limit, cursor

Booking.com API3 endpoints supported
View docs
Properties
Reviews

Returns Booking.com properties for a destination with address, coordinates, star rating, review score out of 10, photos, and every bookable room option with its price.

Use it to compare hotels and room prices in a city. Add check_in and check_out for your dates, or you get a default stay.

1 credit

GET/v1/booking/search?location=Lisbon

location · A destination, for example Lisbon.

$ curl https://www.socialcrawl.dev/v1/booking/search?location=Lisbon \
    -H "x-api-key: sc_YOUR_API_KEY"
idle
// Running this live needs your own API key. Hit "Try it" to see an example response

How the Booking.com API works

Booking.com is a normal SocialCrawl data surface. You call GET /v1/booking/… with an API key, spend credits on live misses, and get a single JSON envelope back.

Authenticate every call

Send your key in the x-api-key header. No Booking.com account or developer app is needed for public reads. The same key works across SocialCrawl platforms.

GET with query params

Search takes location and optional dates, guests and rooms. Property routes accept id or url. Dates are YYYY-MM-DD. Formats are validated before any charge.

Pay in credits, not seats

Search and property detail cost 1 credit. Guest reviews cost 5 credits. Cache hits cost 0.

Read one JSON envelope

Every response is the same shape: success, data, credits_used, credits_remaining, request_id, cached. Lists also carry pagination when the route pages.

The usual integration chain

Most products find an entity first, then deepen into detail and reviews only when needed.

01Search a destination
GET /v1/booking/search?location=…

PlaceList with priced room options

Pass dates, guests and rooms to price the stay you care about.

02Read the property
GET /v1/booking/hotel?id=…

Place with address, amenities and check-in windows

Take the property id from place.id on a search row.

03Page the reviews
GET /v1/booking/hotel/reviews?id=…

ReviewList with liked and disliked text, up to 25 a page

data.total shows the full review count.

04Walk the next page
GET /v1/booking/search?location=…&cursor=…

More properties for the same search

Pass the returned cursor; repeated properties are removed for you.

request
GET /v1/booking/search?location=Lisbon&check_in=2026-12-01&check_out=2026-12-05&adults=2
Host: www.socialcrawl.dev
x-api-key: sc_your_api_key_here

GET /v1/booking/hotel/reviews?id=pt%2Fmasa-5-de-outubro
response envelope
{
  "success": true,
  "data": {
    "items": [
      {
        "place": {
          "id": "pt/masa-5-de-outubro",
          "name": "Example property",
          "rating": {
            "value": 8.9
          },
          "hotel": {
            "prices": {
              "total": 480,
              "currency": "EUR"
            }
          }
        }
      }
    ]
  },
  "credits_used": 1,
  "credits_remaining": 9999,
  "request_id": "req_…",
  "cached": false
}

What lands in data

Field names match the rest of SocialCrawl where archetypes align. Parse once, reuse across platforms.

PlaceListsearch

items[] with address, coordinates, stars, review score, photos, hotel.prices

Placehotel

address, coordinates, star rating, photos, amenities, check-in and check-out windows

ReviewListhotel/reviews

items[] with score, title, liked and disliked text, language, date, guest country, responses[]

Paginationsearch + cursor

cursor plus data._warnings counting any repeated properties removed

Inside the gateway

Same request lifecycle as every other /v1 platform endpoint. Booking.com is not a sidecar.

  1. 01

    Edge receives the call

    Next.js catch-all routes into the Hono social API. We mint a request_id, authenticate the key, then enforce rate limit (600/min) and concurrency (50 in flight per key).

  2. 02

    Validate, then debit

    Registry lookup finds the booking route. Required params and format checks run first. Invalid input returns 400 with no charge. Valid calls debit the tier cost atomically before the read starts.

  3. 03

    Cache or fetch

    A deterministic cache key is built from platform + resource + params. Hit: return immediately, credits_used = 0. Miss: the public page is read live, with retries on 5xx or network errors and a circuit breaker if the source is unhealthy.

  4. 04

    Normalize and return

    Booking.com data is mapped to the Place, PlaceList and ReviewList archetypes, validated against the canonical Zod schema, then wrapped in the success envelope and logged for billing audit.

Billing rules that matter in production

  • search and hotel: 1 credit
  • hotel/reviews: 5 credits
  • Cache hit: 0 credits
  • Empty / hard fail: auto-refund
  • Bad params: 400, never charged
  • No credits: 402, never charged
  • Search: about 25 properties a page
  • Reviews: up to 25 a page
  • No booking or messaging tools

How SocialCrawl gets Booking.com data

Booking.com is public read data. We normalize it into the SocialCrawl schema so your code does not learn a second vendor SDK.

What Booking.com is for this API

Public property pages, search results with room prices, and guest reviews.

How SocialCrawl reaches it

Public pages are read on request and normalized server-side. You never run a Booking.com login or booking session.

What leaves our edge

PlaceList and Place for properties and ReviewList for guest reviews.

What we do not ship live

No booking, messaging or partner tools.

field map sketch
Booking.com property→ place.*id as place.id, address, stars
room options→ place.hotel.pricesevery bookable room option priced
guest review→ ReviewList items[]liked and disliked text kept in review.text

What this API is used for

The jobs this API is most often used for.

3active Booking.com endpoints in the registry
1 / 5credit ladder for search vs reviews

Hotel rate benchmarking and guest-review analysis

Callers search a destination first, then read the properties that matter and pull their reviews. Priced room options with meal plan and cancellation terms, plus guest reviews that keep liked and disliked text apart, in the shared Place and Review schemas.

Live misses read the public page on request. Repeat calls hit cache and cost 0 credits.

Use case examples

Common ways teams put this data to work, and the stack each one tends to run.

Revenue managers

Python, spreadsheets

search with dates to compare room prices and cancellation terms across a market.

Travel analysts

Node, warehouse loads

search with a cursor to sample how a destination is priced.

Guest-experience teams

Python, notebooks

hotel/reviews to mine liked and disliked text by country and language.

How to call the Booking.com API

Search is 1 credit. A page of reviews is 5. Cache hits are free.

curl "https://www.socialcrawl.dev/v1/booking/search?location=Lisbon&check_in=2026-12-01&check_out=2026-12-05&adults=2" \
  -H "x-api-key: sc_your_api_key_here"
curl "https://www.socialcrawl.dev/v1/booking/hotel/reviews?id=pt%2Fmasa-5-de-outubro" \
  -H "x-api-key: sc_your_api_key_here"
Booking.com on SocialCrawl

Same key as the rest of the catalog

Endpoints

What data does the Booking.com API return?

Every endpoint returns structured JSON in a unified envelope. Computed fields such as engagement rate and content category are included only where the endpoint supports them and the required source inputs are present.

FAQ

Have a question? We got answers

Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.

Contact us
What does the SocialCrawl Booking.com API cover?
It covers 3 endpoints: Search, Hotel, and Hotel Reviews. They return property search with priced room options, property records and guest reviews in the same unified JSON as the other 74 platforms.
Where do I get room prices?
From GET /v1/booking/search, which prices every bookable room option in place.hotel.prices, with the meal plan and free-cancellation date in each row's title. The hotel endpoint does not price a stay.
How do I get the property id for the hotel and reviews endpoints?
Take place.id from a search result, for example pt/masa-5-de-outubro, or send a Booking.com property link as url.
Do I need a Booking.com account or key?
No. You call SocialCrawl with one SocialCrawl API key, so there is no Booking.com login, application or key to manage.
How much does the Booking.com API cost?
Search and hotel cost 1 credit, and reviews cost 5 credits. A new account gets 100 free credits with no card.
Is scraping Booking.com data legal?
SocialCrawl returns publicly available Booking.com data and does not access private or login-gated content. Whether scraping fits your project depends on your use case and jurisdiction. You are responsible for complying with Booking.com's terms of service and applicable data-protection laws such as GDPR and CCPA. This is general information, not legal advice.
Booking.com scraping API vs the official Booking.com API: what's the difference?
With SocialCrawl there is no app review or approval queue. Sign up and call Booking.com endpoints immediately with a single x-api-key. Responses share one unified schema with every other SocialCrawl platform, and credit-based pricing replaces per-platform quotas. Official APIs are still the right choice for posting and other write actions: SocialCrawl is read-only data.

Ask AI about SocialCrawl

Read the Booking.com API reference in the docs

🤖 AI agent or LLM? Read this page as markdown