---
title: "Get one Zomato restaurant's menu"
method: GET
path: "/zomato/restaurant/menu"
tags: ["Zomato"]
---

# Get one Zomato restaurant's menu

`GET /zomato/restaurant/menu`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/zomato/restaurant/menu`
- Auth: API key in header `x-api-key`

Returns one restaurant's menu grouped into categories, plus its restaurant summary. A category is named by Zomato's own sub-heading when it has one (e.g. "Veg Burgers") and otherwise by the menu section it sits under (e.g. "Burgers"), since most restaurants name only the section level. Each item carries a name, description, veg/non-veg flag, image, and price when Zomato's own anonymous response includes one -- confirmed live, item prices are commonly gated behind login for the delivery-ordering flow, so price is frequently absent even though the item itself is public.

## Query parameters

- `url` string, required

## Headers

- `x-api-key` string, required

## Response `200`

OK

- ZomatoMenuResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` ZomatoMenuResponse
    - `categories` ZomatoMenuCategory[]
      - `items` ZomatoMenuItem[]
        - `description` string
        - `id` string
        - `image_url` string
        - `is_veg` boolean
        - `name` string
        - `price` number
      - `name` string
    - `restaurant` ZomatoRestaurantResponse
      - `address` string
      - `city` string: City/Zipcode/Country/Latitude/Longitude come from the same contact section Address and Locality already do -- Zipcode is frequently blank or "0" upstream and is omitted when it is.
      - `country` string
      - `cuisines` string[]
      - `delivery` ZomatoRestaurantDelivery
        - `has_online_ordering` boolean
        - `is_serviceable` boolean
        - `min_order_amount` number
        - `pickup_available` boolean
        - `time` string
      - `id` string
      - `image_url` string
      - `is_dark_kitchen` boolean
      - `is_delivery_only` boolean: IsDeliveryOnly marks a kitchen Zomato lists for delivery only (no dining), IsDarkKitchen a delivery-only kitchen with no storefront at all, and the two closed flags Zomato's own temporary/permanent closure states.
      - `is_permanently_closed` boolean
      - `is_temporarily_closed` boolean
      - `latitude` number
      - `locality` string
      - `longitude` number
      - `name` string
      - `opening_hours` ZomatoOpeningHours[]: OpeningHours is the full weekly table behind the single-line Timing string above.
        - `days` string
        - `timing` string
      - `phone` string
      - `rating` number
      - `rating_count` string
      - `ratings` ZomatoRestaurantRatings
        - `delivery` ZomatoSplitRating
          - `rating` number
          - `review_count` string
        - `dining` ZomatoSplitRating
          - `rating` number
          - `review_count` string
      - `status_text` string
      - `timing` string
      - `url` string
      - `zipcode` string
  - `msg` unknown

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
