Crawlzodocs
API referenceZomato

Zomato outlet

One restaurant's full record on Zomato.

Provide either the numeric res_id or the restaurant url. The id is one request. A normal restaurant URL (/<city>/<slug>) costs two, because it carries no id and the id is not derivable from the slug, Zomato's own /restaurant/<id> links are the exception and still cost one. Every listing and review response returns res_id, so the cheap form is usually to hand.

Returns name, both channel ratings with their counts, cuisines, cost for two, full address with coordinates, phone, opening hours, highlights/features, menu-card thumbnails and the photo carousel.

Closure is read from Zomato's status string, not from its is_perm_closed boolean, that flag reads false on outlets Zomato itself labels permanently closed, so is_permanently_closed here is derived from status_text.

The example response below is real output from this endpoint, not an illustration. Long lists and long strings are shortened to keep the page readable, and each place that happens is marked. This example took 4.1s.

POST
/v1/scrapers/zomato-outlet-v4

Authorization

ApiKeyAuth
X-API-Key<token>

Your API key. Sent on every request.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/scrapers/zomato-outlet-v4" \  -H "Content-Type: application/json" \  -d '{    "res_id": "21959252"  }'
{  "request_id": "req_8f2c1d94e7b0",  "success": true,  "status": {    "code": "OK",    "message": "Scrape completed.",    "retryable": false  },  "data": {    "address": "48/2, 48/3, Brigade Garden, Shanthinagara, Brigade Road, Bangalore",    "city": "Bangalore",    "cost_for_two_text": "₹2,000 for two people (approx.) Without alcohol",    "country": "India",    "cuisines": [      "North Indian",      "South Indian",      "… 6 more items in the full response"    ],    "has_more_photos": true,    "highlights": [      "Dinner",      "Lunch",      "… 16 more items in the full response"    ],    "image": "https://b.zmtcdn.com/data/pictures/2/21959252/fba6e2e215dad9f7c1650d19a96fd6ef_featured_v2.jpg",    "images": [      "https://b.zmtcdn.com/data/pictures/2/21959252/2ac9e2ae93c6494c7b8ed8e92f7e64ca.jpg",      "https://b.zmtcdn.com/data/pictures/2/21959252/33e8b72a19bd87a1d5ca13b5db7eb74e.jpg",      "… 7 more items in the full response"    ],    "is_permanently_closed": false,    "latitude": 12.973220837,    "locality": "Brigade Road, Bangalore",    "longitude": 77.6074963651,    "menu_images": [      {        "label": "Food Menu",        "pages": "3 pages",        "thumbnail": "https://b.zmtcdn.com/data/menus/252/21959252/ce28b969d92c4a2c5004eee5ffe619ed.jpeg?fit=around%7C200%3A200&crop=200%3A200%3B%2A%2C%2A"      },      {        "label": "Bar Menu",        "pages": "4 pages",        "thumbnail": "https://b.zmtcdn.com/data/menus/252/21959252/aca9727c627e6471c6b4eec006c84987.jpg?fit=around%7C200%3A200&crop=200%3A200%3B%2A%2C%2A"      }    ],    "name": "Cahoots",    "opening_hours": [      {        "days": "Mon-Sun",        "hours": "11am – 1am"      }    ],    "phone": "+918884440794",    "postal_code": "560042",    "rating": 4.5,    "rating_count": 1648,    "rating_label": "Good",    "ratings": {      "delivery": {        "label": "DELIVERY",        "rating": 2.7,        "review_count": 8      },      "dining": {        "label": "DINING",        "rating": 4.5,        "review_count": 1648      }    },    "res_id": "21959252",    "status_text": "Open now",    "timing_text": "11am – 1am (Today)",    "url": "https://www.zomato.com/bangalore/cahoots-brigade-road-bangalore"  },  "error": null,  "meta": {    "client_id": "client_abc123",    "scraper": "zomato-outlet-v4",    "billable": true,    "duration_ms": 3556  }}