Swiggy Instamart Resolve Serviceability API
Check whether Instamart serves a pincode or coordinates and get the serving store and ETA when returned.
- 1 credit per call
- Failed calls are free
- Updated
- swiggy-instamart.location.serviceability
{ "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"}
What you send
The input
object of the request, with every field the endpoint accepts.
- 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 |
Fields it returns
What each record in the response holds, with the values from the sample above.
| 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 this endpoint covers
- 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.
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
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));
https://data.upscrape.com/mcp
Using Upscrape, check Instamart serviceability for PIN 560034 and coordinates 25.0, 88.0. Report each point separately, including the store and ETA where returned. Do not extend the answer to the whole PIN or region.
More from the Swiggy Instamart API
- Swiggy Instamart Products Search API1 credit
- Swiggy Instamart Product API1 credit
- Swiggy Instamart Categories API1 credit
- Swiggy Instamart Category Products API1 credit
- Swiggy Instamart Home Products API1 credit
- Swiggy Instamart Suggestions Search API1 credit
- Swiggy Instamart Suggest Locations API1 credit
- Swiggy Instamart Resolve Location API1 credit
- Swiggy Instamart Delivery ETA API1 credit
The same data from other platforms
Swiggy Instamart Resolve Serviceability API FAQ
The short answers. The docs have the long ones.
How much does the Swiggy Instamart Resolve Serviceability API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send latitude or longitude or pincode. The input fields below list every option with its type and limits.
Do I need a Swiggy Instamart login?
No. It reads public Swiggy Instamart data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds swiggy-instamart.location.serviceability, checks its price and runs it with the same credits as the REST API.
Your first Swiggy Instamart call is free.
Up to 100 free credits to start, no card needed.