# Zomato Reviews Scraper - Low-cost💲🔥🍽️⭐ (`delectable_incubator/zomato-reviews-scraper-low-cost`) Actor

🍽️⭐ Easily scrape Zomato restaurant reviews. Extract review text, ratings, usernames, profile URL, likes, comments, review photos, tags, timestamps and management responses. Perfect for restaurant analytics, sentiment analysis, reputation monitoring, market research, AI datasets & customer insights

- **URL**: https://apify.com/delectable\_incubator/zomato-reviews-scraper-low-cost.md
- **Developed by:** [Prime Scrape](https://apify.com/delectable_incubator) (community)
- **Categories:** Travel, Lead generation, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.00005 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

<p align="center">
  <img src="https://i.ibb.co/jkNS73wX/readme.png" alt="Zomato Reviews Scraper" width="100%">
</p>

***

## 🍽️⭐ Zomato Reviews Scraper | Bulk Restaurant Review Scraper | Ratings, Users, Comments & Photos | Apify Actor

### 🚀 Extract Zomato Reviews in Seconds (No Code)

The **Zomato Reviews Scraper (Apify Actor)** is a powerful, scalable, and SEO-optimized scraping solution designed to extract public **Zomato restaurant reviews** using **bulk restaurant URLs**.

Scrape reviews from Zomato restaurant pages and collect structured review datasets including **review text, ratings, usernames, profile information, likes, comments, review photos, review dates, review tags, management responses, and review URLs**.

Perfect for **restaurant reputation monitoring, customer sentiment analysis, food market research, competitive intelligence, hospitality analytics, AI datasets, NLP projects, and review intelligence.**

***

## 🔥 Why This Zomato Reviews Scraper?

✔ Best Zomato Reviews Scraper on Apify

✔ Supports Bulk Restaurant URLs

✔ Scrape Public Restaurant Reviews

✔ Automatic Review Pagination

✔ Extract Ratings & Review Text

✔ Extract Reviewer Information

✔ Extract Likes & Comments

✔ Extract Review Photos & Tags

✔ Extract Restaurant Management Responses

✔ Fast & Scalable Extraction

✔ JSON / CSV / Excel Ready

✔ No Coding Required

***

## 🎯 What This Scraper Does

This Apify Actor extracts public reviews directly from **Zomato restaurant pages**.

You can provide one or multiple Zomato restaurant URLs.

The scraper automatically handles the review URL, so you can provide either a restaurant page or its review page.

For example:

```text
https://www.zomato.com/mumbai/sbarro-new-york-pizza-sion
```

The scraper automatically works with the restaurant's review section.

Each URL is processed independently and returns up to **maxitems** reviews.

***

## 📌 Core Features

✅ Bulk Restaurant URL Scraping

✅ Zomato Restaurant Reviews

✅ Automatic `/reviews` Handling

✅ Review Text

✅ Short Review Text

✅ Reviewer Names

✅ Reviewer Profile Pictures

✅ Reviewer Profile URLs

✅ Reviewer IDs

✅ Reviewer Review Counts

✅ Reviewer Followers

✅ Review Ratings

✅ Rating Text

✅ Review Likes

✅ Review Comments

✅ Management Comments

✅ Review Photos

✅ Review Tags

✅ Review Dates / Timestamps

✅ Review URLs

✅ Experience Information

✅ High-Speed Cloud Scraping

✅ Clean Structured Datasets

***

## ⚡ Input Configuration (Simple & Powerful)

### 🔥 BULK RESTAURANT URL MODE (SEO BOOST 🚀)

```
{
  "urls": [
    {
      "url": "https://www.zomato.com/mumbai/sbarro-new-york-pizza-sion"
    }
  ],
  "maxitems": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}
```

Simply add one or hundreds of Zomato restaurant URLs.

Each URL is processed independently and returns up to **maxitems** reviews.

**Indian Residential proxies are recommended for the best reliability on Zomato.**

***

## 📊 Extracted Data

| Field | Description |
|--------|-------------|
| status | Scraping status |
| message | Status message |
| reviewId | Review ID |
| reviewText | Full review text |
| reviewTextSm | Short review text |
| userName | Reviewer username |
| userProfilePic | Reviewer profile picture |
| userProfileUrl | Reviewer profile URL |
| userImagePlaceholder | Profile image placeholder |
| reviewUserId | Reviewer ID |
| urbanspoonStatus | User status |
| userReviewsCount | Number of reviews by user |
| userFollowersCount | Number of followers |
| isFollowed | Follow status |
| timestamp | Review timestamp |
| likeCount | Number of likes |
| isLikedByUser | Like status |
| comments | Review comments |
| managementComments | Restaurant management responses |
| moreManagementComments | Additional management comments available |
| commentCount | Number of comments |
| moreComments | Additional comments available |
| reviewPhotos | Photos attached to review |
| reviewTags | Review tags |
| reviewUrl | Review URL |
| externalUrl | External review URL |
| externalHost | External host |
| externalHostText | External host text |
| isEditable | Whether review is editable |
| experience | Customer experience |
| newRatingColor | Rating color |
| ratingV2 | Rating V2 |
| bgColorV2 | Rating background information |
| ratingV2Text | Rating text |
| rating | Review rating data |

***

## 💡 Use Cases

Perfect for:

🍽️ Restaurant Reputation Monitoring

⭐ Customer Review Analysis

📊 Sentiment Analysis

🏪 Restaurant Competitive Intelligence

📈 Hospitality Market Research

💬 Customer Feedback Mining

🤖 AI Training Datasets

🧠 NLP & LLM Research

📍 Local Food Market Analysis

📉 Restaurant Performance Monitoring

***

## 🚀 Key Features

⚡ Bulk Restaurant URLs

🍽️ Zomato Reviews

⭐ Ratings & Experiences

👤 Reviewer Information

❤️ Likes & Engagement

💬 Comments & Replies

🏪 Restaurant Management Responses

📸 Review Photos

🏷️ Review Tags

📅 Review Timestamps

🔗 Review URLs

📊 Structured Output

🔁 Reliable Cloud Execution

💾 Export-Ready Datasets

⚙️ Enterprise-Ready Apify Actor

***

## 📤 Export Formats

✔ JSON

✔ CSV

✔ Excel (XLSX)

✔ XML

✔ HTML

✔ RSS

***

## 📦 Example Output

```
{
  "status": "success",
  "reviewId": "123456789",
  "reviewText": "Amazing food and great service. Really enjoyed the experience!",
  "reviewTextSm": "Amazing food and great service.",
  "userName": "foodlover",
  "userProfilePic": "https://...",
  "userProfileUrl": "https://www.zomato.com/user/foodlover",
  "reviewUserId": "987654",
  "userReviewsCount": "125",
  "userFollowersCount": "42",
  "timestamp": "2026-08-08T18:30:00",
  "likeCount": "15",
  "commentCount": "3",
  "comments": [],
  "managementComments": [],
  "reviewPhotos": [],
  "reviewTags": [],
  "reviewUrl": "https://www.zomato.com/mumbai/sbarro-new-york-pizza-sion/reviews",
  "experience": "Good",
  "ratingV2": "4",
  "ratingV2Text": "Very Good",
  "rating": {
    "value": 4
  }
}
```

***

## 🔥 Why This is the BEST Zomato Reviews Scraper on Apify?

✔ Optimized for Apify Search Ranking

✔ Bulk Restaurant URL Support

✔ Automatic Review URL Handling

✔ Rich Review Metadata

✔ Reviewer Information

✔ Ratings & Customer Experience

✔ Likes & Comments

✔ Review Photos

✔ Restaurant Management Responses

✔ Structured Export-Ready Datasets

✔ Enterprise-Ready Scalability

***

## 💸 Pricing

This scraper runs on a **pay-per-result** pricing model.

You only pay for successfully extracted reviews.

**💳 Price: $1.99 / 1,000 results**

***

## ❓ FAQ

#### Can I scrape multiple Zomato restaurants?

Yes.

Bulk restaurant URL mode is fully supported.

***

#### Do I need to provide the `/reviews` URL?

No.

You can provide the normal Zomato restaurant page URL.

The scraper automatically handles the review section.

***

#### Which URLs are supported?

Public Zomato restaurant URLs such as:

- Restaurant pages
- Restaurant review pages
- Mumbai restaurants
- Delhi restaurants
- Bangalore restaurants
- Hyderabad restaurants
- Pune restaurants
- Chennai restaurants
- Other supported Zomato locations

***

#### Can I scrape thousands of reviews?

Yes.

Increase **maxitems** and add as many restaurant URLs as needed.

***

#### Are Residential proxies recommended?

Yes.

**Indian Residential proxies are recommended** for the best scraping reliability on Zomato.

***

#### Is coding required?

No.

Everything runs directly on Apify.

***

#### Can I export the data?

Yes.

Supports JSON, CSV, Excel, XML, HTML and RSS.

***

## ⚠️ Disclaimer

This tool is an independent data extraction solution and is **not affiliated with Zomato**.

It is intended to collect publicly available information.

Users are responsible for complying with Zomato's Terms of Service and all applicable laws.

***

## 🔗 Related Actors

We are building the complete **PrimeScrape Review & Restaurant Intelligence Suite.**

More premium restaurant, food delivery, review, hospitality, marketplace, and local business scrapers are coming soon.

🚀 Stay tuned.

***

## 🌍 PrimeScrape Ecosystem

Built for large-scale data extraction, automation, AI datasets, and business intelligence.

🍽️ Restaurant Intelligence

⭐ Review Analytics

💬 Customer Sentiment

📊 Hospitality Research

📈 Market Intelligence

🤖 AI Training Datasets

⚙️ Automation Pipelines

🌐 Public Data Extraction

***

## 📬 Support

⭐⭐⭐⭐⭐

If this scraper saves you time, please leave a review.

For enterprise scraping solutions, custom Apify Actors, or large-scale restaurant review scraping projects, feel free to contact **PrimeScrape**.

# Actor input Schema

## `urls` (type: `array`):

List of Zomato restaurant URLs to scrape reviews from, in the format:
https://www.zomato.com/<city>/<restaurant-name>

'/reviews' is appended automatically if missing, so both the restaurant page URL and the reviews URL work.

⚠️ URLs must be from zomato.com.

## `maxitems` (type: `integer`):

Limits how many reviews will be scraped from each restaurant's listing pages.

## `proxy` (type: `object`):

RESIDENTIAL proxy required. IN (India) is usually most stable for zomato.com.

## Actor input object example

```json
{
  "urls": [
    {
      "url": "https://www.zomato.com/mumbai/sbarro-new-york-pizza-sion"
    }
  ],
  "maxitems": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `by_company` (type: `string`):

No description

## `by_location` (type: `string`):

No description

## `by_experience` (type: `string`):

No description

## `by_salary` (type: `string`):

No description

## `by_category` (type: `string`):

No description

## `recent_jobs` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        {
            "url": "https://www.zomato.com/mumbai/sbarro-new-york-pizza-sion"
        }
    ],
    "maxitems": 20,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "IN"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("delectable_incubator/zomato-reviews-scraper-low-cost").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": [{ "url": "https://www.zomato.com/mumbai/sbarro-new-york-pizza-sion" }],
    "maxitems": 20,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "IN",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("delectable_incubator/zomato-reviews-scraper-low-cost").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    {
      "url": "https://www.zomato.com/mumbai/sbarro-new-york-pizza-sion"
    }
  ],
  "maxitems": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}' |
apify call delectable_incubator/zomato-reviews-scraper-low-cost --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,delectable_incubator/zomato-reviews-scraper-low-cost"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/e4nBCxJSnxKrhoe7X/builds/hIA8HqhUSLAKszW44/openapi.json
