# Agoda Hotel Reviews Scraper

> Agoda Hotel Reviews Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured hotel reviews and aggregate ratings from Agoda and Booking.com for a given accommodation URL

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/agoda?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agoda-hotel-reviews-scraper-d86537f9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_XhvqLL_QZW72D9Ao7RrP2

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agoda-hotel-reviews-scraper-d86537f9 -d '<json body>'
```

Example prompt: Can you pull the 50 most recent Agoda and Booking.com reviews for this hotel — https://www.agoda.com/hotel/grand-hyatt-bangkok.html — filtered to only exceptional and excellent ratings in English, with aggregate scores included?

## When to prefer this

Choose this endpoint when you need structured, paginated review data from Agoda or Booking.com listings — especially when you need filtering by rating band, language, date, or provider, and when aggregate score breakdowns matter. Prefer this over general web scrapers when the target URL is an Agoda accommodation or reviews page and you need clean JSON output with hotel metadata included. Best suited for competitive intelligence, sentiment analysis pipelines, or travel recommendation systems that require fresh, per-property review data.

## Known failure modes

- Invalid or non-Agoda hotel URL returns empty result set (not charged)
- Hotel with no public reviews returns empty items array
- Unsupported language code may return zero results
- cutoffDate in wrong format causes parameter rejection
- Rate limits or anti-scraping measures on Agoda side may return partial data
- Requesting providers not available for that property returns empty provider results

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object containing a count of returned reviews and an array of review records, each with hotel ID, hotel name, hotel URL, review rating, rating text, review title, review ID, and review page URL. When aggregateRatings is enabled, provider scores, category breakdowns (e.g. cleanliness, location, value), and total review counts are appended to each record.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "rating": {
   "type": "array",
   "items": {
    "enum": [
     "exceptional",
     "excellent",
     "very_good",
     "good",
     "below_expectation"
    ],
    "type": "string",
    "enumTitles": [
     "9+ Exceptional",
     "8–9 Excellent",
     "7–8 Very good",
     "6–7 Good",
     "Below 6"
    ]
   },
   "default": [],
   "description": "Include only these rating bands on the 0–10 scale; leave empty for all ratings."
  },
  "sortBy": {
   "enum": [
    "recent",
    "ratingHigh",
    "ratingLow",
    "helpful"
   ],
   "type": "string",
   "default": "recent",
   "description": "Order supplied by the review service."
  },
  "hotelUrl": {
   "type": "string",
   "description": "Public Agoda accommodation URL ending in /hotel/...html or /reviews/...html."
  },
  "language": {
   "type": "string",
   "default": "all",
   "description": "Original review language code, such as en, de, or ko. Use all for every language."
  },
  "cutoffDate": {
   "type": "string",
   "description": "Return only reviews after this date, in YYYY-MM-DD form. Leave blank for all dates."
  },
  "aggregateRatings": {
   "type": "boolean",
   "default": true,
   "description": "Add provider scores, category breakdowns, and review counts to every record."
  },
  "enabledProviders": {
   "type": "array",
   "items": {
    "enum": [
     "Agoda",
     "Booking.com"
    ],
    "type": "string",
    "enumTitles": [
     "Agoda",
     "Booking.com"
    ]
   },
   "default": [
    "Agoda",
    "Booking.com"
   ],
   "description": "Include reviews from these displayed providers."
  },
  "maxReviewsPerHotel": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum review records to return. Zero reads until public pagination ends, up to 100 pages."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "rating": null,
    "hotelId": null,
    "hotelUrl": null,
    "hotelName": null,
    "ratingText": null,
    "reviewTitle": null,
    "hotelReviewId": null,
    "reviewPageUrl": null
   }
  ],
  "product": "agoda"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agoda-hotel-reviews-scraper-d86537f9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
