Hotel rate parity API

Hotel rate parity API: your price on every booking site

Send one hotel and your dates. You get its price on every booking site Google lists, including the hotel's own website, with the nightly rate, the stay total and a flag on paid listings.

per 1,000 calls
€1.50
per call
€0.0015
0.15 cents
rows per call
up to 1
per 1,000 rows
≈ €1.50

One hotel, every booking site, one call

The hotel rate parity API returns one hotel's prices from every booking site Google shows for your dates: nightly rate, total for the stay, and whether the listing is a paid ad. One call covers one hotel and costs €0.0015, so 1,000 hotel and date checks cost €1.50. Prices for our other sources are on the all data APIs and prices page. Save your hotels once, and every run's booking site prices are stored in your Scrapewise account for the table, Excel, your AI assistant or the API.

We tested five Paris hotels on 16 September 2026 for 14 to 16 October. Each one came back with between 17 and 36 booking sites. Le VIP Paris Yacht Hotel sold on its own website at $203.55 a night. Booking.com had it at $222.52 and Hotels.com at $322.22. Bluepillow.com and Vio.com both listed it at about $176, roughly $27 under the hotel's own price. A guest comparing on Google sees that gap before the hotel does.

The Hoxton, Paris went the other way. Its own website asked $627.70 a night, and 19 of its 32 booking sites sold the same two nights for less, the cheapest at $518.23. If you're paying commission on most of your bookings, that row explains why.

You choose which hotels to check. Run a Google Hotels search, keep the detail token of your own hotel and your competitors, and send each one with check-in and check-out dates. Nothing runs on every hotel in a search by itself, so you only pay for the hotels you pick.

Who checks parity with this

  • Independent hotels selling direct

    Check your own hotel for each of the next 30 nights every morning. That's 900 calls, or €1.35 a month, and you'll see the first day a site prices under your website.

  • Revenue managers

    Export the gap between your direct rate and the cheapest site, per property and per night. Sort by the biggest gap and you have the morning's parity report.

  • Small travel agencies

    Before booking a client, check which site has the room cheapest for their dates. For Novotel Suites Paris Stade de France the spread ran from $143.13 to $217.83 a night across 30 sites.

  • Deal-sharing groups

    A hotel that's much cheaper on one site than everywhere else is worth a post. Flag any site priced 15% or more under the middle price for the same hotel and dates.

How it works

  1. Find the hotels

    Run a Google Hotels search for your city and dates. Keep the detail tokens for your hotel and the competitors you track.

  2. Send hotel and dates

    Send the token with check-in and check-out dates, and a currency if you want. Each hotel is one call, and every run is saved with its date.

  3. Compare the sites

    Each booking site is its own numbered set of columns. Filter the table or export Excel, pull rows by API, or ask your AI assistant: 'which booking site had the lowest rate for my hotel each day this week?'

Set it up once. The data keeps coming.

Save your search once and it runs by itself. Every run lands in your own Scrapewise database, and you pick how to read it.

  1. Set it up once

    Add your ASINs, keywords, places or apps to a scraper in the web app. New accounts get 5 free requests.

  2. Runs on your schedule

    Pick daily, weekly on the days you choose, every few days, or the first or last day of the month. Scheduled runs start at night, European time. Need it more often? Start runs from your own code.

  3. Saved in your database

    Each run adds dated rows, so this week sits next to last week. Rows are kept for 90 days.

  4. Use it your way

    Open the table in the web app and download the latest run as an Excel file. Ask your own AI assistant about it. Or pull the rows into your code with an API key.

Ask your AI assistant about your own data

Connect Claude Desktop, Claude Code or another MCP app with a read-only key. The assistant reads the rows you've already collected, at no extra cost on Scrapewise. With a full-access key it can start a run for you too.

  • Which of my ASINs lost the Buy Box this week?
  • Which competitor cut prices the most since Monday?
  • Show the keywords where I dropped out of the top 10.

What you send and what you get back

You send one hotel and a pair of dates. You get back one row with every booking site Google lists for them, up to 36 in our tests, each with its nightly rate and stay total.

