Review monitoring

Guest reviews from five sources, as one feed

Tripadvisor, Booking.com, Expedia, Hotels.com and Google Hotels reviews, page by page, with the rating, the text, the stay details and the management reply kept as structured fields.

Built forReputation teamsHotel groupsHospitality agenciesGuest-experience analysts

See it in action

Reviews in, insights out

Pick a topic to see the reviews behind its score. The API supplies the reviews; your model adds the sentiment and the summary.

  • data from the API
  • added by your code

Example · review insights

What are guests saying, and what should we fix first?

  1. POST /v1/ota/booking/reviews
  2. POST /v1/ota/tripadvisor/reviews
  3. POST /v1/hotels/reviews
  4. your model: sentiment + summary

248 reviews · 4 sources · 90 days

71% positive

71% positive, 17% neutral, 12% negative.

Sentiment by topic · select one

“Our room faced the avenue and we heard traffic until 2am. Ask for a courtyard room.”
Booking.com6/10Couple · Mar 2027negative
“Thin walls; we could hear the neighbours’ TV clearly.”
Tripadvisor3/5Solo · Feb 2027negative

Summary

Guests praise the front desk and the walkable location. Breakfast and value are mixed. Street noise in avenue-facing rooms is the top complaint, raised in 38 reviews, and only 3 of those got a reply.

Fictional hotel and reviews. The API returns the reviews; sentiment and the summary come from your own model, such as an LLM.

The problem

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

Reputation lives in five places, and each one pages, rates and labels reviews differently. Tripadvisor scores out of 5, Expedia out of 10. Booking.com publishes category scores, and Google mixes its own reviews with partner sites.

Analytics needs one shape: who wrote it, when they stayed, what they scored, what they said and whether the hotel answered. That is how you measure review velocity and response coverage across a portfolio.

Workflow

How teams build it

  1. Step 1

    Identify the property on each site

    Use the Tripadvisor location id, the Booking.com page name, the Expedia or Hotels.com id, or the Google property token.

  2. Step 2

    Page through new reviews

    Each source pages its own way, and each answer says how to fetch the next page. Reviews come newest first where the site supports it.

    POST /v1/ota/tripadvisor/reviews
  3. Step 3

    Store the fields you track

    Rating, text, stay summary, the site's own labels (such as Expedia's verified-review flag) and the management reply, when there is one.

  4. Step 4

    Score, summarize and alert

    Run each review through your sentiment model or an LLM to tag topics and tone, summarize the week, and alert on unanswered complaints.

Output

What you get back

Review text
title and body as the guest wrote them
Ratings
on each site's own scale, plus Booking.com category scores
Stay details
stay summaries such as "Stayed 4 nights in Sep 2026"
Management replies
the hotel's answer, where the site shows one
Ready for analysis
one review per row, so sentiment and topic models need no scraping cleanup
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"
  }'
Response (trimmed)
{
  "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-17",
      "author": "Anna",
      "author_country": "United States",
      "stay_date": "2026-10-17",
      "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-04",
      "author": "Deborah",
      "author_country": "United States",
      "stay_date": "2027-04-02",
      "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"
}

Worked example

An agency watches 40 hotels for new reviews on four sites, once a day

Illustrative scenario, not a customer

CallPer dayCredits eachCredits a day
Newest review page, 40 hotels × 4 sources1602320
Credits a month
9,600
Fits on
Starter
Plan price
$49 /month

30 days a month. Failed and empty requests cost nothing, so a bad day costs less. Compare plans

Which review sites are supported?

Tripadvisor, Booking.com, Expedia, Hotels.com and Google Hotels. Google Hotels also returns partner reviews, such as Tripadvisor and Priceline, and names the provider on each row.

How much does a page of reviews cost?

Two credits per page from any source. A page with no reviews is free, and failed requests are free.

Does the API do sentiment analysis?

No. It returns the reviews as structured fields, and scoring and summarizing run in your stack with the model you choose. The shape suits that work: one review per row with its text, its rating on the site’s own scale, stay details and the management reply.

Do reviews include the hotel’s reply?

Yes, where the site publishes one: the management reply is a field on the review.

Are review dates exact?

Tripadvisor, Booking.com and Expedia publish dates. Google Hotels shows only relative dates such as "a month ago", and the API returns exactly what Google shows.

Start with 1,000 free credits a month

Tell us which properties, sources and engines you need. Our team sets up your account, and you create and rotate API keys yourself. The API is free during the beta.