hotel reviews API
- Data from Google Hotels
- Data from Booking.com
- Data from Expedia
- Data from Hotels.com
- Data from Tripadvisor
Hotel reviews API: guest reviews from five sites in one shape
Read a hotel’s guest reviews from Google Hotels, Booking.com, Expedia, Hotels.com and Tripadvisor with the same fields on every row: rating and its scale, text, author, date and the hotel’s reply. Structured JSON, priced per page.
1,000 free credits a month · Failed requests are free · Free during the beta
Endpoints and prices checked against the API on
Hotels and the agencies that manage their reputation answer reviews on several sites, and each site holds a different set. Even Expedia and Hotels.com, which answer the same reviews query, keep separate pools of reviews for the same hotel. Collecting them by hand means five ID schemes and five ways to page. This API returns every source’s reviews in one shape, so one parser and one table cover all five.
Ratings are not on one scale. Booking.com, Expedia and Hotels.com rate out of 10 and Tripadvisor out of 5, while Google mixes its own reviews with Tripadvisor’s, Priceline’s and others’, each on its provider’s scale. The API keeps every rating in the scale the site uses and says which, with rating_scale on the page and provider on Google’s rows, instead of converting silently. The hotel’s answer comes back as management_reply on the same row.
What you get
reviews[].rating— the guest’s rating, in the source’s own scalerating_scale— 10 for Booking.com, Expedia and Hotels.com, 5 for Tripadvisorreviews[].text, title, author, date— the review, its headline where the site has one, the guest’s name and the publication datereviews[].management_reply— the hotel’s published answer to the reviewreviews[].provider— on Google rows, the site the review came from, such as Tripadvisor or Pricelinereviews[].stay_date, room_type, trip_type— stay details, where the source publishes themtotal— the source’s own count of reviews for the propertynext_page_token— Google’s cursor to continue past the pages already fetched
One call, structured JSON
POST /v1/ota/booking/reviews — 2 credits per successful call.
curl -X POST "https://api.scrapercompany.com/v1/ota/booking/reviews" \
-H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"pagename": "newbury-guest-house"
}'{
"source": "booking",
"pagename": "newbury-guest-house",
"hotel_id": 236725,
"ufi": 20061717,
"country": "us",
"total": 523,
"skip": 0,
"limit": 10,
"sort": "MOST_RELEVANT",
"rating_scale": 10,
"count": 2,
"reviews": [
{
"source": "booking",
"review_id": "48b4dc6c098c149e",
"rating": 8,
"title": "Good value, warm and inviting staff and very neat and clean rooms.",
"text": "No breakfast but coffee/tea in lobby, location very good-on fanciest street in Boston and room was clean neat and comfortable.",
"date": "2026-10-28",
"author": "Anna",
"author_country": "United States",
"stay_date": "2026-10-28",
"room_type": "Deluxe Room",
"management_reply": "Hello Anna, we are pleased that you enjoyed your stay. We value your kind words and feedback.",
"language": "xu",
"helpful_votes": 0,
"url": "48b4dc6c098c149e"
},
{
"source": "booking",
"review_id": "23d02bc7e442bfa9",
"rating": 10,
"title": "I will be returning to this hotel",
"text": "This location was excellent. close to food and shops.",
"negative_text": "getting to parking was tricky but doable",
"date": "2027-04-15",
"author": "Deborah",
"author_country": "United States",
"stay_date": "2027-04-13",
"room_type": "Luxury Double",
"language": "xu",
"helpful_votes": 0,
"url": "23d02bc7e442bfa9"
}
],
"rating_scores": [
{
"name": "Staff",
"value": 9.3,
"count": 258
}
],
"sorters": [
{
"value": "MOST_RELEVANT",
"name": "Most relevant"
},
{
"value": "NEWEST_FIRST",
"name": "Newest first"
}
],
"provenance": {
"schema_version": 1,
"observation_id": "rateobs_99462a8ea61e5fc7aea1b45a237f615c",
"collection_id": "ratecol_0123456789abcdef0123456789abcdef",
"observed_at": "2026-08-07T01:23:45.678Z",
"source": "booking_com",
"source_kind": "reviews",
"collector": "scrapingme.ota.booking",
"source_property_id": "newbury-guest-house",
"egress_mode": "direct",
"price_basis": "unknown",
"derivation": "upstream"
},
"wire_bytes": 14973,
"elapsed_s": 0.521,
"collection_id": "ratecol_0123456789abcdef0123456789abcdef",
"observed_at": "2026-08-07T01:23:45.678Z"
}Endpoints and price per call
Credits per successful call, and what one call costs on the Starter, Growth, Scale plans. Failed requests cost nothing. See all plans.
| Endpoint | What it returns | Credits | Starter · Growth · Scale |
|---|---|---|---|
| Google Hotels POST /v1/hotels/reviews | Reviews Google shows for a property token, 10 per page and up to 10 pages per call | from 2 credits | $0.0020 · $0.0012 · $0.0008 |
| Booking.com POST /v1/ota/booking/reviews | Up to 25 per page, by relevance or date, with an optional keyword filter | 2 credits | $0.0020 · $0.0012 · $0.0008 |
| Expedia POST /v1/ota/expedia/reviews | Up to 25 per page, newest first, from the US or Canadian site | 2 credits | $0.0020 · $0.0012 · $0.0008 |
| Hotels.com POST /v1/ota/hotels/reviews | Up to 25 per page, newest first, from 11 Hotels.com points of sale | 2 credits | $0.0020 · $0.0012 · $0.0008 |
| Tripadvisor POST /v1/ota/tripadvisor/reviews | Up to 30 per page for a location ID, newest first | 2 credits | $0.0020 · $0.0012 · $0.0008 |
Is there an official hotel reviews API?
Not one that covers these sites. Google’s Places API returns at most five reviews for a place, and Booking.com’s Guest Review API is for a property’s own reviews and internal use. This API is independent of all five sites and returns the reviews each one shows on its public pages, page by page.
Which hotel ID does each source need?
Google Hotels takes a property_token from a hotel search, Booking.com the slug and country from the hotel’s URL, Expedia and Hotels.com their numeric property_id, and Tripadvisor the location_id, the number after -d in a hotel URL. Each site’s hotel search endpoint returns these IDs from a hotel name.
Are ratings converted to one scale?
No. Each rating stays in the scale the site uses: out of 10 on Booking.com, Expedia and Hotels.com, and out of 5 on Tripadvisor. Google’s list mixes providers, so each Google row names its provider and keeps that provider’s scale, 5 for Google and Tripadvisor and 10 for Priceline. To compare, divide each rating by its scale.
How are review pages billed?
Per page. Booking.com, Expedia, Hotels.com and Tripadvisor return one page per call, and you page with skip, start_index or offset. Google Hotels can follow up to 10 pages of 10 reviews in one call and is billed for each page it fetched; next_page_token continues from there.
How do I pick up only new reviews?
Expedia, Hotels.com and Tripadvisor return reviews newest first, and Booking.com does with sort set to NEWEST_FIRST. Poll the first page and stop at the first review_id you have already stored.
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. Public sign-up is invite-only during the beta, so join the waitlist there and we will email you when your account is ready. The Free plan includes 1,000 credits a month, and the API is free while it is in beta. You create and rotate keys yourself in the dashboard.
More APIs on the same key
All APIsBooking.com API
Look a hotel up by name, then read what Booking.com shows a guest: a nightly price calendar, each room type with its rate plans, and the reviews with the property’s replies. Structured JSON, priced per call.
Expedia API
Look a hotel up by name, then read what Expedia shows a guest for one stay: every room type and rate plan with its total, nightly price and cancellation terms, and the guest reviews with the property’s replies.
Hotels.com API
Find a hotel’s Hotels.com id by name, then read what a guest on the Hotels.com site for their country sees: the headline price for a stay, every room type and rate plan, and the guest reviews.
Agoda API
Look a hotel up by name, then read every room type and rate plan Agoda shows a guest for one stay, with the stay total, discounts, meal plan and cancellation terms, in any of 23 currencies.
Tripadvisor API
Send a hotel’s Tripadvisor id and a stay, and get the offers Tripadvisor lists from Booking.com, Expedia, Hotels.com and other sites, each with what its price means. Read the hotel’s guest reviews and management replies from the same id.
Airbnb API
Search Airbnb by destination or map area and get each listing with its trip price and breakdown. Then read a listing’s calendar: availability, stay rules and the price Airbnb itself quotes for the nights you choose. Structured JSON, priced per call.
Start with 1,000 free credits a month
Join the waitlist and we will email you when your account is ready: your own API keys, 1,000 free credits a month, and the API is free during the beta.