Zomato Restaurants API
The delivery restaurants Zomato lists in a city or at a point, with ratings, cost for two, delivery time and current offer.
- 1 credit per call
- Failed calls are free
- Updated
- zomato.restaurants.list
{ "city": "Delhi NCR", "count": 5, "latitude": 28.625789, "longitude": 77.210276, "source_url": "https://www.zomato.com/ncr/delivery", "results": [ { "name": "KFC", "address": "A 12, Inner Circle, A Block, Connaught Place, New Delhi", "aggregate_rating": 3.7, "cuisine_string": "Burger, Rolls, Fast Food, Beverages", "delivery_available": true, "delivery_eta_minutes": 25, "delivery_rating": 4, "delivery_review_count": 7595, "dining_rating": 3.3, "dining_review_count": 1008, "locality": "Connaught Place, New Delhi", "online_ordering": true, "rank": 3, "res_id": "931", "restaurant_id": "931", "slug": "kfc-connaught-place-new-delhi", "source_url": "https://www.zomato.com/ncr/delivery", "url": "https://www.zomato.com/ncr/kfc-connaught-place-new-delhi/order", "votes": 8603, "zomato_gold": false, "cost_for_two": { "text": "₹400 for two", "amount": 400, "currency": "INR" }, "offer": { "discount_text": "₹140 OFF", "is_gold": false }, "query_context": { "latitude": 28.625789, "longitude": 77.210276 }, "cuisines": [ "Burger", "Rolls" ], "offers": [ { "discount_text": "₹140 OFF", "is_gold": false } ] }, { "name": "McDonald's", "address": "42, Atul Grove Road, Janpath, New Delhi", "aggregate_rating": 4.1, "cuisine_string": "Burger, Wraps, Fast Food, Beverages", "delivery_available": true, "delivery_eta_minutes": 30, "delivery_rating": 4.3, "delivery_review_count": 12300, "dining_rating": 3.8, "dining_review_count": 374, "locality": "Janpath, New Delhi", "online_ordering": true, "rank": 4, "res_id": "182", "restaurant_id": "182", "slug": "mcdonalds-janpath-new-delhi", "source_url": "https://www.zomato.com/ncr/delivery", "url": "https://www.zomato.com/ncr/mcdonalds-janpath-new-delhi/order", "votes": 12600, "zomato_gold": false, "cost_for_two": { "text": "₹400 for two", "amount": 400, "currency": "INR" }, "query_context": { "latitude": 28.625789, "longitude": 77.210276 }, "cuisines": [ "Burger", "Wraps" ] } ]}
| # | Restaurant | Rating | Cuisines | Cost for two | Delivery (min) | Locality | Address | Delivery available | Delivery rating | Delivery review count |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | KFC | 3.7 | Burger, Rolls, Fast Food, Beverages | ₹400 for two | 25 | Connaught Place, New Delhi | A 12, Inner Circle, A Block, Connaught Place, New Delhi | true | 4 | 7595 |
| 2 | McDonald's | 4.1 | Burger, Wraps, Fast Food, Beverages | ₹400 for two | 30 | Janpath, New Delhi | 42, Atul Grove Road, Janpath, New Delhi | true | 4.3 | 12,300 |
| 3 | Domino's Pizza | 3.8 | Pizza, Beverages, Desserts | ₹350 for two | 25 | Connaught Place, New Delhi | Shop 23, Regal Building, Connaught Place, New Delhi | true | 4.4 | 3300 |
| 4 | Connaught Place SOCIAL | 4.3 | Mexican, Bar Food, Chinese, Fusion, North Indian, Momos, Shake,… | ₹1,500 for two | 35 | Connaught Place, New Delhi | Plot 5, 1st Floor, Block B, Middle Circle, Connaught Place, New… | true | 4.1 | 2148 |
| 5 | Haldiram's | 3.4 | Biryani, North Indian, Mithai, Street Food, South Indian, Chine… | ₹600 for two | 30 | Janpath, New Delhi | Shop 70, Janpath, Atul Grove Road, Janpath, New Delhi | true | 4 | 11,400 |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| latitude | number | one of | Latitude of a delivery point, with longitude, as an alternative to the city. | |
| longitude | number | one of | Longitude of the delivery point. | |
| city | string | no | The city's name as Zomato uses it in links, such as ncr, mumbai or bangalore. The Cities API lists them. | ncr |
| limit | integer | no | The most restaurants to return. | 5 |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| results[].name | string | The name of the city, restaurant, dish or choice. | KFC |
| results[].aggregate_rating | number | The restaurant's overall rating, out of 5. | 3.7 |
| results[].cuisine_string | string | The cuisines as one line. | Burger, Rolls, Fast Food, Beverages |
| results[].cost_for_two.text | string | The amount as Zomato shows it. | ₹400 for two |
| results[].delivery_eta_minutes | integer | Zomato's delivery time estimate, in minutes. | 25 |
| results[].locality | string | The restaurant's locality. | Connaught Place, New Delhi |
| results[].address | string | The restaurant's address. | A 12, Inner Circle, A Block, Connaught Place, New Delhi |
| results[].cost_for_two | object | Zomato's price guide for two people. | 3 fields |
| results[].cost_for_two.amount | integer | The amount. | 400 |
| results[].cost_for_two.currency | string | The currency. | INR |
| results[].cuisines | array | The restaurant's cuisines. | Burger, Rolls, Fast Food |
| results[].delivery_available | boolean | Whether delivery is available. | true |
| results[].delivery_rating | integer | The restaurant's delivery rating, out of 5. | 4 |
| results[].delivery_review_count | integer | How many delivery reviews the restaurant has. | 7595 |
| results[].dining_rating | number | The restaurant's dining rating, out of 5. | 3.3 |
| results[].dining_review_count | integer | How many dining reviews the restaurant has. | 1008 |
| results[].offer | object | The restaurant's offer. | 2 fields |
| results[].offer.discount_text | string | The discount as Zomato shows it. | ₹140 OFF |
| results[].offer.is_gold | boolean | Whether the restaurant offers Zomato Gold benefits. | false |
| results[].offers | array | The restaurant's offers. | 1 records |
| results[].offers[].discount_text | string | ₹140 OFF | |
| results[].offers[].is_gold | boolean | false | |
| results[].online_ordering | boolean | Whether the restaurant takes online orders. | true |
| results[].query_context | object | 2 fields | |
| results[].query_context.latitude | number | Latitude. | 28.63 |
| results[].query_context.longitude | number | Longitude. | 77.21 |
| results[].rank | integer | The restaurant's place in the results. | 3 |
| results[].res_id | string | Zomato's ID for the restaurant. | 931 |
| results[].restaurant_id | string | Zomato's ID for the restaurant. | 931 |
| results[].slug | string | The name in the page's address. | kfc-connaught-place-new-delhi |
| results[].source_url | string | The Zomato page this came from. | https://www.zomato.com/ncr/delivery |
| results[].url | string | The page on Zomato. | https://www.zomato.com/ncr/kfc-connaught-place-new-delhi/order |
| results[].votes | integer | How many ratings the restaurant has. | 8603 |
| results[].zomato_gold | boolean | Whether the restaurant offers Zomato Gold benefits. | false |
| city | string | The city. | Delhi NCR |
| count | integer | How many results this response holds. | 5 |
| latitude | number | Latitude. | 28.63 |
| longitude | number | Longitude. | 77.21 |
| results | array | The results. | 5 records |
| source_url | string | The Zomato page this came from. | https://www.zomato.com/ncr/delivery |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "zomato.restaurants.list", "input": { "city": "ncr", "limit": 5 }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "zomato.restaurants.list", "input": { "city": "ncr", "limit": 5 }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "zomato.restaurants.list", "input": { "city": "ncr", "limit": 5 }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
Use Upscrape to list the delivery restaurants Zomato shows in Delhi NCR. Make a table of name, rating, cuisines, cost for two and delivery time.
More from the Zomato API
- Zomato Restaurant API1 credit
- Zomato Reviews API1 credit
- Zomato Dining Offers API1 credit
- Zomato Order Menu API1 credit
- Zomato Delivery Serviceability API1 credit
- Zomato All Restaurants API1 credit
- Zomato Search API1 credit
- Zomato Location Search API1 credit
- Zomato Cities API1 credit
- Zomato Cuisines API1 credit
- Zomato Collections API1 credit
- Zomato Menu Images API1 credit
- Zomato Menu Images API1 credit
The same data from other platforms
Zomato Restaurants API FAQ
The short answers. The docs have the long ones.
How much does the Zomato Restaurants API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send latitude or longitude. The input fields below list every option with its type and limits.
Do I need a Zomato login?
No. It reads public Zomato data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds zomato.restaurants.list, checks its price and runs it with the same credits as the REST API.
Your first Zomato call is free.
Up to 100 free credits to start, no card needed.