OrbTop

Zomato Scraper

ECOMMERCE

Zomato Scraper

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

  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.