Endpoint Playground
Test Crawlora's Swiggy Search API with realistic prefilled parameters. Generate a cURL request, inspect the expected structured JSON response, and open the full docs or pricing page when you are ready to integrate this public web data extraction endpoint into your application.
curl "https://api.crawlora.net/api/v1/swiggy/search?latitude=<latitude>&longitude=<longitude>&sort=relevance&tab=dish" \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| latitude | number | Yes | Search center latitude | |
| longitude | number | Yes | Search center longitude | |
| query | string | No | Optional keyword to search restaurants and dishes by, at least 2 characters. Mutually exclusive with collection_id. | |
| collection_id | string | No | Optional curated collection id from /swiggy/collections's id field. Browses restaurants within that collection instead of the plain nearby listing. Mutually exclusive with query. | |
| sort | string | No | relevance | Optional sort order. With query: relevance, delivery_time, rating. With collection_id: those three plus cost_low_to_high and cost_high_to_low. Not valid on a plain nearby browse. |
| offset | string | No | Opaque pagination cursor from a prior response's next_offset (not meaningful when query is set) | |
| tab | string | No | dish | Which keyword-search result tab to read: dish (default, restaurants serving a matching dish, each with a dishes array) or restaurant (restaurants whose own name/cuisine matches). Only valid together with query. |
| veg | boolean | No | Only return vegetarian results: veg dishes on tab=dish, pure-veg restaurants on tab=restaurant. Only valid together with query. | |
| min_rating | number | No | Only return restaurants rated at or above this score (0-5). Only valid together with query. | |
| offers | boolean | No | Only return restaurants currently running an offer. Only valid together with query. |
{
"code": 200,
"msg": "OK",
"data": {
"restaurants": [
{
"id": "537139",
"name": "Narmada Chain of Restaurant",
"locality": "Koramangala",
"area": "Koramangala",
"cuisines": [
"Biryani",
"Andhra",
"South Indian"
],
"cost_for_two": "₹500 for two",
"rating": 4.4,
"rating_count": "13K+",
"external_rating": {
"source": "GOOGLE",
"rating": 4.2,
"count": "2.6K+"
},
"delivery_time_minutes": 51,
"is_open": true,
"image_url": "https://media-assets.swiggy.com/swiggy/image/upload/fl_lossy,f_auto,q_auto/RX_THUMBNAIL/IMAGES/VENDOR/2025/11/29/753d7fd4-a3f2-46d0-b803-4e1682b33109_537139.jpg",
"offers": [
{
"title": "ITEMS",
"description": "AT ₹39"
},
{
"title": "Free Delivery"
}
],
"is_promoted": true
}
],
"next_offset": "CJhlELQ4KICY0ZzT+sHYBDCnEw==",
"is_serviceable": true
}
}Public Playground
Sample responses, schemas, request previews, and code snippets are visible before sign in. Create an account when you are ready to save an API key and run authenticated requests.
Returns 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.
{
"code": 200,
"msg": "OK",
"data": {
"restaurants": [
{
"id": "537139",
"name": "Narmada Chain of Restaurant",
"locality": "Koramangala",
"area": "Koramangala",
"cuisines": [
"Biryani",
"Andhra",
"South Indian"
],
"cost_for_two": "₹500 for two",
"rating": 4.4,
"rating_count": "13K+",
"external_rating": {
"source": "GOOGLE",
"rating": 4.2,
"count": "2.6K+"
},
"delivery_time_minutes": 51,
"is_open": true,
"image_url": "https://media-assets.swiggy.com/swiggy/image/upload/fl_lossy,f_auto,q_auto/RX_THUMBNAIL/IMAGES/VENDOR/2025/11/29/753d7fd4-a3f2-46d0-b803-4e1682b33109_537139.jpg",
"offers": [
{
"title": "ITEMS",
"description": "AT ₹39"
},
{
"title": "Free Delivery"
}
],
"is_promoted": true
}
],
"next_offset": "CJhlELQ4KICY0ZzT+sHYBDCnEw==",
"is_serviceable": true
}
}curl "https://api.crawlora.net/api/v1/swiggy/search?latitude=<latitude>&longitude=<longitude>" \
-H "x-api-key: $CRAWLORA_API_KEY"