Hotel price API

Hotel price API for rate shopping and rate parity

A hotel price API returns what a room costs for a given stay on each site that sells it. This one reads Google Hotels, Booking.com, Expedia, Hotels.com, Agoda and the hotel’s own website, so an independent hotel, a small group or a revenue consultant can shop a comp set and check parity from one key.

Free trial: 50 calls, no card. Failed requests are free. Credit packs from $15.

Sources and prices checked against the API on .

Every industry we cover

Rate shopping and parity checks run on the same raw material: the price of one stay, on one date, on every channel, read the same way every day. Revenue tools sell that as a screen. When the numbers belong in your own spreadsheet, BI tool or pricing model, you need them as data, without a scraper per site that breaks each time the site changes or starts blocking.

Here each channel has its own endpoint with typed fields: Google’s forward calendar for months of nights in one call, every seller Google shows for one night, each OTA’s own rooms and rate plans, and the hotel’s own booking engine, read from its website (the API supports over 50 booking engines, with more added regularly). Prices keep base, taxes, fees and total apart, so the direct rate and an OTA rate compare like for like.

Not a developer? Ask for a free parity check

Tell us your hotel and the months you care about. We compare your website with the OTAs on sample nights and email you the report within one business day.

Request a free rate parity check

The blocks are our problem

  • Blocks and bot checks. A block, a rate limit or a bot-check page is detected and the request is retried automatically; you get the answer, not the failed attempts.
  • Rate limits and IP addresses are handled for you. There is nothing to buy, rotate or warm up.
  • Site changes are ours to fix. Every hour, live checks call the routes customers rely on most against the real sites.
  • Failed calls are free. You pay a fixed credit price only for results.
How we keep the data flowing

Who it is for

Independent hotels

See where your comp set sits for the coming months and catch an OTA selling below your website, without a rate-shopping contract. A few calls a day cover one property.

Small hotel groups

One key for every property. Queue each hotel’s comp set as one batch job, get a signed webhook when the rates are in, and load them into the reports you already use.

Revenue-management consultants

Run a comp set and a parity check for each client from one account. Billing is per successful call, not per hotel or per seat, so a new client adds calls, not a contract.

Sources on the same key

Each one returns typed JSON fields, not HTML to parse. Prices are credits per successful call.

Google Hotels

Forward rate calendars and destination search

From 2 credits

Official hotel websites

Direct booking rates and parity checks

4 credits

OTA rate comparison

Rate parity in one call

30 credits

Booking.com

Booking.com's own prices, rooms and reviews

From 2 credits

Expedia

Expedia's own rooms and rate plans

From 2 credits

Hotels.com

Expedia Group inventory by date

From 2 credits

Agoda

Asia-Pacific coverage

From 2 credits

Trivago

Every booking site's price for one hotel at once

12 credits

Tripadvisor

Metasearch offers, place details and reviews

From 1 credit

One call, structured JSON

POST /v1/offers, 10 credits per successful call.

curl -X POST "https://api.scrapercompany.com/v1/offers" \
  -H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "token": "ChUIoben2Mv6-CYaCi9tLzA3czVwbjQQAQ",
    "check_in": "2026-12-26",
    "nights": 1,
    "market": "US",
    "currency": "USD"
  }'
