# Zomato Restaurant Reviews Scraper

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

Scrapes and returns structured public reviews from Zomato restaurant pages, with configurable sorting and item limits.

## Facts

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

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 zomato-restaurant-reviews-scraper-af3cd9d1 -d '<json body>'
```

Example prompt: Can you pull the 100 newest Zomato reviews for this restaurant — https://www.zomato.com/mumbai/some-restaurant/reviews — so I can analyze what customers are saying?

## When to prefer this

Use this endpoint when you need structured, ready-to-use Zomato review data without managing your own web scraping infrastructure. It is ideal for bulk collection across multiple restaurant URLs, supports configurable sort order (newest or oldest first), and charges only on successful runs — making it cost-effective for agents that need reliable restaurant review data from the Zomato platform specifically.

## Known failure modes

- Invalid or inaccessible Zomato restaurant URL returns an empty or error response
- Restaurant page with no public reviews returns count 0 and empty items array
- Rate limiting or anti-scraping measures on Zomato may cause failed runs (not charged)
- Malformed URL input causes request failure
- maxItems or maxTotalItems set to values that conflict with available review count returns fewer items than requested

## How this service works

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

## Output

Returns a JSON object containing a count of collected reviews and an array of review items, each with fields for review ID, reviewer username, full review text, short review text, reviewer profile picture URL, reviewer profile URL, and status/message fields. Also includes a product identifier confirming the Zomato source.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sort": {
   "enum": [
    "newest",
    "oldest"
   ],
   "type": "string",
   "default": "newest",
   "description": "Collect newest reviews first or oldest reviews first."
  },
  "maxItems": {
   "type": "integer",
   "default": 50,
   "minimum": 0,
   "description": "Maximum reviews to collect from each restaurant. Set 0 for every available public review."
  },
  "maxTotalItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Stop after this many reviews across all restaurants. Set 0 for no overall cap."
  },
  "restaurantUrls": {
   "type": "array",
   "description": "Public Zomato restaurant URLs; the restaurant page or its /reviews URL both work."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "status": null,
    "message": null,
    "reviewId": null,
    "userName": null,
    "reviewText": null,
    "reviewTextSm": null,
    "userProfilePic": null,
    "userProfileUrl": null
   }
  ],
  "product": "zomato"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/zomato-restaurant-reviews-scraper-af3cd9d1/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)
