# Zomato Reviews Scraper 🔍🇮🇳💬 - Cheap (`scrapestorm/zomato-reviews-scraper---cheap`)

🔍 Easily Scrape Zomato Reviews
Enter a restaurant URL to collect real customer reviews from Zomato 🍽️
Get insights such as review text, rating, author, timestamp, experience type & more 🕵️‍♀️
Seamlessly integrate with tools like Google Drive to automate workflows and boost productivity ⚡📊

- **URL**: https://beta-securitybyobscurity.apify.com/scrapestorm/zomato-reviews-scraper---cheap.md
- **Developed by:** [Storm\_Scraper](https://beta-securitybyobscurity.apify.com/scrapestorm) (community)
- **Categories:** E-commerce, Integrations, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$19.49/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

# README

### 💬 Zomato Reviews Scraper 🔍📥

The Zomato Reviews Scraper is your go-to tool for collecting structured restaurant review data from Zomato pages. Perfect for sentiment analysis, customer feedback mining, competitor tracking, or automation workflows — this scraper extracts detailed user reviews in just minutes.

### 🔍 What It Does

Provide a Zomato restaurant URL and the number of reviews to collect — the scraper delivers:

✅ Clean, structured customer reviews directly from Zomato
✅ Full metadata for each review: rating, username, date, experience type, likes, and more
✅ Profile links and images for reviewers
✅ High-quality data ready for analysis, dashboards, or automation flows

📄 Output Fields

| Field                    | Description                                                  |
| ------------------------ | ------------------------------------------------------------ |
| `reviewId`               | Unique ID for the review                                     |
| `reviewText`             | Full review text                                             |
| `reviewTextSm`           | Shortened or summarized version of the review (if available) |
| `userName`               | Name of the reviewer                                         |
| `userProfilePic`         | Profile picture URL                                          |
| `userProfileUrl`         | Link to the reviewer’s Zomato profile                        |
| `userImagePlaceholder`   | Fallback image if profile picture is not available           |
| `reviewUserId`           | Unique Zomato user ID                                        |
| `urbanspoonStatus`       | Urbanspoon verification status                               |
| `userReviewsCount`       | Total number of reviews submitted by the user                |
| `userFollowersCount`     | Number of followers the user has                             |
| `isFollowed`             | Whether the user is followed by the logged-in account        |
| `timestamp`              | When the review was posted (e.g. "4 days ago")               |
| `likeCount`              | Number of likes the review received                          |
| `isLikedByUser`          | Whether the logged-in user liked the review                  |
| `comments`               | Comments on the review (if any)                              |
| `managementComments`     | Comments from the restaurant's management                    |
| `moreManagementComments` | Flag indicating more management replies exist                |
| `commentCount`           | Total number of comments on the review                       |
| `moreComments`           | Whether more comments exist beyond those listed              |
| `reviewPhotos`           | Any photos attached to the review                            |
| `reviewTags`             | Tags used by the reviewer (if any)                           |
| `reviewUrl`              | Direct link to the review on Zomato                          |
| `externalUrl`            | External link provided in review (if applicable)             |
| `externalHost`           | Host domain of external URL                                  |
| `externalHostText`       | Display text for external host                               |
| `isEditable`             | Whether the review can be edited by the user                 |
| `experience`             | Experience type (e.g. "delivery", "dine-in")                 |
| `newRatingColor`         | Color code for the star rating                               |
| `ratingV2`               | Numeric rating value (e.g. "4.5")                            |
| `bgColorV2`              | Background color metadata for UI rendering                   |
| `ratingV2Text`           | Textual label for the rating (e.g. "DELIVERY")               |
| `rating`                 | Rating object with internal metadata                         |

### 🛠 How to Use the Scraper

It’s simple and beginner-friendly:

🔗 Paste the URL of any Zomato restaurant
🔢 Choose how many reviews to extract

🚀 Run the scraper — and get clean, structured Zomato review data in minutes!

### 💰 Pricing

This scraper uses a pay-per-month model. You’re only charged for successful results.

- **Price**: $19.49 per month.

### Related Actors

If you're interested in other social media (Facebook, YouTube, Pinterest & more) or real estate Actors:

- [AllRecipes Search Scraper 🔍🍽️ 👩‍🍳 - Cheap](https://apify.com/scrapestorm/allrecipes-search-scraper---cheap)
- [Facebook Group Members Scraper 📊👥 - Fast & cheap 💬⭐](https://apify.com/scrapestorm/my-actor-1)
- [Facebook Ads Library Scraper 🎯📈 - Fast & cheap 💬⭐](https://apify.com/scrapestorm/facebook-ads-library-scraper---fast-cheap)
- [Facebook Followers & Following Scraper 📊👥 - Fast & cheap 💬⭐](https://apify.com/scrapestorm/facebook-followers-following-scraper---fast-cheap)
- [Facebook Comments Scraper (All-in-One) 💬](https://apify.com/scrapestorm/facebook-comments-scraper-all-in-one)
- [Facebook Likes Scraper (Fast & Cheap) 👍 🌟](https://apify.com/scrapestorm/facebook-likes-scraper-fast-cheap)
- [Pinterest Profiles Search Scraper 🖼️👥🔍](https://apify.com/scrapestorm/pinterest-profiles-search-scraper)
- [Pinterest Boards Search Scraper 🎨🔍](https://apify.com/scrapestorm/pinterest-boards-search-scraper)
- [Pinterest Pins/Videos Search Scraper 🎨🔍](https://apify.com/scrapestorm/pinterest-pins-videos-search-scraper)
- [YouTube Scraper (By Keyword) - ⭐⭐⭐⭐⭐ Fast & cheap](https://apify.com/scrapestorm/youtube)
- [Youtube Shorts Scraper 📺 (Rental) - Fast & cheap](https://apify.com/scrapestorm/youtube-shorts-scraper-rental---fast-cheap)
- [YouTube Transcript Video Scraper 📝 (⚡ Fast & 💸 Cheap)](https://apify.com/scrapestorm/youtube-transcript-videos)
- [Youtube Playlist Scraper 🎵 - Rental (Fast & cheap)](https://apify.com/scrapestorm/youtube-playlist-scraper---rental-fast-cheap)
- [Jobs.ch Search Scraper (Fast & Cheap) 💼 🇨🇭](https://apify.com/scrapestorm/jobs-ch-search-scraper-fast-cheap)
- [Bundesagentur für Arbeit (Arbeitsagentur) Scraper 🇩🇪 💼 Cheap](https://apify.com/scrapestorm/bundesagentur-fur-arbeit-arbeitsagentur-scraper-cheap)
- [SimplyHired Jobs Scraper 💼🔎📈 - Faster & Cheaper](https://apify.com/scrapestorm/simplyhired-jobs-scraper---faster-cheaper)
- [Seek Job / JobStreet Scraper (Advanced & Cheap) 💼](https://apify.com/scrapestorm/seek-job-jobstreet-scraper-advanced-cheap)
- [Practo Doctor Scraper 👨‍⚕️ - Fast & Cheap](https://apify.com/scrapestorm/practo-doctor-scraper---fast-cheap)
- [PropertyFinder Search Scraper 🏡 🏘️ - Cheap](https://apify.com/scrapestorm/propertyfinder-search-scraper---cheap)
- [PropertyFinder Agent - Cheap 🏷️ 🏠👨‍💼](https://apify.com/scrapestorm/propertyfinder-agent---cheap)
- [🛍️ Dubizzle Search Scraper - Cheap 🏷️](https://apify.com/scrapestorm/dubizzle-search-scraper---cheap)
- [Poshmark Product Scraper 👗 - Cheap](https://apify.com/scrapestorm/poshmark-product-scraper---cheap)
- [Netmeds Product Scraper - Cheap 🛒](https://apify.com/scrapestorm/netmeds-product-scraper---cheap)
- [MercadoLibre Search Scraper 📦🌍🛍️ - Cheap & Advanced](https://apify.com/scrapestorm/mercadolibre-search-scraper---cheap-advanced)

***

### 💡 Use Cases

🧠 Sentiment Analysis — Understand what real customers say about restaurants

📈 Market Research — Compare multiple restaurants and review patterns

🧹 Content Moderation — Detect toxic, fake, or suspicious reviews

📊 Automation & Dashboards — Feed structured data into business intelligence tools

🏆 Reputation Monitoring — Track brand perception over time

### 📥 Input Schema

Input example :

```
{
  "maxitems": 20,
  "url_base": "https://www.zomato.com/mumbai/p-bhagat-tarachand-worli"
}




```

Input Fields:

| Field      | Type    | Description                                           |
| ---------- | ------- | ----------------------------------------------------- |
| `maxitems` | integer | 🔢 Maximum number of reviews to scrape                |
| `url_base` | string  | 🔗 Full Zomato restaurant URL to extract reviews from |

### Output

```
{
        "status": "success",
        "message": "N/A",
        "reviewId": 356216816,
        "reviewText": "good 👍",
        "reviewTextSm": "N/A",
        "userName": "Mdzuber Khan",
        "userProfilePic": "https://b.zmtcdn.com/web/assets/2267aec184e096c98c46a1565a5563661664945464.png?fit=around%7C100%3A100&crop=100%3A100%3B%2A%2C%2A",
        "userProfileUrl": "https://www.zomato.com/users/mdzuber-khan-212412720",
        "userImagePlaceholder": "https://b.zmtcdn.com/images/placeholder_200.png",
        "reviewUserId": 212412720,
        "urbanspoonStatus": 0,
        "userReviewsCount": 0,
        "userFollowersCount": 0,
        "isFollowed": false,
        "timestamp": "4 days ago",
        "likeCount": 0,
        "isLikedByUser": false,
        "comments": [],
        "managementComments": [],
        "moreManagementComments": false,
        "commentCount": 0,
        "moreComments": false,
        "reviewPhotos": [],
        "reviewTags": [],
        "reviewUrl": "https://www.zoma.to/mBlYrDm",
        "externalUrl": "N/A",
        "externalHost": "N/A",
        "externalHostText": "N/A",
        "isEditable": false,
        "experience": "o2_delivery",
        "newRatingColor": "#ED5A6B",
        "ratingV2": "5",
        "bgColorV2": {
            "type": "green",
            "tint": "800"
        },
        "ratingV2Text": "DELIVERY",
        "rating": {
            "entities": [
                {
                    "entity_type": "RATING",
                    "entity_ids": [
                        1019777699
                    ]
                }
            ]
        }
}

```

### 📫 Support

😊 Leave us a star ⭐⭐⭐⭐⭐ if you are satisfied with the product!
🌍 For any questions, specific needs or issues, please reach out through Apify's platform or via email - [Storm\_Scraper 🌪️🌩️](https://apify.com/scrapestorm)

# Actor input Schema

## `url_base` (type: `string`):

Paste the zomato link

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

Limits how many reviews will be scraped from the listing pages.

## Actor input object example

```json
{
  "url_base": "https://www.zomato.com/mumbai/p-bhagat-tarachand-worli",
  "maxitems": 20
}
```

# 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 = {
    "url_base": "https://www.zomato.com/mumbai/p-bhagat-tarachand-worli",
    "maxitems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapestorm/zomato-reviews-scraper---cheap").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 = {
    "url_base": "https://www.zomato.com/mumbai/p-bhagat-tarachand-worli",
    "maxitems": 20,
}

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

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

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

```

## CLI example

```bash
echo '{
  "url_base": "https://www.zomato.com/mumbai/p-bhagat-tarachand-worli",
  "maxitems": 20
}' |
apify call scrapestorm/zomato-reviews-scraper---cheap --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapestorm/zomato-reviews-scraper---cheap",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Zomato Reviews Scraper 🔍🇮🇳💬 - Cheap",
        "description": "🔍 Easily Scrape Zomato Reviews\nEnter a restaurant URL to collect real customer reviews from Zomato 🍽️\nGet insights such as review text, rating, author, timestamp, experience type & more 🕵️‍♀️\nSeamlessly integrate with tools like Google Drive to automate workflows and boost productivity ⚡📊",
        "version": "0.0",
        "x-build-id": "pJA4dkUQHlx0TqYmN"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapestorm~zomato-reviews-scraper---cheap/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapestorm-zomato-reviews-scraper---cheap",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapestorm~zomato-reviews-scraper---cheap/runs": {
            "post": {
                "operationId": "runs-sync-scrapestorm-zomato-reviews-scraper---cheap",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapestorm~zomato-reviews-scraper---cheap/run-sync": {
            "post": {
                "operationId": "run-sync-scrapestorm-zomato-reviews-scraper---cheap",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "url_base"
                ],
                "properties": {
                    "url_base": {
                        "title": "Paste the Zomato URL 🌍 in the format: https://www.zomato.com/<city>/<restaurant-name>",
                        "type": "string",
                        "description": "Paste the zomato link",
                        "default": "https://www.zomato.com/mumbai/p-bhagat-tarachand-worli"
                    },
                    "maxitems": {
                        "title": "Maximum number of reviews to scrape 🔢",
                        "type": "integer",
                        "description": "Limits how many reviews will be scraped from the listing pages.",
                        "default": 20
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
