Swiggy Instamart Product API
Look up a product by ID or supported Instamart link to see pack variations, prices, availability, descriptions and highlights.
- 1 credit per call
- Failed calls are free
- Updated
- swiggy-instamart.product.get
{ "name": "Ooty Carrot", "brand": "Fruits & Vegetables Category", "description": "Distinctive Flavor: Experience the unique sweetness that sets Ooty Carrot apart from the rest. Grown in the lush valleys of the Ooty region…", "id": "8XUTKS0CZ3", "in_stock": true, "other_information": "Country Of Origin is India. EAN code: 4601. Store the product in refrigerated conditions. The image(s) shown are representative of the actu…", "product_url": "https://www.swiggy.com/instamart/item/8XUTKS0CZ3", "store": { "delivery_eta": "11 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" }, "similar_products": [ { "name": "Pluckk Ooty Carrot", "id": "1HV6L068SC" }, { "name": "Ooty Baby Carrot", "id": "9SJL86ZDKB" } ], "variations": [ { "name": "Ooty Carrot", "mrp": "68", "category": "Vegetables", "discount": "16", "discount_label": "23% OFF", "discount_paise": 1600, "in_stock": true, "max_per_order": 2, "mrp_paise": 6800, "offer_price": "52", "offer_price_paise": 5200, "quantity": "250 g x 2", "short_description": "Sweet mountain-grown carrot with vibrant color!", "sku": "5DDVDUMFK5", "sub_category": "Carrot", "super_category": "Fruits and Vegetables", "unit_price": "10.4/100 g", "highlights": [ { "title": "Health Benefits", "description": "Supports Eye Health, Boosts Immunity" }, { "title": "Box Contents", "description": "2 x Ooty Carrot (Carrot) ( 250 g )" } ], "image_urls": [ "https://instamart-media-assets.swiggy.com/swiggy/image/upload/fl_lossy,f_auto,q_auto/NI_CATALOG/IMAGES/ciw/2025/12/18/f28756ea-283d-4f52-a3…", "https://instamart-media-assets.swiggy.com/swiggy/image/upload/fl_lossy,f_auto,q_auto/c9b9f394e9e1d8e64e1a1bd84fd7d90b" ], "images": [ "NI_CATALOG/IMAGES/ciw/2025/12/18/f28756ea-283d-4f52-a3b3-071af6b9b099_MNKR4KHZI3_MN_18122025.png", "c9b9f394e9e1d8e64e1a1bd84fd7d90b" ] }, { "name": "Ooty Carrot", "mrp": "34", "category": "Vegetables", "discount": "7", "discount_label": "20% OFF", "discount_paise": 700, "in_stock": true, "max_per_order": 5, "mrp_paise": 3400, "offer_price": "27", "offer_price_paise": 2700, "quantity": "250 g", "short_description": "Sweet mountain-grown carrot with vibrant color!", "sku": "RQHIMAMXPG", "sub_category": "Carrot", "super_category": "Fruits and Vegetables", "unit_price": "10.8/100 g", "highlights": [ { "title": "Health Benefits", "description": "Supports Eye Health, Boosts Immunity" }, { "title": "Box Contents", "description": "1 x Ooty Carrot ( 250 g )" } ], "image_urls": [ "https://instamart-media-assets.swiggy.com/swiggy/image/upload/fl_lossy,f_auto,q_auto/NI_CATALOG/IMAGES/ciw/2025/12/18/f28756ea-283d-4f52-a3…", "https://instamart-media-assets.swiggy.com/swiggy/image/upload/fl_lossy,f_auto,q_auto/c9b9f394e9e1d8e64e1a1bd84fd7d90b" ], "images": [ "NI_CATALOG/IMAGES/ciw/2025/12/18/f28756ea-283d-4f52-a3b3-071af6b9b099_MNKR4KHZI3_MN_18122025.png", "c9b9f394e9e1d8e64e1a1bd84fd7d90b" ] } ]}
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.
- Send a product ID or an item link (https://www.swiggy.com/instamart/item/{id}); tracking parameters copied with a link do not identify the product.
| 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) | |
| primary_store_id | string | no | Primary store ID; defaults to store_id | |
| product_id | string | no | Instamart product ID (the id field of listing results, or the /instamart/item/{id} path) | 8XUTKS0CZ3 |
| product_url | string | no | Instamart item link; tracking parameters are ignored | |
| 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 |
|---|---|---|---|
| name | string | Product or category name as Instamart returns it. | Ooty Carrot |
| in_stock | boolean | Availability reported for this pack at this store. An absent value is unknown. | true |
| brand | string | The brand on the listing. | Fruits & Vegetables Category |
| description | string | Location suggestion description. | Distinctive Flavor: Experience the unique sweetness that sets O… |
| id | string | Category identifier returned by the category list. | 8XUTKS0CZ3 |
| other_information | string | Other details, such as country of origin and codes. | Country Of Origin is India. EAN code: 4601. Store the product i… |
| product_url | string | Link to the product on Instamart. | https://www.swiggy.com/instamart/item/8XUTKS0CZ3 |
| similar_products | array | Products Instamart shows as similar. | 20 records |
| similar_products[].id | string | Category identifier returned by the category list. | 1HV6L068SC |
| similar_products[].name | string | Product or category name as Instamart returns it. | Pluckk Ooty Carrot |
| store | object | The store that serves this location. | 10 fields |
| store.delivery_eta | string | Delivery time Instamart shows for the store. | 11 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 |
| variations | array | The product's pack sizes, each with its own details. | 2 records |
| variations[].category | string | The product's category, such as Vegetables. | Vegetables |
| variations[].discount | string | The discount, in rupees. | 16 |
| variations[].discount_label | string | The discount label, such as 21% OFF. | 23% OFF |
| variations[].discount_paise | integer | The discount, in paise. | 1600 |
| variations[].highlights | array | Key points about the product. | 6 records |
| variations[].highlights[].description | string | Supports Eye Health, Boosts Immunity | |
| variations[].highlights[].title | string | Health Benefits | |
| variations[].image_urls | array | Links to the product images. | https://instamart-media-assets.swiggy.com/swiggy/image/upload/f… |
| variations[].images | array | Instamart's image references. | NI_CATALOG/IMAGES/ciw/2025/12/18/f28756ea-283d-4f52-a3b3-071af6… |
| variations[].in_stock | boolean | Availability reported for this pack at this store. An absent value is unknown. | true |
| variations[].max_per_order | integer | The most of this product one order can hold. | 2 |
| variations[].mrp | string | Maximum retail price printed on the pack, in rupees. | 68 |
| variations[].mrp_paise | integer | MRP in integer paise where known. | 6800 |
| variations[].name | string | Product or category name as Instamart returns it. | Ooty Carrot |
| variations[].offer_price | string | The price you pay now, in rupees. | 52 |
| variations[].offer_price_paise | integer | Selling price in integer paise; divide by 100 for rupees. Missing means unknown. | 5200 |
| variations[].quantity | string | Pack size text; compare equivalent packs. | 250 g x 2 |
| variations[].short_description | string | A short product description. | Sweet mountain-grown carrot with vibrant color! |
| variations[].sku | string | Instamart's stock code for the product. | 5DDVDUMFK5 |
| variations[].sub_category | string | The product's subcategory, such as Carrot. | Carrot |
| variations[].super_category | string | The top-level category, such as Fruits and Vegetables. | Fruits and Vegetables |
| variations[].unit_price | string | Price per unit, such as per 100 g. | 10.4/100 g |
What this endpoint covers
- Do price sums with the offer price, MRP and discount in paise, and divide by 100 to show rupees. A missing amount stays unknown, and a real zero stays zero. Compare the same SKU and pack size, and read stock apart from price.
- Product descriptions, highlights, images and other published information vary by product. Variations have their own SKU, quantity, price and availability.
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.product.get", "input": { "pincode": "560034", "product_id": "8XUTKS0CZ3" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "swiggy-instamart.product.get", "input": { "pincode": "560034", "product_id": "8XUTKS0CZ3" }}''')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.product.get", "input": { "pincode": "560034", "product_id": "8XUTKS0CZ3" }}),});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 product 8XUTKS0CZ3 at PIN 560034. Give each returned SKU, pack size, selling price, MRP and availability. Convert paise to rupees for display and retain the store ID.
More from the Swiggy Instamart API
- Swiggy Instamart Products Search 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 Resolve Serviceability API1 credit
- Swiggy Instamart Delivery ETA API1 credit
The same data from other platforms
Swiggy Instamart Product API FAQ
The short answers. The docs have the long ones.
How much does the Swiggy Instamart Product 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.product.get, 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.