You give
  • Hotel from a Google Hotels resultrequired
    Q2hnSWxxRDFzWWU0OUlLUUFSb0xMMm…
  • Check-in daterequired
    2026-10-14
  • Check-out daterequired
    2026-10-16
  • Currencyoptional
    USD
You get

Up to 1 rows per call, 384 columns each

  • sw status
  • sw source url
  • sw title
  • sw url
  • sw external id
  • sw id kind
  • sw image
  • sw price
  • sw currency
  • sw price unit
  • sw seller
  • sw sponsored
  • +372 more, see all columns

Sample rows: five Paris hotels, 14 to 16 October 2026

Real results from 16 September 2026, prices in US dollars. Each hotel is one row and each booking site adds 11 columns, so the table has 384 columns. Scroll sideways to see them all.

5 sample rows, showing 15 of 384 columns.

5 sample rows, showing 15 of 384 columns.
sw status_sw_statusResult of this row: OK, no results, or an errorsw source url_sw_source_urlThe input you gave: a link, keyword or IDsw title_sw_titleMain name of the itemsw url_sw_urlDirect link to the itemsw external id_sw_external_idThe site's own ID for this itemsw id kind_sw_id_kindWhat kind of ID the external ID issw image_sw_imageMain image linksw price_sw_pricePrice as a numbersw currency_sw_currencyCurrency of the pricesw price unit_sw_price_unitWhat the price covers: item, night, trip, offersw seller_sw_sellerWho sells or publishes itsw sponsored_sw_sponsoredTrue when the result is a paid placementsw location_sw_locationPlace the result is priced or ranked forsw fetched at_sw_fetched_atWhen we collected this row (UTC)detail_tokendetail_tokenToken to fetch hotel price detail
OKhttps://www.google.com/travel/search?q=Paris+hotelsLe VIP Paris - Yacht Hotel/aclk?sa=l&ai=DChsSEwit4Jv24PKWAxW9jMIIHbiBAzYYACICCAEQGRoCamY&co=1&ase=2&gclid=EAIaIQobChMIreCb9uDylgMVvYzCCB24gQM2EAoYASABEgIcUPD_BwE&cid=CAASugHkaG94aAMIEYIkV25bh4kw_dWmnJpLUolIPMoL-a_a8va3QIRI6-9NicsRdN1sC-GNPP6m6lJPszqA0ZSTsDV4r41Fm4t9ITsGgrRlKpccOkkF7eNkIDso-6WG6YDgE4RnmceyzqE9rrMzakVAu9ftkOvgCRpJSgZPi1LXQniLSXBCcQepF7MaL4qIijzgPsF7m7Yk-D2fwxMo1XL6R7n11M60ApcYuIbUKUitJo2cVSuOtdNYdWkUE48&category=acrcp_v1_48&sig=AOD64_219SsJxOdsN8h0LyHAuZ7lL2g3Nw&adurlQ2hnSWxxRDFzWWU0OUlLUUFSb0xMMmN2TVhSa2NEaDVhRE1RQVF8MHg0N2U2NzIxYmU2NzU4NGQxOjB4OTAwNWQxYzA3NjNkNTAxNnwwODUyODQbooking_token//www.gstatic.com/travel-hotels/branding/306127930749010778.png322.22USDnightHotels.comtrue2026-10-14 to 2026-10-162026-09-16T10:58:45ZQ2hnSWxxRDFzWWU0OUlLUUFSb0xMMmN2TVhSa2NEaDVhRE1RQVF8MHg0N2U2NzIxYmU2NzU4NGQxOjB4OTAwNWQxYzA3NjNkNTAxNnwwODUyODQ
OKhttps://www.google.com/travel/search?q=Paris+hotelsThe Hoxton, Paris/aclk?sa=l&ai=DChsSEwiSgqa3lvOWAxWxgloFHZsDDzcYACICCAEQNBoCdnU&co=1&ase=2&gclid=EAIaIQobChMIkoKmt5bzlgMVsYJaBR2bAw83EAoYASABEgJicfD_BwE&cid=CAASugHkaAEfSkwT4cfwQ0iR4ompFptC7sZmAnfrkYz0i9jiy0yAX_H41IPLRwU4M4CUUQXoFdqkyx9F2giBfLdzbtxu_SIEdRF8k8ha9vI_tXr1_DwZkd6FrGcSY165Y8hCsK7eZLmo9ggDN-X0f6bcRLXrV_ddLI4hE_iwE3kCSM3JzwbV2HbzwPRWKnNYCIUJgCBo_yGP3gFKh1wCUb2dJ4FmZX_mLdC3YavGdokkpBmYpVkK5DgaCaV0YK0&category=acrcp_v1_48&sig=AOD64_3v-opB7TWv0vvAoueL08h4fUM2Vg&adurlQ2hrSTNadTZpN0NFMWU1TUdnMHZaeTh4TVdSNGNXcHdiWGw1RUFFfDB4NDdlNjZlMTYxNTNmZWVhYjoweDRjZGQ1NDIzMDE2ZThkZGR8MDg1Mjg0booking_token//www.gstatic.com/travel-hotels/branding/306127930749010778.png608.44USDnightHotels.comtrue2026-10-14 to 2026-10-162026-09-16T10:59:22ZQ2hrSTNadTZpN0NFMWU1TUdnMHZaeTh4TVdSNGNXcHdiWGw1RUFFfDB4NDdlNjZlMTYxNTNmZWVhYjoweDRjZGQ1NDIzMDE2ZThkZGR8MDg1Mjg0
OKhttps://www.google.com/travel/search?q=Paris+hotelsQ2hvSXA3UHVtX0tYak82ekFSb05MMmN2TVRGeWFtNHlZek4wYmhBQnwweDQ3ZTY3MTcxMGE4OGVmMTc6MHhiM2RjMzBiZjIzN2I5OWE3fDg2MDQzOA/aclk?sa=l&ai=DChsSEwiZnp66lvOWAxXkEEQIHRaTEmcYACICCAEQBRoCZHo&co=1&ase=2&gclid=EAIaIQobChMImZ6eupbzlgMV5BBECB0WkxJnEAoYASABEgJLvfD_BwE&cid=CAASugHkaMmpkgiZryuskRX6IK9gye_3q0z45GvKqNX_M1lefs7OPLZ5iNgiXHazZnuSyLXiOi827uIOy9RifKMeu7Gegex8QAbQQaUUYCvr_NtNnCSb3sa01IiYQbK73zV8x9DP-KI0F6ZZQ_pyLBnMaS6plCc0ZmKY_2EkPTA0VP_wjvIm9LDE4-H6HXS7RBXKXZ8dq8O1nmm7q1eZf4zch_LiYQp9Nz36196g4imKUEvT49KtKofgbHEWmw4&category=acrcp_v1_48&sig=AOD64_1AOQtJ9h63JP9_djJGegLYtAQZag&adurlQ2hvSXA3UHVtX0tYak82ekFSb05MMmN2TVRGeWFtNHlZek4wYmhBQnwweDQ3ZTY3MTcxMGE4OGVmMTc6MHhiM2RjMzBiZjIzN2I5OWE3fDg2MDQzOAbooking_token//www.gstatic.com/travel-hotels/branding/ac238c97-1652-4830-8da8-bb8d8883af88.png776.25USDnightExpedia.comtrue2026-10-14 to 2026-10-162026-09-16T10:59:59ZQ2hvSXA3UHVtX0tYak82ekFSb05MMmN2TVRGeWFtNHlZek4wYmhBQnwweDQ3ZTY3MTcxMGE4OGVmMTc6MHhiM2RjMzBiZjIzN2I5OWE3fDg2MDQzOA
OKhttps://www.google.com/travel/search?q=Paris+hotelsHôtel Madame Rêve/aclk?sa=l&ai=DChsSEwiE2Ku3lvOWAxV3nloFHQF2DGcYACICCAEQDhoCdnU&co=1&ase=2&gclid=EAIaIQobChMIhNirt5bzlgMVd55aBR0BdgxnEAoYASABEgL9WvD_BwE&cid=CAASugHkaNrYhknnvqaBtYOWwpW5zmUwPt_tJfmmLGaI5dxZWs8zWbaALhxAXD7TXC4STn40mw0OQhQRmCUCwTgOBw7A0d_KhnNkrMIKa6MR-jvzv4paZVUmVWR3RxCznbZQtS0MwyHtp5RK_azDXbYd-FS-E-t1tnvsGc9Ut7Re_QK6VV763ubnJ9aSvI0v9iN0zuP9CpZ8RMdie0j-6iDXUUL18qBIp-Qd_cjZgWtAA5QPHOghch4Cq2GYxwc&category=acrcp_v1_48&sig=AOD64_2HTq16srcNa16pmWKZs4cJwn_4CA&adurlQ2hrSW1jejRxdC1MMTVoUEdnMHZaeTh4TVhCeU0zcHFZMk42RUFFfDB4NDdlNjZmYjczZTJlNGZjOToweDRmMzE1YzVkZjU1ZTI2MTl8MDg1Mjg0booking_token//www.gstatic.com/travel-hotels/branding/ac238c97-1652-4830-8da8-bb8d8883af88.png975.16USDnightExpedia.comtrue2026-10-14 to 2026-10-162026-09-16T11:00:36ZQ2hrSW1jejRxdC1MMTVoUEdnMHZaeTh4TVhCeU0zcHFZMk42RUFFfDB4NDdlNjZmYjczZTJlNGZjOToweDRmMzE1YzVkZjU1ZTI2MTl8MDg1Mjg0
OKhttps://www.google.com/travel/search?q=Paris+hotelsNovotel Suites Paris Stade de France/aclk?sa=l&ai=DChsSEwj9jaW3lvOWAxVOTkcBHRb7F4gYACICCAEQHxoCcXU&co=1&ase=2&gclid=EAIaIQobChMI_Y2lt5bzlgMVTk5HAR0W-xeIEAoYASABEgKtBfD_BwE&cid=CAASugHkaKJJ50UJnFMtQxDGDsTjJ4C9lrzencxVcMwsUnfczJv31nNF2WdkCL4yiX2dTvSO6gqsibKWYSjb3btP5p98vlqsh95rMj_lZD98ElMC0GWHosf3f1w5L7xC0XFl0TBhZlk0bCI35CJTdKQIQo5JkLjgCQZnIzp25yI1MrUCZ3ilYRNlo1eyxBjjdrVZNDklm15Jc7piO0zf51Ml1_cyhNfGDwGSB6weFKSILI-44I9_e1fp_NmbeHc&category=acrcp_v1_48&sig=AOD64_2Mm3p5iNC5UHU4xRDv7FcE7qeiKg&adurlQ2hrSTFONnYwY0M0cGZtcEFSb01MMmN2TVRKeE5IaHlOSGgwRUFFfDB4NDdlNjZlYTUyMjE4YzJhZjoweGE5ZjI5NWM0MGEyYmVmNTR8MDg1Mjg0booking_token//www.gstatic.com/travel-hotels/branding/ac238c97-1652-4830-8da8-bb8d8883af88.png181.61USDnightExpedia.comtrue2026-10-14 to 2026-10-162026-09-16T11:01:13ZQ2hrSTFONnYwY0M0cGZtcEFSb01MMmN2TVRKeE5IaHlOSGgwRUFFfDB4NDdlNjZlYTUyMjE4YzJhZjoweGE5ZjI5NWM0MGEyYmVmNTR8MDg1Mjg0

