Swiggy Instamart Categories API
Get category names, IDs, sections and taxonomy so you can browse the local catalogue programmatically.
- 1 credit per call
- Failed calls are free
- Updated
- swiggy-instamart.categories.list
{ "store": { "delivery_eta": "9 MINS", "latitude": 12.9261382, "longitude": 77.62210910000002, "pincode": "560034", "place": "Bengaluru, Karnataka 560034, India", "primary_store_id": "1396284", "serviceability_status": "SERVICEABLE", "serviceability_type": "FAST_SERVICEABLE", "serviceable": true, "store_id": "1396284" }, "categories": [ { "name": "Atta, Rice and Dal", "id": "6903b01ed2c61b000112ba29", "image": "NI_CATALOG/IMAGES/CIW/2025/11/17/c65894e4-5b70-4b9d-9d87-baba38e0ef6e_0cdf10e3-6c7c-4deb-9dbc-dcf24cd11fca", "section": "Grocery & Kitchen", "taxonomy_type": "taxonomy 5" }, { "name": "Masalas", "id": "693981bf64f19a0001f8a5b1", "image": "NI_CATALOG/IMAGES/CIW/2026/2/23/e67eb511-3e25-460d-88ff-ca465b971a2b_874d876f-7cf8-433f-a960-ab659b9ef4a7.png", "section": "Grocery & Kitchen", "taxonomy_type": "taxonomy 5" } ]}
| # | Category | Category ID | Section | Taxonomy | Image |
|---|---|---|---|---|---|
| 1 | Atta, Rice and Dal | 6903b01ed2c61b000112ba29 | Grocery & Kitchen | taxonomy 5 | NI_CATALOG/IMAGES/CIW/2025/11/17/c65894e4-5b70-4b9d-9d87-baba38… |
| 2 | Masalas | 693981bf64f19a0001f8a5b1 | Grocery & Kitchen | taxonomy 5 | NI_CATALOG/IMAGES/CIW/2026/2/23/e67eb511-3e25-460d-88ff-ca465b9… |
| 3 | Oils and Ghee | 6939210c08a8db0001c27a10 | Grocery & Kitchen | taxonomy 5 | NI_CATALOG/IMAGES/CIW/2025/12/12/3bb2b2b7-d74b-4a29-825a-e94c6e… |
| 4 | Cereals and Breakfast | 69492faa195bc000019a3b08 | Grocery & Kitchen | taxonomy 5 | NI_CATALOG/IMAGES/CIW/2025/12/15/fe86cf80-90b0-49ea-b982-32c0e0… |
| 5 | Cold Drinks and Juices | 6903b0c295d8230001064c73 | Snacks & drinks | taxonomy 10 | NI_CATALOG/IMAGES/CIW/2025/10/8/5bec1f84-4aa5-49ae-9c3d-9a0dcb9… |
| 6 | Ice Creams and Frozen Desserts | 6903b0c295d8230001064c86 | Snacks & drinks | taxonomy 10 | NI_CATALOG/IMAGES/CIW/2025/10/8/5b0984b8-303b-4a80-81b7-9656f19… |
| 7 | Chips and Namkeens | 6903b0c295d8230001064c96 | Snacks & drinks | taxonomy 10 | NI_CATALOG/IMAGES/CIW/2025/10/8/b654b666-43b5-4599-9919-98f9c7a… |
| 8 | Chocolates | 693d17b2c0e8870001d2d8f5 | Snacks & drinks | taxonomy 10 | NI_CATALOG/IMAGES/CIW/2025/12/15/793d9312-ace1-42d4-9b5e-3e38b3… |
| 9 | Biscuits and Cakes | 693c23bd4df316000117b87f | Snacks & drinks | taxonomy 10 | NI_CATALOG/IMAGES/CIW/2025/12/15/e8c6cc4b-353f-42d6-b51b-b99fe4… |
| 10 | Tea, Coffee and Milk drinks | 6903b0c295d8230001064cf8 | Snacks & drinks | taxonomy 10 | NI_CATALOG/IMAGES/CIW/2025/10/31/3c3ad889-9dd7-4964-8bb5-c5ef24… |
What you send
The input
object of the request, with every field the endpoint accepts.
- Send a six-digit pincode, or latitude and longitude together. If you send both, the pincode wins. Instamart picks the store from that location, and the response names the store it used. A store ID is optional: if you add one, it must be the store serving that location, or the call is refused. Keep the returned store and delivery point; one pincode does not stand for every address in its area.
- Optional primary and secondary store IDs are checks: they must match the stores serving your location. A layout ID picks a particular page layout.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| lat | number | one of | Latitude in decimal degrees. From -90 to 90. | |
| lng | number | one of | Longitude in decimal degrees. From -180 to 180. | |
| pincode | string | one of | 6-digit Indian PIN code; the store serving it is resolved automatically (alternative to store_id) | 560034 |
| store_id | string | one of | Instamart store ID (alternative to pincode; takes precedence when both are given) | |
| layout_id | string | no | Optional homepage layout ID; defaults to 4987 (the web layout) | |
| primary_store_id | string | no | Primary store ID; defaults to store_id | |
| secondary_store_id | string | no | Secondary store ID when the location has one |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| categories[].name | string | Product or category name as Instamart returns it. | Atta, Rice and Dal |
| categories[].id | string | Category identifier returned by the category list. | 6903b01ed2c61b000112ba29 |
| categories[].section | string | Category section. | Grocery & Kitchen |
| categories[].taxonomy_type | string | Category taxonomy; preserve it for category requests. | taxonomy 5 |
| categories[].image | string | Instamart's image reference. | NI_CATALOG/IMAGES/CIW/2025/11/17/c65894e4-5b70-4b9d-9d87-baba38… |
| categories | array | Instamart's categories. | 32 records |
| store | object | The store that serves this location. | 10 fields |
| store.delivery_eta | string | Delivery time Instamart shows for the store. | 9 MINS |
| store.latitude | number | Latitude of the resolved or checked delivery point. | 12.93 |
| store.longitude | number | Longitude of the resolved or checked delivery point. | 77.62 |
| store.pincode | string | The pincode of the store's area. | 560034 |
| store.place | string | The place the store serves. | Bengaluru, Karnataka 560034, India |
| store.primary_store_id | string | Instamart's ID for the store serving this location. | 1396284 |
| store.serviceability_status | string | Whether Instamart delivers here, such as SERVICEABLE. | SERVICEABLE |
| store.serviceability_type | string | The kind of delivery available, such as fast delivery. | FAST_SERVICEABLE |
| store.serviceable | boolean | Whether this delivery point is served. | true |
| store.store_id | string | Store serving this location. | 1396284 |
What this endpoint covers
- Pass a returned category name and taxonomy to category.products.list using the same location. Categories and available products vary by serving store.
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.categories.list", "input": { "pincode": "560034" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "swiggy-instamart.categories.list", "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.categories.list", "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, list the Instamart Atta, Rice and Dal category at PIN 400050. Check product 5LR16VWHT5 directly at the same PIN and report its pack, price, stock and serving store. Keep missing values separate from sold out.
More from the Swiggy Instamart API
- Swiggy Instamart Products Search API1 credit
- Swiggy Instamart Product 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 Resolve Serviceability API1 credit
- Swiggy Instamart Delivery ETA API1 credit
The same data from other platforms
Swiggy Instamart Categories API FAQ
The short answers. The docs have the long ones.
How much does the Swiggy Instamart Categories 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 store_id or pincode or lat or lng. 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.categories.list, 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.