Food-delivery menu and price monitoring
Usa los endpoints de Swiggy para convertir food-delivery menu and price monitoring en solicitudes API repetibles con inputs documentados y respuestas JSON.
Turn Swiggy's public food-delivery data into structured JSON — restaurant and dish search around a latitude/longitude with veg, rating, offer and sort filters and a separate dish tab, the curated dish and cuisine collections Swiggy's own homepage surfaces for a location, one restaurant's detail, and its full menu grouped into categories with prices. Credential-free, including the AWS WAF challenge cleared server-side.
Search Swiggy restaurants and dishes by coordinate, browse curated collections, and get restaurant detail with full priced menus as JSON.
Familias de endpoints
3
Parámetros documentados
22
Ejemplos
4
Snapshot en vivo del catálogo
Endpoints activos
4
Métodos
GET
Parámetros obligatorios
14
Referencias de esquema
4
{
"platform": "Swiggy",
"endpoint": "swiggy-search",
"method": "GET",
"path": "/swiggy/search",
"auth": "apiKey"
}Casos de uso
Search Swiggy restaurants and dishes by coordinate, browse curated collections, and get restaurant detail with full priced menus as JSON.
Usa los endpoints de Swiggy para convertir food-delivery menu and price monitoring en solicitudes API repetibles con inputs documentados y respuestas JSON.
Usa los endpoints de Swiggy para convertir restaurant coverage and offer research en solicitudes API repetibles con inputs documentados y respuestas JSON.
Usa los endpoints de Swiggy para convertir india q-commerce market analysis en solicitudes API repetibles con inputs documentados y respuestas JSON.
Ejecución gestionada
Cada cifra de abajo se lee directamente del catálogo de endpoints en vivo de Swiggy — 4 endpoints, 22 parámetros de solicitud documentados y 4 esquemas de respuesta publicados — el mismo catálogo contra el que corren Docs y Playground.
4 documented Swiggy endpoints, grouped into 3 request families — Restaurant, Collections and Search.
22 request parameters are documented across those Swiggy endpoints, 14 of them required — the full input contract is public before you write any integration code.
4 of the 4 Swiggy endpoints ship a recorded example response, and 4 carry a documented response schema — you can code against the real JSON before the first request.
Swiggy endpoints document their error responses (400 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
4 hosted MCP tools back the Swiggy endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Mapa de cobertura
Estas tarjetas se generan a partir del catálogo de endpoints activo, así que la landing page refleja la misma superficie de API que usan Docs y Playground.
/swiggy/restaurant
/swiggy/collections
/swiggy/search
Catálogo de endpoints
/swiggy/searchReturns restaurants delivering to a latitude/longitude, optionally filtered by a keyword or browsed within a curated collection. With no query and no collection_id this browses the nearby-restaurant listing; with a query it runs a keyword search across restaurant names, cuisines, and dishes; with a collection_id (from /swiggy/collections) it browses restaurants within that curated collection. query and collection_id are mutually exclusive. Keyword search has two result tabs, selected with tab: dish (the default) returns restaurants that serve a matching dish, each with the matching dishes, their prices, and Swiggy's own per-dish rating where it has one, in a dishes array; restaurant returns restaurants whose own name or cuisine matches, a wider set with no dishes. tab, veg, min_rating and offers are only valid together with query. sort works with either query (relevance, delivery_time, rating) or collection_id (those three plus cost_low_to_high and cost_high_to_low), and is rejected on a plain nearby browse. Each restaurant carries its id (the value the restaurant and menu endpoints take), name, cuisines, cost for two, rating, delivery time, open/closed status, a hero image, and, where one is shown, an external_rating block with the third-party aggregate score, count, and source. Where the result card advertises a promotion it also carries offers, the same title/description/tag shape /swiggy/restaurant returns (a listing card never carries a coupon code, and a card showing both a discount and a separate free-delivery benefit returns them as two entries). is_promoted is present and true only for a result Swiggy itself labels a sponsored placement rather than an organic one. unavailable_message is present only when Swiggy says the restaurant cannot currently be ordered from and carries its own reason; it is not the inverse of is_open, since Swiggy reports a restaurant as open while still refusing orders for the requested location. A plain nearby browse also returns is_serviceable, which says whether Swiggy delivers to the requested coordinates at all: false means the coordinates are outside Swiggy's delivery coverage, so the empty restaurants list is a coverage answer rather than a no-matches answer, while an empty list without the field means no matches in a served area. It is omitted on keyword search and on a collection_id browse, neither of which carries Swiggy's own coverage marker.
Herramienta MCP swiggy_search
/swiggy/restaurantReturns 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.
Herramienta MCP swiggy_restaurant
/swiggy/restaurant/menuReturns one restaurant's full menu grouped into categories, plus its restaurant summary. Every item carries a name, description, category, price, discounted_price when currently discounted, veg/non-veg flag, stock status, an image, and Swiggy's own per-dish rating and review count where it carries one. A category nested under a parent group on the live site (e.g. "Whopper" under "Burgers, Wraps & Tacos") is flattened to one level: its title is the parent's, with subcategory set to its own name. The response also carries the restaurant's current promotions in offers, the same block /swiggy/restaurant returns.
Herramienta MCP swiggy_restaurant_menu
/swiggy/collectionsReturns the curated dish/cuisine collections Swiggy's own homepage surfaces for a latitude/longitude (e.g. "Idli", "Biryani", "Dosa"). Each collection's id is the value /swiggy/search's collection_id param takes to browse restaurants within it. The response also carries is_serviceable, which says whether Swiggy delivers to the requested coordinates at all: false means the coordinates are outside Swiggy's delivery coverage, so the empty collections list is a coverage answer rather than a location that simply has no curated collections.
Herramienta MCP swiggy_collections
APIs relacionadas
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
Cómo hacer scraping de Swiggy
Crawlora's Swiggy endpoints return normalized public Swiggy data as JSON with one API key — no Swiggy account required. Swiggy's restaurant and menu surfaces sit behind an AWS WAF JavaScript challenge; that is cleared server-side through a browser render fleet, so the call itself needs nothing from you.
The search endpoint takes a latitude and longitude and returns the restaurants delivering there. Add a query of at least two characters to search restaurants and dishes — a single character is rejected — and pick which result tab to read: dish returns matching menu items, restaurant returns matching venues. Filters for veg-only, a minimum rating, and offer-running restaurants apply to keyword search, and the plain location browse pages through an opaque cursor instead.
The collections endpoint returns the dish and cuisine collections Swiggy's own homepage surfaces for a coordinate — Idli, Biryani, Dosa and the rest. Each collection's id feeds back into search as a collection_id, which browses the restaurants inside that collection rather than running a keyword query.
Pass a restaurant id from any listing to the restaurant endpoint for its address, coordinates, and the fields listing cards do not carry. It reads the same protected upstream as the menu endpoint, just without the items — Swiggy publishes no lighter detail-only source, so there is no cheaper path to a restaurant's address.
The restaurant-menu endpoint returns one restaurant's full menu grouped into its own categories, alongside the restaurant summary. This is where per-item pricing lives — listing cards carry the commercial framing (offers, promotion labels, unavailability reasons) but not the menu itself.
Preguntas frecuentes
Search restaurants and dishes around a latitude/longitude, or browse one of Swiggy's curated collections, then pass a restaurant id to the restaurant and restaurant-menu endpoints for its detail and full priced menu — all return structured JSON with one API key.
Not on your side. Swiggy's restaurant and menu surfaces sit behind an AWS WAF JavaScript challenge, which is cleared server-side through a browser render fleet. The request you make carries your Crawlora API key and nothing else — no Swiggy cookie, session, or account.
From the restaurant endpoint, not from a listing. Swiggy's search and browse cards deliberately omit address, coordinates, phone, and hours, so those come from the restaurant detail call — which reads the same protected upstream as the menu, since Swiggy publishes no lighter detail-only source.
The veg, minimum-rating and offers filters are keyword-search filters, and sort is valid with a keyword or a collection id but rejected on a plain nearby browse — Swiggy's own site exposes no sort control there either. The tab parameter, which chooses between dish and restaurant results, is likewise only valid alongside a query.
Yes — a result Swiggy itself labels as a promoted, paid-placement listing carries is_promoted true, and organic results simply omit the field. Results Swiggy says cannot currently be ordered from carry an unavailable_message with its own reason text rather than being dropped from the list.