Zomato scraper API

Scrapes Zomato restaurant listings, search results, restaurant details, menus, reviews, cuisines, and collections via…

Commerce & delivery 11 capabilities stable 9.1% success rate

Capabilities

Every capability is one POST /execute call that returns structured JSON.

Cities

zomato.cities

List Zomato delivery cities.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"limit":50},"capability":"zomato.cities"}'

Input

Field Type Required Description
limit integer optional

Output

Field Type Required Description
cities array<object> optional
cities[].name string optional
cities[].slug string optional
cities[].url string optional
count integer optional

Get Collections

zomato.collections

Fetch featured collections from a Zomato restaurant page.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"res_id":"18439027"},"capability":"zomato.collections"}'

Input

Field Type Required Description
res_id string required

Output

Field Type Required Description
collections array<object> optional
count integer optional
res_id string optional
source_url string optional

Get Cuisines

zomato.cuisines

Extract cuisine list with deeplink filters from a Zomato restaurant page.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"res_id":"18439027"},"capability":"zomato.cuisines"}'

Input

Field Type Required Description
res_id string required

Output

Field Type Required Description
count integer optional
cuisines array<object> optional
cuisines[].deeplink string optional
cuisines[].name string optional
cuisines[].url string optional
res_id string optional
source_url string optional

Location Search

zomato.location.search

Search Zomato locations (cities, neighborhoods, landmarks) by name.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"query":"Connaught Place"},"capability":"zomato.location.search"}'

Input

Field Type Required Description
limit integer optional
query string required

Output

Field Type Required Description
count integer optional
query string optional
source_url string optional
suggestions array<object> optional

Get Restaurant

zomato.restaurant.get

Fetch full Zomato restaurant detail: info, cuisines, ratings, hours, address, phone, cost.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"res_id":"18439027"},"capability":"zomato.restaurant.get"}'

Input

Field Type Required Description
res_id string required

Output

Field Type Required Description
address string optional
aggregate_rating string optional
city string optional
cost_for_two string optional
cuisine_string string optional
cuisines array<string> optional
delivery_rating string optional
dining_rating string optional
highlights array<string> optional
image_url string optional
latitude number optional
locality string optional
longitude number optional
name string optional
phone string optional
res_id string optional
source_url string optional
timing string optional
top_dishes array<string> optional
url string optional
votes string optional

Get Menu

zomato.restaurant.menu

Fetch restaurant menu photos and items from the Zomato info page.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"res_id":"18439027"},"capability":"zomato.restaurant.menu"}'

Input

Field Type Required Description
limit integer optional
res_id string required

Output

Field Type Required Description
count integer optional
items array<object> optional
res_id string optional
source_url string optional

Order Menu

zomato.restaurant.ordermenu

Fetch the full ordering menu for a restaurant: dishes with names, descriptions, images, veg/non-veg tags, and modifier groups (addons/variants with prices).

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"url":"/ncr/behrouz-biryani-connaught-place-new-delhi/order"},"capability":"zomato.restaurant.ordermenu"}'

Input

Field Type Required Description
limit integer optional
res_id string optional
url string optional

Output

Field Type Required Description
categories array<object> optional
count integer optional
modifiers array<object> optional
res_id string optional
restaurant_name string optional
source_url string optional

Get Reviews

zomato.restaurant.reviews

Fetch restaurant reviews from the Zomato info page.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"res_id":"18439027"},"capability":"zomato.restaurant.reviews"}'

Input

Field Type Required Description
limit integer optional
res_id string required

Output

Field Type Required Description
count integer optional
res_id string optional
reviews array<object> optional
source_url string optional

List All Restaurants

zomato.restaurants.all

Crawl a Zomato city grid and stream deduplicated delivery restaurants. Supports city presets, explicit bounds, or center+radius.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"center_latitude":28.6315,"center_longitude":77.2167,"city":"ncr","max_restaurants":100,"radius_km":5,"step_km":2},"capability":"zomato.restaurants.all"}'

Input

Field Type Required Description
center_latitude number optional
center_longitude number optional
city string optional
concurrency integer optional
max_cells integer optional
max_latitude number optional
max_longitude number optional
max_restaurants integer optional
min_latitude number optional
min_longitude number optional
radius_km number optional
step_km number optional

Output

Field Type Required Description
city string optional
source_url string optional
total_items integer optional

List Restaurants

zomato.restaurants.list

List delivery restaurants for a Zomato city.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"city":"ncr","limit":10},"capability":"zomato.restaurants.list"}'

Input

Field Type Required Description
city string optional
latitude number optional
limit integer optional
longitude number optional

Output

Field Type Required Description
city string optional
count integer optional
latitude number optional
longitude number optional
results array<object> optional
source_url string optional

Search

zomato.search

Search Zomato restaurants by query and location.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"latitude":28.6257,"longitude":77.2102,"query":"biryani"},"capability":"zomato.search"}'

Input

Field Type Required Description
city string optional
latitude number optional
limit integer optional
longitude number optional
query string required

Output

Field Type Required Description
count integer optional
has_more boolean optional
latitude number optional
longitude number optional
query string optional
results array<object> optional
source_url string optional

Run Zomato in under a minute

Sign in, create an API key, and try any capability in the playground before you write code.

Get an API key