Columns explained

Each call returns one hotel as one row. The first columns summarize the hotel and the first site in Google's list. After that, every booking site gets the same 11 columns under its own number: booking_sources[0] is the first site Google lists, booking_sources[1] the second, and so on up to booking_sources[35]. The widest hotel in our test had 36 sites, so the table holds 36 slots. Hotels with fewer sites leave the higher numbers empty.

Summary for the hotel

Hotel name, Google's hotel ID, and the first listed site's nightly price, currency, name, link, logo and ad flag. The price unit is night, the location column holds your dates, and the fetch time is in UTC.

  • sw status
  • sw source url
  • sw title
  • sw url
  • sw external id
  • sw id kind
  • sw image
  • sw price
  • sw currency
  • sw price unit
  • sw seller
  • sw sponsored
  • sw location
  • sw fetched at

Hotel and dates

The detail token you sent, and the check-in date, check-out date and currency the prices are for.

  • detail_token
  • ctx_search_parameters_check_in_date
  • ctx_search_parameters_check_out_date
  • ctx_search_parameters_currency

Each booking site (first slot shown)

Whether the listing is an ad, the site's name and Google's ID for it, the click-through link and logo, then the nightly rate and the stay total, each as display text, a number and a currency. When the site is the hotel itself, the name is the hotel's name.

  • booking_sources[0]_sponsored
  • booking_sources[0]_name
  • booking_sources[0]_id
  • booking_sources[0]_click
  • booking_sources[0]_icon
  • booking_sources[0]_rate_per_night_display
  • booking_sources[0]_rate_per_night_amount
  • booking_sources[0]_rate_per_night_currency
  • booking_sources[0]_total_rate_display
  • booking_sources[0]_total_rate_amount
  • booking_sources[0]_total_rate_currency

