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
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.
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.
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.
Set it up once
Add your ASINs, keywords, places or apps to a scraper in the web app. New accounts get 5 free requests.
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.
Saved in your database
Each run adds dated rows, so this week sits next to last week. Rows are kept for 90 days.
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.
- Hotel from a Google Hotels resultrequired
Q2hnSWxxRDFzWWU0OUlLUUFSb0xMMm… - Check-in daterequired
2026-10-14 - Check-out daterequired
2026-10-16 - Currencyoptional
USD
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.
sw status_sw_statusResult of this row: OK, no results, or an error | sw source url_sw_source_urlThe input you gave: a link, keyword or ID | sw title_sw_titleMain name of the item | sw url_sw_urlDirect link to the item | sw external id_sw_external_idThe site's own ID for this item | sw id kind_sw_id_kindWhat kind of ID the external ID is | sw image_sw_imageMain image link | sw price_sw_pricePrice as a number | sw currency_sw_currencyCurrency of the price | sw price unit_sw_price_unitWhat the price covers: item, night, trip, offer | sw seller_sw_sellerWho sells or publishes it | sw sponsored_sw_sponsoredTrue when the result is a paid placement | sw location_sw_locationPlace the result is priced or ranked for | sw fetched at_sw_fetched_atWhen we collected this row (UTC) | detail_tokendetail_tokenToken to fetch hotel price detail |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| OK | https://www.google.com/travel/search?q=Paris+hotels | Le 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&adurl | Q2hnSWxxRDFzWWU0OUlLUUFSb0xMMmN2TVhSa2NEaDVhRE1RQVF8MHg0N2U2NzIxYmU2NzU4NGQxOjB4OTAwNWQxYzA3NjNkNTAxNnwwODUyODQ | booking_token | //www.gstatic.com/travel-hotels/branding/306127930749010778.png | 322.22 | USD | night | Hotels.com | true | 2026-10-14 to 2026-10-16 | 2026-09-16T10:58:45Z | Q2hnSWxxRDFzWWU0OUlLUUFSb0xMMmN2TVhSa2NEaDVhRE1RQVF8MHg0N2U2NzIxYmU2NzU4NGQxOjB4OTAwNWQxYzA3NjNkNTAxNnwwODUyODQ |
| OK | https://www.google.com/travel/search?q=Paris+hotels | The 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&adurl | Q2hrSTNadTZpN0NFMWU1TUdnMHZaeTh4TVdSNGNXcHdiWGw1RUFFfDB4NDdlNjZlMTYxNTNmZWVhYjoweDRjZGQ1NDIzMDE2ZThkZGR8MDg1Mjg0 | booking_token | //www.gstatic.com/travel-hotels/branding/306127930749010778.png | 608.44 | USD | night | Hotels.com | true | 2026-10-14 to 2026-10-16 | 2026-09-16T10:59:22Z | Q2hrSTNadTZpN0NFMWU1TUdnMHZaeTh4TVdSNGNXcHdiWGw1RUFFfDB4NDdlNjZlMTYxNTNmZWVhYjoweDRjZGQ1NDIzMDE2ZThkZGR8MDg1Mjg0 |
| OK | https://www.google.com/travel/search?q=Paris+hotels | Q2hvSXA3UHVtX0tYak82ekFSb05MMmN2TVRGeWFtNHlZek4wYmhBQnwweDQ3ZTY3MTcxMGE4OGVmMTc6MHhiM2RjMzBiZjIzN2I5OWE3fDg2MDQzOA | /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&adurl | Q2hvSXA3UHVtX0tYak82ekFSb05MMmN2TVRGeWFtNHlZek4wYmhBQnwweDQ3ZTY3MTcxMGE4OGVmMTc6MHhiM2RjMzBiZjIzN2I5OWE3fDg2MDQzOA | booking_token | //www.gstatic.com/travel-hotels/branding/ac238c97-1652-4830-8da8-bb8d8883af88.png | 776.25 | USD | night | Expedia.com | true | 2026-10-14 to 2026-10-16 | 2026-09-16T10:59:59Z | Q2hvSXA3UHVtX0tYak82ekFSb05MMmN2TVRGeWFtNHlZek4wYmhBQnwweDQ3ZTY3MTcxMGE4OGVmMTc6MHhiM2RjMzBiZjIzN2I5OWE3fDg2MDQzOA |
| OK | https://www.google.com/travel/search?q=Paris+hotels | Hô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&adurl | Q2hrSW1jejRxdC1MMTVoUEdnMHZaeTh4TVhCeU0zcHFZMk42RUFFfDB4NDdlNjZmYjczZTJlNGZjOToweDRmMzE1YzVkZjU1ZTI2MTl8MDg1Mjg0 | booking_token | //www.gstatic.com/travel-hotels/branding/ac238c97-1652-4830-8da8-bb8d8883af88.png | 975.16 | USD | night | Expedia.com | true | 2026-10-14 to 2026-10-16 | 2026-09-16T11:00:36Z | Q2hrSW1jejRxdC1MMTVoUEdnMHZaeTh4TVhCeU0zcHFZMk42RUFFfDB4NDdlNjZmYjczZTJlNGZjOToweDRmMzE1YzVkZjU1ZTI2MTl8MDg1Mjg0 |
| OK | https://www.google.com/travel/search?q=Paris+hotels | Novotel 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&adurl | Q2hrSTFONnYwY0M0cGZtcEFSb01MMmN2TVRKeE5IaHlOSGgwRUFFfDB4NDdlNjZlYTUyMjE4YzJhZjoweGE5ZjI5NWM0MGEyYmVmNTR8MDg1Mjg0 | booking_token | //www.gstatic.com/travel-hotels/branding/ac238c97-1652-4830-8da8-bb8d8883af88.png | 181.61 | USD | night | Expedia.com | true | 2026-10-14 to 2026-10-16 | 2026-09-16T11:01:13Z | Q2hrSTFONnYwY0M0cGZtcEFSb01MMmN2TVRKeE5IaHlOSGgwRUFFfDB4NDdlNjZlYTUyMjE4YzJhZjoweGE5ZjI5NWM0MGEyYmVmNTR8MDg1Mjg0 |
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
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.
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.
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.
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.
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?
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
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.