The best hotel data APIs in 2026, compared
Published September 2, 2026 · Updated September 10, 2026
Short answer: FlightPowers' Booking.com Live API, SerpApi Google Hotels, Makcorps, Bright Data, Apify scrapers, StayAPI, HasData, SearchApi, StayingAPI, Blue Pillow, the Booking.com Demand API, and Amadeus Hotel Search are the hotel data APIs people actually shortlist in 2026. Rate scrapers, OTA aggregators, cross-OTA comparators, per-listing enrichment APIs, and partner booking platforms are different products that don't substitute for each other, and every price here is quoted live from each vendor's own page, including four priced lower per unit than my $10 tier.
"Hotel data API" covers at least five different products. Rate scrapers that read a public site. Aggregators that read many OTAs at once. Comparators that put the same property's price from several OTAs side by side in one answer. Enrichment APIs that answer questions about a listing you already know. And partner platforms that can actually hold a room. They get shortlisted against each other constantly, and they are not substitutes.
I should say this in the first paragraph: the first entry is mine. I run FlightPowers and sell the Booking.com Live API, so read that section as a vendor describing his own product. Everything about everyone else is quoted from their own live page, read on 2026-09-02 and re-read on 2026-09-09, with the URL in the table. StayAPI, HasData and SearchApi were added on 2026-09-09 and read that day. StayingAPI and Blue Pillow were added on 2026-09-10 and read that day. Where a page does not publish a price, that is what I write, because guessing one would be worse than leaving it blank. And four options here carry a lower list price per unit than my $10 tier. They are in the table too.
The prices, with their sources
| API | Sits on | Published price | Read from |
|---|---|---|---|
| Booking.com Live API (mine) | Booking.com | $10 / mo for 2,000 requests, up to $50 / mo for 25,000 | RapidAPI listing, 2026-09-11 |
| SerpApi Google Hotels | Google Hotels | $25 / mo for 1,000 searches, up to $2,750 / mo for 500,000 | serpapi.com/pricing, 2026-09-09 |
| Makcorps | 200+ OTAs | $350 / mo for 10k requests; $500 / mo for 50k; $4,000 / mo enterprise | makcorps.com, 2026-09-09 |
| Bright Data Booking scraper | Booking.com | $1.5 per 1,000 records pay as you go; $499 / mo Scale | brightdata.com, 2026-09-09 |
Apify voyager/booking-scraper | Booking.com | from $2.00 per 1,000 scraped place results | apify.com, 2026-09-09 |
| Apify actor (mine) | Booking.com | from $3.70 per 1,000 hotel lookups | apify.com, 2026-09-09 |
| StayAPI | Booking.com and Airbnb, one listing at a time | 50 free requests once, then $49 / mo for 1,500; $149 / mo for 10,000; $450 / mo for 100,000 | stayapi.com, 2026-09-09 |
| HasData | Google Hotels, Booking.com, Airbnb | free plan, then $59 / $119 / $249 a month; the Airbnb line prints $1.23 per 1,000 requests at $59 | hasdata.com/prices, 2026-09-09 |
| SearchApi | Booking.com, Airbnb, Google Hotels | 100 free requests, then $40 / mo for 10,000 searches ($4 per 1,000), down to $1 per 1,000 at 5M | searchapi.io, 2026-09-09 |
| StayingAPI | Airbnb, Booking.com, Vrbo and Google Hotels in one schema | 300 free credits valid 90 days, then $19 / mo for 1,900 credits; $99 / mo for 9,900; $499 / mo for 49,900. Their own note: "1 credit ≈ $0.01 nominal". A cross-OTA /v1/price-compare call is 30 credits | stayingapi.com/pricing, 2026-09-10 |
| Blue Pillow (B2A) | "16+ booking operators" | No price published on the pages I read. A b2a_get_key tool issues a free anonymous key, and their listing reads "No signup, no OAuth, no card" | b2a.bluepillow.com, registry.smithery.ai, 2026-09-10 |
| Booking.com Demand API | Booking.com inventory | no price on the pages I read | developers.booking.com, 2026-09-02 |
| Amadeus Hotel Search | Amadeus | Self-Service URLs redirect, see below | developers.amadeus.com, 2026-09-02 |
Units differ and the table cannot fix that. A "request" on mine returns a page of properties. A "record" on Bright Data is one property. A StayAPI request answers one question about one listing you already have. A SearchApi "search" is one search on one of their engines. Compare on your own workload, not on this table.
1. Booking.com Live API (FlightPowers): mine
Sits on: Booking.com. Best for: live rate intelligence and competitive-set tracking.
Four things it does. /search takes a free-text destination
and dates and returns ranked properties with live prices.
/hotel_by_name takes the name a human would actually type,
so there is no property-ID lookup step before you can ask a question.
/hotel and /resolve resolve a name to its Booking.com ID once
and then pull the room list on a schedule, up to five properties per call, which is
the shape of a competitive-set tracker. And every endpoint accepts
proxy_country, a two-letter input parameter that routes
the request through a residential proxy in that country. It is an input, not a field
in the response. What it buys you is the ability to price one named property from more
than one market. Sample each market several times back to back before you read anything
into a difference: rates move between identical calls, so one reading per country
measures the noise as much as the market.
The response keys are short and stable: name, price_string, price,
review_score, review_count, room_type, location, image_url, link,
nights, adults, children. There are 24 documented filters.
Plans, from the live listing on 2026-09-11: free tier 10 requests a month as a hard cap, then $10 for 2,000 ($5.00 per 1,000), $20 for 6,500 ($3.08 per 1,000), $50 for 25,000 ($2.00 per 1,000). Rate limits are 25 requests a minute on the two middle tiers and 50 on the top one.
Where I actually compete on price is the entry, not the unit. $10 a month, and the free tier comes back every month rather than once. Of the entries here that charge a monthly subscription, the others start at $19, $25, $40, $49, $59 and $350. Two of them, Bright Data and the Apify actors, bill per use with no monthly floor at all, so "lowest entry" means nothing against those, and at least one rival is cheaper than me per search: SearchApi's Booking.com engine lists at $0.0040 against $0.0050 on my $10 tier. The other thing worth knowing is that flights and hotels are two listings on the same account, so one RapidAPI key reaches both once you subscribe to each. The flights side is written up the same way.
The cons, because everyone else on this page gets to state theirs. One source, so what Booking.com does not list, I do not have. The free tier is ten requests, which verifies a key and nothing else. The rate limit is the lowest number on this page, so a wide nightly crawl needs scheduling rather than a burst. And the documented response has no amenity list and no coordinates.
2. SerpApi Google Hotels
Sits on: Google Hotels. Best for: teams that want more of Google than hotels.
From serpapi.com/google-hotels-api, read 2026-09-02: it takes q,
check_in_date, check_out_date, plus gl for a two-letter country, hl,
currency, adults, children, children_ages, property_types, sort_by and a
min_price / max_price range. Per property it documents rate_per_night,
total_rate, a prices array with source and cancellation terms,
overall_rating, reviews, amenities, gps_coordinates and images. It also
documents a vacation_rentals parameter, and the vacation-rental response carries
bedrooms, bathrooms, check_in_time and check_out_time.
Two of those beat mine outright, and I would rather say so than have you find out later: amenities and coordinates come back in the response, and vacation rentals are documented. I have no documented vacation-rental endpoint in my reference.
Pricing from serpapi.com/pricing, read 2026-09-02 and re-read 2026-09-09: free 250 searches, then $25 for 1,000, $75 for 5,000, $275 for 30,000, and on up to $2,750 for 500,000. Their page states that "Only successful searches are counted toward your monthly searches. Cached, errored, and failed searches are not." That is a genuinely good billing policy and I do not match it. Their Production tier and above carries what they describe as up to $2 million in coverage for the scraping and parsing of search engine data.
Credits are shared across all their engines, so a hotels-only price comparison understates what the credit buys. The full side by side on the flights engine is at /compare/serpapi.
Consider SerpApi if hotels are one surface of a product that also needs Google Search, Maps or Shopping, if you need amenities and coordinates in the same call, or if your legal team wants the indemnity.
3. Makcorps
Sits on: many OTAs. Best for: cross-OTA price comparison in one call.
From makcorps.com, read 2026-09-02 and re-read 2026-09-09: "200+ OTAs tracked", a demo of "30 Free API calls" with no credit card, and the API returns "hotel prices from top cheapest OTAs in JSON form" with "rates and availability in real time". Published plans on that page: Basic "$350 Per Month" for 10k requests, Advance "$500 Per Month" for 50k and marked Popular, Enterprise "$4,000 Per Month" for 10M credits. Annual billing is offered at two months free.
This is the one entry here that answers a question I cannot answer at all: what the same property costs across many OTAs at once. If your product is "is this hotel cheaper on Expedia", that is Makcorps' shape and not mine. The entry price is the highest on this page, which tells you who it is built for.
Consider Makcorps if your question spans OTAs rather than one of them, and the $350 floor is inside your budget.
4. Bright Data Booking.com scraper
Sits on: Booking.com. Best for: bulk extraction into a warehouse.
From brightdata.com/products/web-scraper/booking, read 2026-09-02 and re-read 2026-09-09: a free tier of "5K records per month" with no card, pay as you go at "$1.5/1K record", a Scale plan at "$499/month" including 384,000 records with additional records at "$1.3/1K", and custom enterprise pricing. Output as "JSON, NDJSON, JSON lines, CSV, and .gz files (compressed)", delivered to Amazon S3, Google Cloud Storage, Google PubSub, Microsoft Azure Storage, Snowflake or SFTP. Documented fields include URL, location, check in and check out dates, rooms, reviews, score and address.
Stated plainly: their list price per unit is lower than mine, and their free tier is far larger than my ten requests. The units are not the same thing, a record against a request that returns a page of properties, so the honest version is that you have to price your own job on both. But if the shape of your work is "load a lot of Booking.com rows into Snowflake on a schedule", the delivery integrations alone are an argument I do not have an answer to.
Consider Bright Data if the destination is a warehouse rather than a request in a live product.
5. Apify Booking scrapers
Sits on: Booking.com. Best for: a run you can schedule from a console.
voyager/booking-scraper on apify.com, read 2026-09-02 and re-read 2026-09-09: "from
$2.00 / 1,000 scraped
place results", pay per event. Its own page states "The Booking.com website will only
display a maximum of 1,000 results, so that's how much the scraper can get at once",
with a toggle to go past it. It extracts names, addresses, room availability,
pricing, features, review counts, ratings, stars and image URLs.
Disclosure: my own actor is also on
Apify, priced on its page at "from $3.70 / 1,000 hotel lookups", re-read 2026-09-09.
It is the same backend as the REST API above, with endpoint selecting /search,
/hotel_by_name, /hotel or /resolve. On the list price per unit shown on the two
pages, voyager/booking-scraper is the cheaper one.
Consider an Apify actor if you want scheduled runs, a dataset and a console without building a job runner. Consider a REST API instead if the call happens inside a user request and you need it to answer now.
6. StayAPI
Sits on: Booking.com and Airbnb, one listing at a time. Best for: enriching listings you already know.
From stayapi.com/apis/booking and stayapi.com/apis/airbnb, read 2026-09-09: 50 free requests once rather than monthly, then Basic at "$49" for 1,500 requests, Startup at "$149" for 10,000, Scale at "$450" for 100,000 (their page shows $900 struck through) and a Custom tier from 1M. Their billing note is "1 request = 1 credit. No per-endpoint multipliers". That works out to $32.67 per 1,000 at Basic, $14.90 at Startup and $4.50 at Scale.
The thing to know before you shortlist them: their Airbnb API has no destination
search. The documented endpoints on that page are calendar,
cancellation-policy, cancellation-policy-from-url, details, details-from-url,
extract-id, overview, payment-methods, payment-methods-from-url, photos,
pricing, pricing-from-url, reviews and reviews-from-url. Every one of them
starts from a listing id or a listing URL, so you have to already know the listing.
Their own FAQ says why: "Airbnb runs partner and connectivity programs for software
vendors, but there is no open public API for pulling listing reviews, nightly prices,
availability, or competitor data." Per-listing enrichment is their answer to that. It
is a real product. It is not a search product, and mine starts from a city and a pair
of dates.
Their pricing nav also lists a free agent skill install, report templates, and a set of free tools: a Booking.com destination lookup, Airbnb reviews and listing details, Agoda reviews, OpenTable and TripAdvisor.
Consider StayAPI if you have a set of listings and want reviews, photos, calendars and cancellation terms for each one. Consider something with a destination search if your question starts with a city and dates.
7. HasData
Sits on: Google Hotels, Booking.com and Airbnb. Best for: several lodging sources on one credit balance.
From hasdata.com/prices, read 2026-09-09: a free plan, then $59, $119 and $249 a month, with annual-equivalent figures of $590, $1,190 and $2,490 and credit packs at $415, $830 and $1,660 for 5M, 10M and 20M credits. One warning if you read that page quickly: the number printed on the card is the annual-equivalent, and the monthly price is the one in the page's structured data. The free plan renews 1,000 credits every month.
They publish a per-API rate rather than one flat search price, and the rates differ between their APIs. The line I read in full is the Airbnb Scraper API: 200 free requests a month, then $1.23 per 1,000 requests at the $59 plan (40,000 requests), falling to $0.50 and then $0.35 per 1,000 at 600,000 requests. Their own table prices that line below their Booking.com and Google Hotels lines, so do not read $1.23 as their hotel rate. I did not read a per-1,000 figure for the Google Hotels line, so there isn't one printed here.
Their Google Flights engine, including the priceInsights object it returns, is
covered in the
Amadeus Self-Service alternatives guide.
Consider HasData if you want Google Hotels, Booking.com and Airbnb behind one key and one credit balance, and $59 is inside your budget.
8. SearchApi
Sits on: Booking.com, Airbnb and Google Hotels. Best for: one flat search rate across many engines.
Read 2026-09-09. They sell a Booking.com Search API and an Airbnb Search API next to
Google Hotels and Google Flights. searchapi.io/booking-api describes itself as
"Scrape Booking.com property search, destination autocomplete and full property
details: prices, reviews, filters, rooms and nearby places, in JSON", and
searchapi.io/airbnb-api as "Search and retrieve listings, availability, and pricing
information in JSON format using the Airbnb Search API". Both take a destination and
dates: their examples are engine="booking" with q="Dubrovnik" and adults="2",
and engine="airbnb" with q="Barcelona" plus check_in_date and
check_out_date. Both pages state "Only pay for successful searches", "Get 100 Free
Requests" and "No credit card required".
Pricing from searchapi.io/pricing, read 2026-09-09: Developer at $40 a month for 10,000 searches, which the page itself prints as "$4 per 1,000 searches", then Production at $100 ($3 per 1,000), BigData at $250 ($2.50), Scale at $500 ($2) and on down to $1 per 1,000 at their 5M plan. There is no per-engine multiplier on that ladder, so a Booking.com search costs the same as a Google Flights search.
Stated plainly, because it is the sharpest comparison on this page: per search at
their entry tier they are cheaper than me. $0.0040 against
$0.0050 on my
$10 tier. What differs is the entry: $40 a month against
$10, and 100 free requests once against a free tier that
renews. And nothing on their Booking page mentions pricing a property from a specific
country of residence, which is the whole point of
proxy_country.
I could not date these engines. Their changelog and sitemap both 404 for me, so "new to my record" is all I can honestly say about when they appeared.
Consider SearchApi if you want Booking.com, Airbnb, Google Hotels and Google Flights on one key at one flat search rate, and the $40 entry is fine.
9. Booking.com Demand API
Sits on: Booking.com inventory, directly. Best for: approved partners.
This is the official route, and the gate is the whole story. From developers.booking.com/demand, read 2026-09-02, the page asks "Are you a Managed Affiliate Partner? If so, this is for you!" It lists stays, car rentals and attractions, with flights and airport taxis described as coming soon. The overview page describes it as a way to "Seamlessly incorporate Booking.com inventory into your travel application" and mentions obtaining an authentication token as part of onboarding.
No price is stated on either page I read. I did not find published sign-up terms or a contract description on those pages either, which is a statement about the two pages I read and not about what the partner programme actually costs or requires.
Consider the Demand API if you are already a Managed Affiliate Partner, or can become one. Nothing on this page beats first-party inventory access if you can get it.
10. Amadeus Hotel Search
Observed state, 2026-09-02. The Self-Service hotel category URL
(developers.amadeus.com/self-service/category/hotels) and the Self-Service pricing
URL both return a 301 redirect to developers.amadeus.com/. The test sandbox host
test.api.amadeus.com did not resolve in DNS. The developer homepage itself returns
a JavaScript shell with no readable product text to the fetcher I used, so I could
not read a hotel product description or a price there at all.
I am not asserting a shutdown, a date, or that hotel APIs are gone from Amadeus. Enterprise access generally runs through an account manager and accreditation, which is a different purchase from anything else on this page. What I checked and what it returned is written above. The migration mapping for people arriving from Self-Service is at /compare/amadeus.
11. StayingAPI
Read 2026-09-10. A cross-OTA comparator rather than a single-source rate API. Their
own headline is "Availability, search & price — one call, every platform," and the
platforms they name are Airbnb, Booking.com, Vrbo and Google Hotels, returned in one
normalized schema. The endpoint they call the flagship is /v1/price-compare: you pass a
property name and dates and get back one offers array with a totalPrice per OTA plus a
min and a median. There is a REST API and a native MCP server, and their MCP page says
the MCP does OAuth 2.1 / PKCE.
Pricing is credit-based and published: Free/Sandbox gives 300 credits valid 90 days with no
card, Starter is $19 a month for 1,900 credits, Pro $99 for 9,900, Scale $499 for 49,900,
Enterprise custom. Their own note under the credit table reads "1 credit ≈ $0.01 nominal,"
and top-ups sell at a flat $0.0100 per credit. What a credit buys, from their own table:
/v1/price-compare 30 credits per call, /v1/search 2 credits per Airbnb result and 1 per
result elsewhere with a minimum of 5 per platform, /v1/availability and /v1/reviews 5,
/v1/listing/{id} and /v1/price 3, async job polling 0. They also state that failed and
empty calls are never charged.
Read the units before the sticker. At their own nominal rate a single cross-OTA compare is about $0.30 and a ten-result search on one platform about $0.10 to $0.20, against $0.0050 for a request on my $10 tier — but my request answers a Booking.com-only question and theirs answers a four-platform one. Those are different jobs, which is the whole point of this page. If what you need is Booking.com against Airbnb against Vrbo in one call, I do not sell that and they do.
12. Blue Pillow (B2A)
Read 2026-09-10. An agent-facing accommodation comparator. Their MCP listing describes
"Neutral hotel & stay price comparison for AI agents: live prices from 16+ booking
operators," and the six tools they document are b2a_get_key, resolve_destination,
discover_destinations_near, search_stays, get_property_details and
check_property_availability. check_property_availability is the interesting one: live
per-operator quotes and booking links for one property over one stay window.
They publish no price on the pages I read. Access is anonymous: their own text is "No
signup, no OAuth, no card," and the b2a_get_key tool hands out a permanent anonymous key
in-band. Their listing also scopes itself explicitly — accommodation search and booking
handoff, "not flights, attractions or restaurants."
I cannot tell you what this costs at volume, because they do not say, and I am not going to
guess. What it is worth knowing for a shortlist: a free, no-signup, multi-operator
comparator exists, it is in the public MCP registry as com.bluepillow/hotels, and if your
requirement is "show me who sells this room and for how much" rather than "give me
Booking.com's number," it belongs on your list.
Who should not use mine
Straightforwardly:
- You need more than Booking.com. One source is one source. Makcorps for many OTAs, SerpApi or HasData for Google Hotels, SearchApi for Booking.com and Airbnb on one key.
- You need one property's price from several OTAs in one answer. That is a
comparator, and I am not one. StayingAPI sells a
price-compareendpoint across Airbnb, Booking.com, Vrbo and Google Hotels; Blue Pillow returns per-operator quotes across what it calls 16+ booking operators. Sections 11 and 12. - You need Airbnb. I do not have it. SearchApi searches Airbnb by destination and dates, HasData scrapes it per request, StayAPI enriches a listing you already have.
- Your question starts from a listing you already know. Reviews, photos, calendars and cancellation terms per listing are StayAPI's shape, not mine.
- You are filling a warehouse, not a request. Bright Data delivers to S3 and Snowflake. I return JSON to a caller.
- You need amenities, coordinates or vacation rentals in the response. Not in my documented response keys. They are in SerpApi's.
- You want to sell the room. No data API here books anything. That is the Demand API, or a booking platform. The category map is at /guides/best-travel-data-apis-2026.
- You need thousands of requests a minute. My top published rate is 50 a minute.
How to test any of these yourself in an afternoon
Comparison pages, this one included, are the wrong way to decide. Four tests, on whichever two you shortlist:
- Ask for the response shape before you sign up. Every vendor here publishes it. If your feature needs a field, check the field exists rather than trusting the marketing line above it.
- Test a sold-out property. Pick a date where the hotel genuinely has nothing left. A good API says so. A weak one returns a stale price, or an empty body you cannot tell apart from a failure.
- Test a name that resolves ambiguously. "Hilton London" is many hotels. Watch whether you get a disambiguation, the wrong property, or an error you can act on.
- Check that empty and failed are different answers. Break the call on purpose:
a nonsense destination, a date in the past. If both come back as
200with an empty array, your monitoring will never catch an outage. This is the same trap that shows up on the flights side, written up in handling empty search results.
Then price your own job, in your own units, on both.
Related
- Booking.com Hotels API: the reference for mine
- Geo-pricing and rate parity: what
proxy_countryis for - Monitor hotel rate parity: the worked example
- FlightPowers vs SerpApi: the full quoted side by side
- The best travel data APIs in 2026: the category map, including booking-side options
- Flight data APIs: the same treatment, the other half of the trip
- Amadeus Self-Service alternatives: the same quoted-price treatment on the flights side, including HasData and SearchApi
Test it on a property you already know the price of
Live Booking.com rates as JSON, with proxy_country on every endpoint. Free tier on RapidAPI, no card to try.
Free tier: 10 requests/month. No card to try.