---
title: "Get one Swiggy restaurant's detail"
method: GET
path: "/swiggy/restaurant"
tags: ["Swiggy"]
---

# Get one Swiggy restaurant's detail

`GET /swiggy/restaurant`

## Request

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

Returns one Swiggy restaurant's detail by id: name, city, area, address, postal code, coordinates, phone, cuisines, cost for two, rating and total rating count, delivery time, weekly opening hours with the current open/closed callout, plus the promotions Swiggy currently shows on that restaurant's page (headline discount, conditions, and coupon code when one is needed). Swiggy has no lighter restaurant-detail-only source -- this reads the same upstream as /swiggy/restaurant/menu, just without the menu items.

## Query parameters

- `restaurant_id` string, required
- `latitude` number, required
- `longitude` number, required

## Headers

- `x-api-key` string, required

## Response `200`

OK

- SwiggyRestaurantResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` SwiggyRestaurantResponse
    - `offers` SwiggyOffer[]
      - `coupon_code` string
      - `description` string
      - `tag` string
      - `title` string
    - `restaurant` SwiggyRestaurant
      - `address` string
      - `area` string
      - `city` string
      - `cost_for_two` string
      - `cuisines` string[]
      - `delivery_time_minutes` integer
      - `dishes` SwiggyMenuItem[]: Dishes are the menu items that actually matched a /swiggy/search query, carried only by Swiggy's own "Dishes" search tab (tab=dish). Empty on the restaurant tab, on a plain nearby browse, on a collection browse, and on /swiggy/restaurant -- none of those upstream shapes carry per-restaurant dish matches.
        - `category` string
        - `description` string
        - `discounted_price` number
        - `id` string
        - `image_url` string
        - `in_stock` boolean
        - `is_veg` boolean
        - `name` string
        - `price` number
        - `rating` number: Rating and TotalRatings are Swiggy's own aggregate score and review count for this individual dish, the same two fields a restaurant carries. Omitted when the dish has no rating yet. Only the headline aggregate is returned -- individual reviews and reviewer identity are out of scope for this platform.
        - `total_ratings` integer
      - `external_rating` SwiggyExternalRating
        - `count` string
        - `rating` number
        - `source` string
      - `hours_message` string
      - `hours_status` string: HoursStatus/HoursMessage are Swiggy's own live open/close callout for this outlet ("Open now" / "Closes 11:30 pm"); OpeningHours is its weekly schedule. Only the restaurant detail and menu responses carry these -- search and collection listing cards do not, so they are empty on /swiggy/search results.
      - `id` string
      - `image_url` string
      - `is_open` boolean
      - `is_promoted` boolean: IsPromoted reports whether Swiggy itself labels this a promoted (sponsored, paid-placement) result rather than an organic one. Present and true only for those; Swiggy marks none on a plain nearby browse.
      - `latitude` number
      - `locality` string
      - `longitude` number
      - `name` string
      - `offers` SwiggyOffer[]: Offers are the promotions Swiggy shows on this restaurant's own listing card in a search, browse, or collection result -- the headline discount and its condition, its badge, and any separate free-delivery benefit. Absent when the card shows no promotion, and on /swiggy/restaurant and /swiggy/restaurant/menu, whose responses carry the restaurant's fuller offer list at the top level instead.
        - `coupon_code` string
        - `description` string
        - `tag` string
        - `title` string
      - `opening_hours` SwiggyOpeningHours[]
        - `day` string
        - `hours` string
      - `phone` string
      - `postal_code` string
      - `rating` number
      - `rating_count` string
      - `total_ratings` integer
      - `unavailable_message` string: UnavailableMessage is Swiggy's own reason this listed restaurant cannot be ordered from right now ("Currently not taking orders for this location", "Opens next at 5 pm, today", "Temporarily closed for delivery"). Absent for a restaurant that is currently orderable. Note it is not simply the inverse of is_open: a restaurant Swiggy reports as open can still be unavailable for the requested location.
  - `msg` unknown

## Other responses

- `400`: Bad Request
- `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/afac9b012a27?raw)
