Discover/Booking API
live

Booking APIbooking.com ↗

Search Booking.com properties by destination and dates, retrieve room offers, prices, ratings, and cancellation terms via a structured JSON API.

Endpoint health
verified 20h ago
search_properties
get_room_offers
get_property_details
2/2 passing latest checkself-healing
Endpoints
3
Updated
58m ago

What is the Booking API?

This API exposes 3 endpoints covering Booking.com accommodation search and property detail retrieval. Use search_properties to query properties by destination, check-in/check-out dates, and guest configuration, returning names, prices, ratings, addresses, and payment types. get_property_details and get_room_offers give deeper per-property data including room-level pricing, cancellation policies, and stay totals.

This call costs5 credits / call— charged only on success
Try it
Number of rooms
Number of adults
Results offset for pagination (increments of 25). Ignored when fetch_all is true.
Check-in date in ISO format YYYY-MM-DD
Check-out date in ISO format YYYY-MM-DD
When true, automatically fetches all available pages and returns the full deduplicated set of properties, optionally capped by max_results.
Search destination (city, region, or property name)
Maximum number of properties to return when fetch_all is true. Accepts any positive integer. When omitted, all available results are returned.
→ api.parse.bot/scraper/347ab358-c792-4521-9ff2-bff0c7f845e0/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/347ab358-c792-4521-9ff2-bff0c7f845e0/search_properties?checkin=2026-10-24&checkout=2026-10-26&destination=Paris' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 3 totalmissing one? ·

Search for properties on Booking.com by destination, dates, and guest configuration. Returns paginated results (25 per page) with property names, URLs, prices, and ratings. Results are deduplicated by URL. When fetch_all is true, automatically paginates through results and returns a single deduplicated list; if max_results is omitted all available results are returned, otherwise the list is capped at the given value. Offset is ignored in fetch_all mode.

Input
ParamTypeDescription
roomsintegerNumber of rooms
adultsintegerNumber of adults
offsetintegerResults offset for pagination (increments of 25). Ignored when fetch_all is true.
checkinrequiredstringCheck-in date in ISO format YYYY-MM-DD
checkoutrequiredstringCheck-out date in ISO format YYYY-MM-DD
fetch_allbooleanWhen true, automatically fetches all available pages and returns the full deduplicated set of properties, optionally capped by max_results.
destinationrequiredstringSearch destination (city, region, or property name)
max_resultsintegerMaximum number of properties to return when fetch_all is true. Accepts any positive integer. When omitted, all available results are returned.
Response
{
  "type": "object",
  "fields": {
    "properties": "array of objects each containing name, url, price, rating, address, and payment_type",
    "total_found": "integer total number of matching properties"
  },
  "sample": {
    "data": {
      "properties": [
        {
          "url": "https://www.booking.com/hotel/fr/timjardindesplantes.html?aid=304142&label=gen173nr-...",
          "name": "Hôtel du Jardin des Plantes",
          "price": "$150",
          "rating": "Scored 7.5 7.5Good 1,721 reviews",
          "address": null
        }
      ],
      "total_found": 3095
    },
    "status": "success"
  }
}

About the Booking API

Search Properties

The search_properties endpoint accepts a destination string (city, region, or property name), checkin and checkout dates in ISO format, plus optional adults, rooms, and pagination controls. Results are returned 25 per page, deduplicated by URL. Each property object in the properties array carries name, url, price, rating, address, and payment_type. Set fetch_all: true to automatically paginate through all available pages and receive the full deduplicated set; pair it with max_results to cap the returned count. The total_found field tells you how many matching properties exist regardless of page size.

Property Details and Room Offers

get_property_details takes any Booking.com property URL (as emitted by search_properties) and returns the property name, address, description, a rating string in the form Scored X (N reviews), plus numeric review_score and review_count. It also returns a rooms array of available rate options, each including room_name, max_persons, and cancellation_type (site codes such as free_cancellation). The total_price field gives the lowest all-inclusive stay total among room options that fit the requested adult count, expressed in the currency ISO 4217 code.