Slots 2 to 36

The same 11 columns repeat for every other site, numbered 1 to 35 in Google's order. For example, the second site's name and nightly price, and the last slot's name and total.

  • booking_sources[1]_name
  • booking_sources[1]_sponsored
  • booking_sources[1]_rate_per_night_amount
  • booking_sources[1]_total_rate_amount
  • booking_sources[35]_name
  • booking_sources[35]_rate_per_night_amount
  • booking_sources[35]_total_rate_amount

What you can do with booking-site prices

01

Catch rate parity breaks

Compare each site's nightly rate with your own website's and flag anything cheaper. Run it for 30 nights ahead and you'll see whether a break is one date or a pattern.

02

Check your direct link shows up

Your hotel should appear in the list under its own name. Four of our five Paris hotels did. Hôtel Madame Rêve didn't, so guests comparing on Google had no way to book it direct.

03

See who pays for the top spots

The sponsored flag marks paid listings. For every hotel in our test, the first four to six sites were ads, mostly Expedia, Hotels.com, Booking.com and Travelocity.

04

Audit a competitor's distribution

Run a rival hotel and list the sites that sell it. A competitor on 36 sites and your hotel on 17 reach very different audiences, and the list shows which sites to talk to.

05

Report parity to the owner

Export the gap between your direct rate and the cheapest site, by night, for the month ahead. One sheet answers the question owners ask most: why did that guest book through an agency?

