Google Hotel API · cross-OTA price-compare · REST + MCP
Compare one hotel’s price across every OTA — in one call.
SerpApi and SearchApi hand you a raw Google Hotels results page to parse. ScoutingAPI returns a normalized cross-OTA price comparison — every OTA’s rate for one property, plus a computed lowest and median — in the same schema you use for Airbnb, Booking, and Vrbo.
100 credits free · no credit card · failed calls cost 0 credits
GET /v1/price-compare
?name=D-Resort Sibenik
&checkIn=2026-07-13&checkOut=2026-07-20
&adults=2&children=2
¤cy=EUR{
"data": {
"property": "D-Resort Sibenik",
"checkIn": "2026-07-13",
"checkOut": "2026-07-20",
"currency": "EUR",
"min": 2870,
"median": 2910,
"offers": [
{ "ota": "google_hotels", "totalPrice": 2870, "currency": "EUR",
"url": "https://www.google.com/travel/hotels/entity/ChIJN1t.../prices" },
{ "ota": "booking.com", "totalPrice": 2910, "currency": "EUR",
"url": "https://www.booking.com/hotel/hr/d-resort-sibenik.html" },
{ "ota": "expedia", "totalPrice": 3025, "currency": "EUR",
"url": "https://www.expedia.com/Sibenik-Hotels-D-Resort-Sibenik.h123456" }
]
},
"meta": {
"platforms": ["google"], "cached": false, "creditsCharged": 5, "currency": "EUR",
"platformResults": [{ "platform": "google", "status": "ok", "count": 3 }],
"pagination": null
}
}Show, don’t sell
One property. Every OTA. Computed min & median.
This is an actual /v1/price-compare response, powered by Google Hotels. One call returns each OTA’s total price for the same hotel and dates, plus the lowest and median rate — no SERP to parse.
property + checkIn/checkOutThe hotel and the exact stay the comparison was run for.
minComputed lowest total price across every OTA offer — the answer in one field.
medianComputed median total across offers — a robust “fair price” signal vs a single outlier.
offers[].otaThe source for each price — google_hotels, booking.com, expedia — normalized.
offers[].totalPrice + currencyEach OTA’s total for the stay in one currency, ready to rank.
meta.creditsCharged5 credits for a successful price-compare — and 0 on a failed or empty call.
The same /v1/price-compare endpoint works for short-term rentals too — point it at a property and get every platform’s price with a computed min and median. Google Hotels is the cross-OTA backbone; the response shape never changes, whether you query a 4-star resort or a seafront villa.
Self-serve access
Instant access. No partner application. No sales call.
Google’s own Hotel APIs (Hotel Center, the Hotel Prices feed) are partner-gated, and SERP scrapers leave you to normalize raw results. ScoutingAPI is self-serve: sign up, get a key, and run a real cross-OTA comparison in under five minutes.
100 free credits — no credit card
Enough to build and test against real price-compare responses before you decide anything.
scout_test_ sandbox at zero cost
Deterministic fixtures wire up your integration before you ever spend a credit.
Predictable credits after that
Starter $19 · Pro $99 · Scale $499, or pay-as-you-go top-ups that never expire.
- 1Get your free key
- 2curl the /v1/price-compare example
- 3Ship
The trust wedge
Reliability you can build a product on.
SERP scrapers and RapidAPI listings give you raw data and a shrug. We run a product — monitoring, multi-source failover, retries, and caching behind one contract.
99.9% monthly uptime SLA
Committed on the ScoutingAPI response envelope and published on a public status page. Multi-source failover, retries, and caching sit behind one contract.
Failed calls cost 0 credits
Failed, empty, or blocked calls are never charged. If an OTA source is briefly unreachable you get a typed upstream_unavailable and we charge nothing — not the pay-per-attempt model of raw scrapers.
Honest scope, surfaced in meta
The SLA covers our envelope — accept, authenticate, meter, return a well-formed response. Upstream degradation is surfaced as meta.partial / upstream_unavailable with 0 credits. We don’t bill you for a source’s bad day.
Runnable in five minutes
Run a price comparison in five minutes.
Every sample is copy-paste runnable against your free key and generated from @scoutingapi/sdk, so it never drifts from the live API.
curl -s -G "https://api.scoutingapi.com/v1/price-compare" \
-H "Authorization: Bearer scout_test_YOUR_KEY" \
--data-urlencode "name=D-Resort Sibenik" \
--data-urlencode "checkIn=2026-07-13" \
--data-urlencode "checkOut=2026-07-20" \
--data-urlencode "adults=2" \
--data-urlencode "children=2" \
--data-urlencode "currency=EUR"
# Tip: your scout_test_ key returns deterministic fixtures at zero cost.The MCP tab adds ScoutingAPI’s native server (Streamable HTTP, OAuth 2.1 / PKCE) to Claude, Cursor, or n8n — then the agent calls compare_prices({ name: "D-Resort Sibenik", checkIn: "2026-07-13", checkOut: "2026-07-20" }) and reads back min, median, and every OTA offer.
The honest comparison
Google Hotels data: SERP scraper, gated Google API, hotel-only API, or ScoutingAPI?
| Capability | ScoutingAPI | SERP scraper (SerpApi / SearchApi / DataForSEO) | Google’s official Hotel APIs | Hotel-only price API (LiteAPI) |
|---|---|---|---|---|
| Access | Self-serve, free key in minutes | Self-serve, but raw SERP output | Partner-gated (Hotel Center approval) | Self-serve (hotels only) |
| What you get back | Normalized cross-OTA compare with min / median | Raw Google Hotels SERP listings | Feed/partner integration, not a compare API | Hotel rates (single source) |
| Platform coverage | Hotels + Airbnb + Booking + Vrbo (hotels and STR) | Whatever Google’s SERP shows | Hotels only | Hotels (and flights) only |
| Min / median computed | Yes — in every response | No — you compute it from rows | No | No |
| Output schema | One unified schema, hotels and homes | Raw SERP JSON you normalize | Google-specific | Hotel-specific |
| Reliability | 99.9% SLA, status page, failover | None (SERP availability, no SLA) | Platform-dependent | Vendor-dependent |
| Failed-call billing | Free — 0 credits | You pay per request | n/a | n/a |
| Agent-native (MCP) | First-class MCP + OAuth + Connectors | No | No | MCP-native (hotels only) |
| Pricing | Predictable credits + free tier | Per-request, SERP-priced | Contracts / partnership | Per-call, hotels only |
The honest read: SERP scrapers give you raw Google listings to normalize and price yourself; Google’s official APIs are a gated partner feed, not a compare endpoint; hotel-only APIs cover half the map. ScoutingAPI returns the comparison done — every OTA, computed min / median, hotels and short-term rentals, one schema, with an SLA.
Built for real work
What developers and agents build on cross-OTA price-compare.
Not “scrape the SERP” — the outcomes a specific reader recognizes, with the comparison already computed.
Rate-shopping & meta-search apps
Show travelers the cheapest bookable rate for a property across every OTA, with a clear lowest-vs-median signal — the engine of a meta-search experience in one call.
Price-drop monitoring & alerts
Track a property and date range; fire a Slack, email, or Telegram alert when the min drops below a threshold — failed polls are free, so watching costs nothing on a miss.
Travel-planning agents
Give your AI agent a “find the cheapest rate” tool: it calls compare_prices, reads min and median, and books or recommends the lowest offer — across hotels and rentals.
Agency cheapest-rate reports
The executive-retreat agency that “stopped checking four sites by hand” now runs one price-compare per property and ships a cheapest-rate report with min / median for the whole shortlist.
Market-rate intelligence
Aggregate min / median across a market and date range to map where rates sit — feed dashboards and pricing models with live cross-OTA data, not stale estimates.
Dynamic & competitive pricing
Benchmark your nightly rate against the live cross-OTA median for comparable inventory and the same dates; feed a pricing engine that prices to the market, not a guess.
Answers
Google Hotel API — frequently asked questions
The questions developers actually search — answered in full, with FAQ structured data for rich results.
Get your free Google Hotel API key.
100 credits, no credit card. Run your first cross-OTA comparison in under five minutes.
No credit card · failed calls cost 0 credits · native MCP included