↑ ↓ to move ↵ to open
Zomato API · Endpoint

Zomato Dining Offers API

A restaurant's current dining offers: discount, title, when it is valid and whether booking or a bank card is needed.

  • 1 credit per call
  • Failed calls are free
  • Updated
  • zomato.restaurant.offers
Response completed
{  "count": 5,  "res_id": "18439027",  "offers": [    {      "title": "Flat 25% OFF",      "bank_offer": false,      "description": "Valid from 4:45PM to 6PM today Booking required",      "discount_type": "percentage",      "discount_value": 25,      "heading": "PRE-BOOK OFFER",      "type": "dining_benefit",      "valid_from_local": "2026-10-05T16:45:00",      "valid_until_local": "2026-10-05T18:00:00",      "zomato_gold_required": false    },    {      "title": "Flat 15% OFF",      "bank_offer": false,      "description": "on bill payments",      "discount_type": "percentage",      "discount_value": 15,      "heading": "INSTANT OFFER",      "type": "dining_gold",      "zomato_gold_required": true    }  ]}
Try it live, free
Input

What you send

The input object of the request, with every field the endpoint accepts.

FieldTypeRequiredWhat it doesExample
res_id string one of Another name for restaurant_id, kept for older requests.
restaurant_id string one of The restaurant's numeric Zomato ID. 18439027
url string one of The restaurant's Zomato link, as an alternative to the ID.
Response

Fields it returns

What each record in the response holds, with the values from the sample above.

FieldTypeWhat it isExample
offers[].title string The collection's title. Flat 25% OFF
offers[].heading string The offer's headline. PRE-BOOK OFFER
offers[].discount_value integer The size of the discount. 25
offers[].description string The collection's description. Valid from 4:45PM to 6PM today Booking required
offers[].bank_offer boolean Whether the offer needs a particular bank's card. false
offers[].discount_type string Whether the discount is a percentage or an amount. percentage
offers[].type string The kind of offer. dining_benefit
offers[].valid_from_local string When the offer starts, in local time. 2026-10-05T16:45:00
offers[].valid_until_local string When the offer ends, in local time. 2026-10-05T18:00:00
offers[].zomato_gold_required boolean Whether the offer needs Zomato Gold. false
count integer How many results this response holds. 5
offers array The restaurant's offers. 5 records
res_id string Zomato's ID for the restaurant. 18439027
REST API · MCP server

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.restaurant.offers",  "input": {    "restaurant_id": "18439027"  }}'
In your AI agent Claude · Cursor · any MCP client
1Add the Upscrape MCP server
https://data.upscrape.com/mcp
2Ask for the data in plain words

Using Upscrape, list the current Zomato dining offers at Skyhilton, Lucknow, with the discount and when each one is valid.

The agent finds the endpoint, shows you the price, and runs it with your credits.
Zomato

More from the Zomato API

Same data, other platforms

The same data from other platforms

Questions

Zomato Dining Offers API FAQ

The short answers. The docs have the long ones.

Still have a question? Talk to the people who build the endpoints.
How much does the Zomato Dining Offers 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 restaurant_id or res_id or url. 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.restaurant.offers, checks its price and runs it with the same credits as the REST API.

Get started

Your first Zomato call is free.

Up to 100 free credits to start, no card needed.