06

Book clients at the right price

Agencies can pick the cheapest site for a client's dates and quote the total for the stay as well as the nightly rate.

What real setups cost

  • One hotel, 30 nights ahead, daily

    An independent hotel checks its own parity for each of the next 30 nights every morning. That's €1.35 a month.

    calls per month
    900
    cost per month
    €1.35
  • Hotel plus five competitors, 60 nights

    A revenue manager tracks six hotels for 60 nights ahead, once a day. 10,800 calls a month cost €16.20.

    calls per month
    10,800
    cost per month
    €16.20
  • Agency checking client bookings

    About 150 hotel checks a month before confirming client bookings cost €0.23.

    calls per month
    150
    cost per month
    €0.225

Why check parity this way

  • Your direct rate sits in the same row

    When your website appears in Google's list, its price is right next to the agencies' prices. You don't need a second source to know if you're undercut.

  • Ads are marked

    The sponsored flag tells you which sites paid for their spot, so you can tell a cheap rate from an expensive ad at a glance.

  • Priced per hotel, not per site

    One call costs €0.0015 whether Google lists 17 booking sites or 36. More sites cost you nothing extra.

What your parity checks will cost

Each hotel and date pair is one call at €0.0015, whether the hotel has 17 booking sites or 36. Enter your hotels, nights ahead and how often you check. Compare all data APIs

Rows (up to)
1,000
You pay
€1.50
FAQ

Frequently asked questions

As many as Google lists for those dates. In our Paris test that was 17 to 36 per hotel, each site in its own numbered set of 11 columns.

Ready to pull Hotel data into your stack?

Try 5 requests free, top up from €5 and pay €0.0015 per hotel check. No plan and no contract. See pay-as-you-go pricing for how the wallet works.