Room-Level Offer Granularity

get_room_offers operates at finer grain: every distinct rate plan the property page currently displays is returned as a separate offer in the offers array. Each offer includes room_name, room_id, block_id, max_persons, and per-offer pricing — meaning a room type with and without breakfast, or refundable versus non-refundable, each appears as its own entry. You can override the date range, adult count, room count, and display currency directly in the request parameters rather than encoding them into the URL, which is useful when iterating over multiple stay configurations for the same property.

Reliability & maintenanceVerified

The Booking API is a managed, monitored endpoint for booking.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when booking.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official booking.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
20h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a hotel price comparison tool using search_properties prices and get_room_offers rate plans across multiple destinations
  • Monitor nightly rate changes for a set of properties by polling get_property_details total_price over time
  • Extract cancellation policy data (cancellation_type) from get_room_offers to surface refundable options to travelers
  • Aggregate star ratings and review counts from search_properties and get_property_details for destination-level analytics
  • Generate structured accommodation datasets by city using fetch_all on search_properties with a max_results cap
  • Compare breakfast-included versus room-only pricing by diffing offers in the get_room_offers response for the same room type
  • Populate a travel app's property cards with address, description, and lowest total price from get_property_details
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Booking.com have an official developer API?+
Yes. Booking.com operates an official API program aimed at affiliates and connectivity partners, documented at developers.booking.com. Access requires a partnership agreement and is not open to the general public.
What does `get_room_offers` return that `get_property_details` does not?+
get_property_details returns one total_price representing the lowest qualifying rate and a rooms array with summary-level data per room type. get_room_offers returns every distinct rate plan as a separate offer, each with its own room_id, block_id, and per-plan price breakdown — so you can see, for example, a refundable rate and a non-refundable rate for the same room as separate entries.
How does pagination work in `search_properties`?+
Results come back 25 per page. Use the offset parameter in increments of 25 for manual pagination. Setting fetch_all: true ignores offset and automatically collects all pages, deduplicating by URL. The total_found integer in the response tells you the total match count before pagination.
Does the API return property photos or amenity lists?+
Not currently. The API covers property name, address, description, review ratings, room options, cancellation types, and pricing. Photo URLs and structured amenity lists are not included in any of the three endpoints. You can fork this API on Parse and revise it to add those fields.
Can I retrieve availability or pricing for dates far in the future?+
The API resolves whatever the property page returns for the requested checkin and checkout dates you supply. If Booking.com does not show availability or pricing for a given date range — for instance, dates beyond a property's booking window — total_price will be null and the offers array in get_room_offers will be empty rather than returning an error.
Page content last updated . Spec covers 3 endpoints from booking.com.
Related APIs in TravelSee all →
booking-com.p.rapidapi.com API
Search Booking.com properties and retrieve detailed information like pricing, amenities, reviews, and availability without manually browsing the site. Access structured property data instantly to compare accommodations and make informed booking decisions.
hotels.com API
Search for hotels across millions of properties, view room availability and pricing, and get detailed information about accommodations at specific destinations. Get location suggestions and discover popular travel spots to help plan your next getaway.
vrbo.com API
Search and browse vacation rental listings on Vrbo by location, date range, and guest count. Retrieve detailed information about specific properties including descriptions, amenities, photos, pricing, guest reviews, and availability — everything needed to compare rental options in one place.
airbnb.pt API
Search for rental listings in any location, view detailed information about properties including availability and guest reviews. Browse hundreds of accommodations to find the perfect place that fits your travel needs and budget.
expedia.com API
Search for hotels and flights across Expedia while viewing detailed property information to compare prices and amenities for your travel plans. Get comprehensive travel options all from one integration without manually browsing the website.
agoda.com API
Access data from agoda.com.
airbnb.com API
Search Airbnb stays by destination and dates, then retrieve listing details, availability calendars, and recent guest reviews for a specific listing.
tripadvisor.com API
Search for travel destinations and discover hotels with detailed information like ratings, reviews, and amenities. Get comprehensive place details to help plan your perfect trip and compare accommodation options.