Hotel, rental and flight data API

Travel prices you can build a business on

Hotel, rental and flight rates from everywhere they are sold, compared like for like, as structured JSON. One key, a fixed credit price per call, and failed calls are free.

POST /v1/calendar { "token": "ChUIoben2Mv6…", "days": 330 }

200 OK330 nights8 credits

NovDecJanFebMarApr
MayJunJulAugSep
stay_date
Wed, Mar 17, 2027
rate_total
$287.00
rate_base
$238.97
tax
$39.03
fees
$9.00
lowerhigher unpriced

Example response, illustrative rates · provenance: google_hotels_calendar · observed 2026-11-01

One call to /v1/calendar: up to 330 nights per call (90 by default), shown as a heatmap. Rates are illustrative. Hover or tap a night.

Built for teams that price travel

Start from the data you need. Every group below uses the same key, the same credit meter and the same JSON conventions.

Vacation-rental data

Nightly prices and availability for Airbnb and Vrbo listings, for pricing tools, market dashboards and property managers.

Hotel tech

Rate shopping, parity and revenue tools that need every channel’s price: OTAs, Google and 50+ official booking engines, matched by rate code.

Search and SERP data

Google Search with People Also Ask and AI Overviews, Maps places, News and Trends as JSON, for SEO, research and monitoring tools.

Flight data

Google Flights itineraries, date grids and booking options for fare trackers, travel apps and price alerts.

Jobs data

LinkedIn and Indeed postings and company careers boards as structured records, for recruiting, labour-market and sales tools.

AI agents

An MCP server with 133 tools in 16 groups, so an assistant answers with live prices and says what each answer cost.

What you get that a scraper doesn’t

Six things the API does on every call, each shown with the data it returns.

Like-for-like rates

A non-refundable rate on one site and a member price on another are not the same offer. Every plan carries a normalised rate_category, the brand’s own rate_code where it has one, and qualified rates (AAA, senior, government) on request.

How rates are matched
SourcePlan as soldrate_categoryTotal
Booking.comNon-refundable, room onlyadvance_purchase$212.40
ExpediaMember pricemember$219.00
Official siteAAA ratequalified$205.10
Official siteBest available ratebar$228.00
Illustrative rates for a fictional hotel, one night.

Reliability you can see

The website, the API and sign-in are checked every 60 seconds, with history anyone can read on the public status page. Every hour, live checks call the routes customers rely on most against the real sites. When a site changes its pages, extraction falls back to other paths and checks the result before it is returned.

How we keep the data flowing
Status checks every 60 seconds, a source page redesigned while the JSON keeps its shape, and a failed call charged 0 credits.

Proof on every number

Each calendar rate says where and when it was observed and how the price was derived, so a number in your warehouse can be traced to its source. Every request, and the response it returned, can be opened in your dashboard.

See a calendar answer
"provenance": {
  "schema_version": 1,
  "observation_id": "rateobs_0123456789abcdef0123456789abcdef",
  "collection_id": "ratecol_0123456789abcdef0123456789abcdef",
  "observed_at": "2026-08-07T01:23:45.678Z",
  "source": "google_hotels_calendar",
  "source_kind": "calendar",
  "source_property_id": "ChUIoben2Mv6-CYaCi9tLzA3czVwbjQQAQ",
  "requested_market": "US",
  "requested_currency": "USD",
  "returned_currency": "USD",
  "price_basis": "room_base_before_taxes_and_fees",
  "derivation": "normalized_upstream"
}
From the /v1/calendar example in the public OpenAPI spec.

A whole horizon in one call

One calendar call returns up to 330 nights per call (90 by default) for one hotel. Send a whole comp set as one job and collect every calendar when it is ready.

Shop a comp set every morning
curl -X POST https://api.scrapercompany.com/v1/calendar \
  -H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "token": "ChUIoben2Mv6-CYaCi9tLzA3czVwbjQQAQ", "days": 330 }'
8 credits for the call, whatever the horizon.

Ready for AI agents

133 MCP tools in 16 groups, signed in with OAuth or your API key. The default set is read-only, and each tool’s credit cost is listed in the docs.

  • resolve_hotel
  • resolve_google_hotel
  • find_hotel_everywhere
  • hotel_link_ids
  • hotel_destination_search
  • expedia_find_hotel
A few of the default tools.

Coverage on one key

OTAs, Google Hotels and Flights, vacation rentals and 50+ official booking engines, plus reviews, search, jobs, retail, app stores and property listings on the same key.

Every API
  • Google Hotels
  • Google Flights
  • Booking.com
  • Expedia
  • Hotels.com
  • Tripadvisor
  • Airbnb
  • Agoda
  • Vrbo
  • Hostelworld
  • Trustpilot
  • G2
  • Google Play
  • App Store
  • Rightmove
  • Domain
  • + over 50 hotel booking engines

A fixed credit price per call

Failed requests are free. Start with a free trial, then pick a plan by monthly volume or buy a credit pack from $15.

See every plan

Starter

Monitor a portfolio of properties every day.

$49a month

40,000 credits a month

$1.22 per 1,000 credits

Subscribe to Starter

Most popular

Growth

Rate shopping across OTAs and official sites.

$149a month

150,000 credits a month

$0.99 per 1,000 credits

19% less per credit than Starter

Subscribe to Growth

Scale

Market-wide sweeps and high-volume pipelines.

$399a month

500,000 credits a month

$0.80 per 1,000 credits

35% less per credit than Starter

Subscribe to Scale

Need more than 1,500,000 credits a month? Get custom pricing

Questions teams ask first

What is ScraperCompany?

A hotel and travel data API. One API key returns Google Hotels prices and calendars, Google Flights itineraries, rates from Booking.com, Expedia, Agoda and other OTAs, hotels’ own booking engines and guest reviews as structured JSON, plus Google Search, Maps, News and Images, and jobs, YouTube and app-store data.

How is it different from a general SERP API?

It is built for travel data. A Google Hotels calendar returns up to 330 nights per call (90 by default) for one hotel, prices keep base, taxes, fees and total apart, and every calendar rate carries when and how it was observed. Hotel rates also come directly from the OTAs and official sites, matched by rate code, not only from Google.

How much does it cost?

Every successful call costs a fixed number of credits, for example 8 for a hotel calendar and 4 for a flight search. Plans run from Starter ($49 a month) to Business ($999 for 1,500,000 credits), or buy one-time credit packs from $15. New accounts get a free trial of 50 calls or 14 days, whichever ends first, with no card needed.

Do failed requests cost credits?

No. Failed or blocked calls (any 4xx or 5xx response) and empty search pages cost 0 credits.

Can I switch from another SERP API?

Yes. The SERP-compatible routes for Google Hotels, Google Flights and Airbnb accept the standard parameter names and return the standard response shapes, so most integrations change only the base URL and the key.

Can AI agents use it?

Yes. Besides the REST API, an MCP server gives Claude, Cursor and other MCP clients tools for hotel rates, flights, vacation rentals, reviews and more. It signs in with OAuth or the same API key, and the default tool set is read-only.

How do I get an API key?

Create an account on the sign-up page and verify your email, then create and rotate keys yourself in the dashboard. Your free trial starts as soon as your email is verified.

Start with 50 free calls

Create an account and verify your email: your own API keys and a free trial of 50 calls or 14 days, whichever ends first, no card needed. Then buy a credit pack from $15 or pick a plan from $49 a month.