Response (trimmed)
{
  "token": "ChUIoben2Mv6-CYaCi9tLzA3czVwbjQQAQ",
  "check_in": "2026-12-21",
  "check_out": "2026-12-22",
  "nights": 1,
  "adults": 2,
  "device": "iphone",
  "coverage": 2,
  "currency": "USD",
  "currency_matches_request": true,
  "rates_include_tax": false,
  "requested_market": "US",
  "lowest_price_per_night": 303.67,
  "rooms_total": 173,
  "carried_room_detail": true,
  "renders": 1,
  "name": "Hilton Chicago",
  "hotel_class": "4-star hotel",
  "hotel_class_stars": 4,
  "rating": 4.3,
  "reviews": 10686,
  "deal": "25% less than usual",
  "has_deal": true,
  "deal_description": "Great Deal",
  "price_insights": {
    "lowest_price": "$304",
    "price_level": "typical",
    "typical_price_range": {
      "low_price": "$304",
      "high_price": "$521"
    }
  },
  "sources": [
    "Official site",
    "Booking.com"
  ],
  "missing_sources": [],
  "refundable_offers": 2,
  "elapsed_s": 1.14,
  "warnings": [],
  "offers": [
    {
      "source": "Official site",
      "raw_source": "Hilton Chicago",
      "is_official": true,
      "nights": 1,
      "currency": "USD",
      "price_per_night": 499.44,
      "price_per_night_before_taxes": 420.05,
      "tax": 79.39,
      "total": 499.44,
      "has_free_cancellation": true,
      "free_cancellation_until": "2026-12-17",
      "free_cancellation_time": "23:59",
      "room_id": "rate-plan-42",
      "rate_plan_id": "rate-plan-42",
      "provenance": {
        "schema_version": 1,
        "observation_id": "rateobs_0123456789abcdef0123456789abcdef",
        "collection_id": "ratecol_0123456789abcdef0123456789abcdef",
        "observed_at": "2026-08-07T01:23:45.678Z",
        "source": "google_hotels_property_offers",
        "source_kind": "offer",
        "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"
      },
      "rooms": [
        {
          "name": "1 KING BED",
          "description": "1 bed",
          "beds": 1,
          "is_suite": false,
          "price_before_taxes": 420.06,
          "price_total": 499.45,
          "has_free_cancellation": true,
          "free_cancellation_until": "2026-12-17",
          "free_cancellation_time": "23:59",
          "link": "https://www.google.com/aclk?...",
          "thumbnail": "https://lh3.googleusercontent.com/...",
          "rate_plans": [
            {
              "price_before_taxes": 420.06,
              "price_total": 499.45,
              "link": "https://www.google.com/aclk?...",
              "free_cancellation_until": "2026-12-17",
              "free_cancellation_time": "23:59",
              "refundable": true,
              "rate_category": "unknown"
            },
            {
              "price_before_taxes": 455.06,
              "price_total": 541.1,
              "link": "https://www.google.com/aclk?...",
              "free_cancellation_until": "2026-12-17",
              "free_cancellation_time": "23:59",
              "refundable": true,
              "meal_plan": "breakfast",
              "rate_category": "unknown"
            }
          ]
        }
      ]
    }
  ]
}

What teams build, and what it costs

Illustrative jobs priced from the credit schedule, 30 days a month. Failed calls would cost nothing.

An independent hotel watches its comp set

A 120-room city hotel reads a 90-night Google Hotels calendar for itself and six competitors every morning, and sees where it ranks on each night.

  • 7 Google Hotels calendars a day, POST /v1/calendar

1,680 credits a month

Fits the Starter plan ($49 a month)

A four-hotel group checks parity each morning

For the next 14 nights at each hotel, the group reads its own website rate and every seller Google shows, and flags any OTA below the direct rate.

  • 56 official-site checks a day, POST /v1/official
  • 56 every-seller checks a day, POST /v1/offers

23,520 credits a month

Fits the Starter plan ($49 a month)

A revenue consultant with 15 clients

Each client gets a daily calendar for itself and five competitors, plus a weekly OTA comparison on its seven busiest nights.

  • 90 Google Hotels calendars a day, POST /v1/calendar
  • 15 OTA comparisons a day, POST /v1/ota/compare

35,100 credits a month

Fits the Starter plan ($49 a month)

Estimate your own volume

Step by step, by use case

Competitor rate shopping

What will our comp set charge for the next 90 nights?

Rate parity monitoring

Is an OTA undercutting our direct rate?

Rate-code matching

Are we comparing the same rate on every channel?

Review monitoring

What are guests saying about us, and are we replying?

What is a hotel price API?

An API that returns hotel room prices as data: the rate for a stay on given dates, from the sites that sell it. This one covers Google Hotels, the major OTAs and hotels’ own websites, and returns JSON with base, taxes, fees and total kept apart wherever the site shows them.

Is this a booking API?

No. It reads public prices and availability. It holds no inventory, takes no bookings and has no net rates, so use it to shop rates, check parity and price your own offers.

Can it read my own hotel’s website rate?

Yes. Give the hotel’s website and the API finds its booking engine and returns the rooms and rate plans sold direct, member rates included where shown. It supports over 50 booking engines, with more added regularly.

How far ahead can I shop rates?

The Google Hotels calendar returns up to 330 nights per call (90 by default) for one hotel. OTA rooms and the official site are read one stay at a time, for the nights that matter.

How do I compare an OTA rate with my direct rate fairly?

Compare the same room, stay length, occupancy and price basis. Each answer says whether its price includes taxes and fees, and official-site rate plans carry a normalised category (best available, member, advance purchase and others), so you match like with like.

Do failed requests cost credits?

No. A failed or blocked call (any 4xx or 5xx response) costs 0 credits, and so does a search page that comes back empty. You pay only for successful results.

How do I get an API key?

Create an account on the sign-up page and verify your email. You get a free trial of 50 calls or 14 days, whichever ends first, no card needed on the travel endpoints (hotels, rentals, flights, reviews); for everything else, and after the trial, buy a credit pack (from $15) or pick a plan. You create and rotate keys yourself in the dashboard.

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.