Skip to content
Guest reviews

Tripadvisor reviews

Tripadvisor guest reviews for one locationId.

POST/v1/ota/tripadvisor/reviews
2 credits

One persisted-query request through the same session warmup pricing uses. Ratings are 0-5; each review keeps the author, stay type, stay date, management reply and language the site publishes. Page by offset += limit.

Request

POSThttps://api.scrapercompany.com/v1/ota/tripadvisor/reviews

Authenticate with your API key in the x-api-key header (see Authentication).

Body

JSON object. Unknown fields are rejected with 422.

  • location_idstringrequiredmin length 1, pattern ^\d+$

    Numeric id in the property URL, e.g. 208453 from /Hotel_Review-g60763-d208453-....

  • limitintegerdefault 10min 1, max 30

    Reviews per page (the backend accepts up to 30).

  • offsetintegerdefault 0min 0

    Row to start from; page by offset += limit.

Example request

curl -X POST "https://api.scrapercompany.com/v1/ota/tripadvisor/reviews" \
  -H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "location_id": "208453"
  }'

Response

200 — One page of Tripadvisor guest reviews, newest first. Metered responses carry x-credits-charged and x-credits-remaining headers (see credit headers).

200 response
{
  "source": "tripadvisor",
  "property_id": "208453",
  "total": 9023,
  "offset": 0,
  "limit": 10,
  "rating_scale": 5,
  "count": 2,
  "reviews": [
    {
      "source": "tripadvisor",
      "review_id": "1079997723",
      "rating": 5,
      "title": "Hilton times square fab hotel",
      "text": "if you are coming to New York hilton times square is the best for location . large spacious rooms great service , friendly staff , highly recommend",
      "date": "2029-02-21",
      "author": "Sue B",
      "trip_type": "FAMILY",
      "stay_date": "2029-02-21",
      "management_reply": "Dear Gayatri, it's a privilege to learn about your memorable stay with us!",
      "language": "en",
      "helpful_votes": 0,
      "url": "/ShowUserReviews-g60763-d208453-r1079997723-Hilton_New_York_Times_Square-New_York_City_New_York.html"
    },
    {
      "source": "tripadvisor",
      "review_id": "1076579565",
      "rating": 4,
      "title": "Good location",
      "text": "Rooms were comfortable, staff friendly.",
      "date": "2029-02-19",
      "author": "Nina",
      "trip_type": "BUSINESS",
      "stay_date": "2029-02-19",
      "language": "en",
      "helpful_votes": 2,
      "url": "/ShowUserReviews-g60763-d208453-r1076579565-Hilton_New_York_Times_Square-New_York_City_New_York.html"
    }
  ],
  "provenance": {
    "schema_version": 1,
    "observation_id": "rateobs_0123456789abcdef0123456789abcdef",
    "collection_id": "ratecol_0123456789abcdef0123456789abcdef",
    "observed_at": "2026-08-07T01:23:45.678Z",
    "source": "google_hotels_calendar",
    "source_kind": "calendar",
    "collector": "scrapingme.google_calendar",
    "source_property_id": "ChUIoben2Mv6-CYaCi9tLzA3czVwbjQQAQ",
    "requested_market": "US",
    "requested_currency": "USD",
    "returned_currency": "USD",
    "egress_mode": "direct",
    "price_basis": "room_base_before_taxes_and_fees",
    "derivation": "normalized_upstream"
  },
  "wire_bytes": 15619,
  "elapsed_s": 0.412,
  "egress_mode": "direct",
  "collection_id": "ratecol_0123456789abcdef0123456789abcdef",
  "observed_at": "2026-08-07T01:23:45.678Z",
  "warnings": []
}

Errors

Errors return a JSON body with a detail field. Failed requests are not charged. See Errors for the full list and retry advice.

StatusMeaningRetry?
401Unauthorized

Missing or invalid API key.

{"detail":"missing or invalid API key"}
No, fix the request
402Payment Required

Not enough credits for this request. Only returned once credit enforcement is switched on; during the beta metering runs in shadow mode and never blocks.

{"detail":"insufficient credits: this request costs 5, 0 available. Credits renew 2026-11-01."}
No, fix the request
422Unprocessable Content

Request validation failed. detail is a list of problems for schema errors, or a string for semantic checks performed by the endpoint.

{"detail":[{"loc":["body","name"],"msg":"Field required","type":"missing"}]}
No, fix the request
429Too Many Requests

Too many requests: the key's requests-per-minute limit was exceeded, or (once credit enforcement is on) the plan's concurrent-request limit. No rate-limit or Retry-After headers are sent; back off and retry.

{"detail":"rate limit 60/min exceeded"}
Yes, with backoff
502Bad Gateway

The upstream source failed, blocked the request or returned an unusable answer. Safe to retry later; failed requests are not charged.

{"detail":"RuntimeError"}
Yes, with backoff

Try it

  1. Export your key: export SCRAPERCOMPANY_API_KEY=sk_... (no key yet? request access).
  2. Copy the cURL example above and run it in a terminal.
  3. Or open the interactive playground on api.scrapercompany.com, paste your key and pick this endpoint.

Credits

2 credits per successful call. Failed, blocked and empty results are free. Credit metering is in beta and does not block requests yet.