Swiggy Instamart Resolve Serviceability
swiggy-instamart.location.serviceability
Check whether Instamart serves a pincode or coordinates and get the serving store and ETA when returned.
At a glance
- Endpoint ID
swiggy-instamart.location.serviceability- Price
- 1.5 credits per call; failed calls are free
- Runs for up to
- 120 seconds
Request
Send the endpoint ID as capability and its fields as input. Set UPSCRAPE_API_KEY to your key first.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "swiggy-instamart.location.serviceability", "input": { "pincode": "560034" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "swiggy-instamart.location.serviceability", "input": { "pincode": "560034" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "swiggy-instamart.location.serviceability", "input": { "pincode": "560034" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
Input
- Send a six-digit pincode or both latitude and longitude. An address is optional and cannot stand in for the pincode or coordinates. This endpoint uses latitude and longitude; catalogue endpoints use lat and lng.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
latitude |
number | one of | Latitude in decimal degrees. From -90 to 90. | |
longitude |
number | one of | Longitude in decimal degrees. From -180 to 180. | |
pincode |
string | one of | Postal code (PIN) that sets the delivery location. | 560034 |
address |
string | no | ||
address_id |
string | no | Address identifier. | |
annotation |
string | no |
Response
A finished call answers with HTTP 200; the data is in results[0].data, and billing.credits_charged is what it cost. A call still running after the wait answers 202: see jobs and results.
This is results[0].data from a real run:
{ "captured_at": "2026-10-02T03:37:42Z", "eta_minutes": 9, "eta_unit": "MINS", "eta_value": "9", "latitude": 12.9261382, "layout_id": "4987", "longitude": 77.62210910000002, "primary_store_id": "1396284", "serviceability_status": "SERVICEABLE", "serviceability_type": "FAST_SERVICEABLE", "serviceable": true, "store_id": "1396284"}
Fields
| Field | Type | What it is | Example |
|---|---|---|---|
latitude |
number | Latitude of the resolved or checked delivery point. | 12.93 |
longitude |
number | Longitude of the resolved or checked delivery point. | 77.62 |
serviceable |
boolean | Whether this delivery point is served. | true |
store_id |
string | Store serving this location. | 1396284 |
eta_minutes |
integer | Delivery estimate in minutes when supplied; not a guarantee. | 9 |
captured_at |
string | When this result was collected. | 2026-10-02T03:37:42Z |
eta_unit |
string | The unit of the delivery time, such as MINS. | MINS |
eta_value |
string | Estimated delivery time, in the unit given. | 9 |
layout_id |
string | Instamart's ID for the page layout. | 4987 |
primary_store_id |
string | Instamart's ID for the store serving this location. | 1396284 |
serviceability_status |
string | Whether Instamart delivers here, such as SERVICEABLE. | SERVICEABLE |
serviceability_type |
string | The kind of delivery available, such as fast delivery. | FAST_SERVICEABLE |
What to know
- Serviceability and delivery estimates describe the returned delivery point at the time of the check. A point that is not served has no store or ETA. A missing estimate stays unknown, and an estimate is not a promised checkout time.
If a call fails
A failed call costs nothing. The response carries an error.code you can branch on; Errors and retries lists every code and which ones to retry.
Other Swiggy Instamart endpoints
swiggy-instamart.categories.listCategoriesswiggy-instamart.category.products.listCategory productsswiggy-instamart.collection.products.listCollection productsswiggy-instamart.etaDelivery ETAswiggy-instamart.home.listHome productsswiggy-instamart.location.resolveResolve locationswiggy-instamart.location.suggestSuggest locationsswiggy-instamart.product.getProductswiggy-instamart.products.searchProducts searchswiggy-instamart.search.suggestionsSuggestions search
Something missing or unclear? Ask the team that builds the Swiggy Instamart endpoints.