Zomato Scraper
Under maintenancePricing
Pay per event
Zomato Scraper
Under maintenanceScrape restaurant listings from Zomato for major Indian and UAE cities. Extracts name, cuisine, ratings, cost for two, address, location, timings, and delivery info from Zomato's internal webroutes API.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape restaurant listings from Zomato for major Indian and UAE cities. Extracts name, cuisine, ratings, cost-for-two, address, locality, timings, and online delivery status from Zomato's internal JSON API.
What it scrapes
Each result contains:
| Field | Description |
|---|---|
restaurant_id | Unique Zomato restaurant ID |
name | Restaurant name |
url | Zomato listing URL |
cuisine | Comma-separated cuisine types |
rating | Aggregate rating (e.g. "4.2") |
rating_text | Rating label (e.g. "Very Good") |
votes | Number of ratings |
cost_for_two | Cost for two people (e.g. "600 for two") |
address | Full street address |
locality | Neighbourhood name |
city | City slug (mirrors input) |
timing | Opening hours text |
image_url | Restaurant cover image URL |
has_online_delivery | Whether delivery is enabled |
scraped_at | ISO timestamp of when the record was collected |
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
citySlug | string | yes | ncr | Zomato city URL slug. Find it in the URL: zomato.com/<city-slug>/restaurants |
maxItems | integer | no | 10 | Maximum restaurants to return. Leave blank to fetch all available. |
Common city slugs
| City | Slug |
|---|---|
| Delhi NCR | ncr |
| Mumbai | mumbai |
| Bangalore | bangalore |
| Hyderabad | hyderabad |
| Chennai | chennai |
| Pune | pune |
| Dubai | dubai |
Usage
- Open the actor on Apify.
- Set
citySlugto your target city (e.g.mumbai). - Optionally set
maxItemsto limit results. - Click Start and wait for the dataset to populate.
How it works
The actor calls Zomato's undocumented /webroutes/getPage JSON API used by the site's own Next.js frontend. This endpoint returns paginated restaurant cards (~9 per page) for a given city, sorted by popularity. Pagination is driven by a page_number cursor; the actor stops when the API's hasMore flag is false or maxItems is reached.
Indian residential proxy exits are used to reach the API, as it returns HTML for non-Indian IPs.
Notes
- Popularity sort only. The API is sorted by popularity. Custom sort orders are not supported by this actor.
- ~9 restaurants per page. Large cities (e.g. NCR) may have thousands of listings; use
maxItemsto cap results for exploratory runs. - Global cities. Dubai and other non-Indian cities are also supported where Zomato operates.
- No login required. The actor does not require a Zomato account.