Zomato Scraper avatar

Zomato Scraper

Under maintenance

Pricing

Pay per event

Go to Apify Store
Zomato Scraper

Zomato Scraper

Under maintenance

Scrape 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

BowTiedRaccoon

Maintained by Community

Actor 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:

FieldDescription
restaurant_idUnique Zomato restaurant ID
nameRestaurant name
urlZomato listing URL
cuisineComma-separated cuisine types
ratingAggregate rating (e.g. "4.2")
rating_textRating label (e.g. "Very Good")
votesNumber of ratings
cost_for_twoCost for two people (e.g. "600 for two")
addressFull street address
localityNeighbourhood name
cityCity slug (mirrors input)
timingOpening hours text
image_urlRestaurant cover image URL
has_online_deliveryWhether delivery is enabled
scraped_atISO timestamp of when the record was collected

Input

FieldTypeRequiredDefaultDescription
citySlugstringyesncrZomato city URL slug. Find it in the URL: zomato.com/<city-slug>/restaurants
maxItemsintegerno10Maximum restaurants to return. Leave blank to fetch all available.

Common city slugs

CitySlug
Delhi NCRncr
Mumbaimumbai
Bangalorebangalore
Hyderabadhyderabad
Chennaichennai
Punepune
Dubaidubai

Usage

  1. Open the actor on Apify.
  2. Set citySlug to your target city (e.g. mumbai).
  3. Optionally set maxItems to limit results.
  4. 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 maxItems to 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.