Swiggy Instamart Collection Products API
List the priced SKU packs in an Instamart collection for a delivery location and follow the returned cursor.
- 1 credit per call
- Failed calls are free
- Updated
- swiggy-instamart.collection.products.list
{ "collection_title": "Furnofy", "pagination_status": "continuation_available", "store_id": "1313712", "products": [ { "name": "Furnofy Cotton Double Flat Bedsheet with 2 Pillow Covers (120GSM, Geometric, Multicolor)", "mrp": "1999", "rating": "4.3", "rating_value": 4.3, "brand": "Furnofy", "category": "Linen and Furnishing", "discount": "1760", "discount_label": "88% OFF", "discount_paise": 176000, "id": "B2OYXN98BS", "in_stock": true, "max_per_order": 3, "mrp_paise": 199900, "offer_price": "239", "offer_price_paise": 23900, "position": 1, "product_url": "https://www.swiggy.com/instamart/item/B2OYXN98BS", "quantity": "1 pack", "rating_count": "2.7k", "result_type": "match", "sku": "TR26IZU1D1", "source_widget_type": "type.googleapis.com/swiggy.im.v1.ItemCollectionCard", "store_id": "1313712" }, { "name": "Furnofy King Reversible AC Comforter/Dohar (All Weather, Microfiber, 240 GSM, Abstract, Grey)", "mrp": "3999", "rating": "4.3", "rating_value": 4.3, "brand": "Furnofy", "category": "Linen and Furnishing", "discount": "2841", "discount_label": "71% OFF", "discount_paise": 284100, "id": "7X3RNFAM32", "in_stock": true, "max_per_order": 6, "mrp_paise": 399900, "offer_price": "1158", "offer_price_paise": 115800, "position": 2, "product_url": "https://www.swiggy.com/instamart/item/7X3RNFAM32", "quantity": "1 Piece", "rating_count": "238", "result_type": "match", "sku": "Q9XU9S92TW", "source_widget_type": "type.googleapis.com/swiggy.im.v1.ItemCollectionCard", "store_id": "1313712" } ], "secondary_store_ids": [ "1403020" ]}
| # | Name | Mrp | Rating | Rating value | Brand | Category | Discount | Discount label | Discount paise | In stock |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Furnofy Cotton Double Flat Bedsheet with 2 Pillow Covers (120GS… | 1999 | 4.3 | 4.3 | Furnofy | Linen and Furnishing | 1760 | 88% OFF | 176,000 | true |
| 2 | Furnofy King Reversible AC Comforter/Dohar (All Weather, Microf… | 3999 | 4.3 | 4.3 | Furnofy | Linen and Furnishing | 2841 | 71% OFF | 284,100 | true |
| 3 | Furnofy Microfiber Sleeping Pillows (Solid, White) | 1499 | 3.8 | 3.8 | Furnofy | Linen and Furnishing | 884 | 58% OFF | 88,400 | true |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| collection_id | string | one of | Numeric Instamart collection ID, as in the collectionId of a collection link | 387094 |
| collection_url | string | one of | Instamart collection link: www.swiggy.com/instamart/collection-listing, instamart.in/collection-listing share link or swiggy://stores/instamart/collection-listing deep link. Its storeId is ignored; the delivery location selects the store | |
| lat | number | one of | Delivery latitude in decimal degrees, with lng From -90 to 90. | 12.9716 |
| lng | number | one of | Delivery longitude in decimal degrees, with lat From -180 to 180. | 77.5946 |
| pincode | string | one of | 6-digit Indian PIN code of the delivery location; takes precedence over lat/lng | |
| offset | string | no | reuse it unchanged with the same collection, location and store_id | |
| store_id | string | no | Optional expected store ID. Instamart picks the store from the delivery location; a different serving store is rejected rather than silently substituted |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| products[].name | string | Product or category name as Instamart returns it. | Furnofy Cotton Double Flat Bedsheet with 2 Pillow Covers (120GS… |
| products[].mrp | string | 1999 | |
| products[].rating | string | 4.3 | |
| products[].rating_value | number | 4.3 | |
| products[].brand | string | Furnofy | |
| products[].category | string | Linen and Furnishing | |
| products[].discount | string | 1760 | |
| products[].discount_label | string | 88% OFF | |
| products[].discount_paise | integer | 176,000 | |
| products[].id | string | Category identifier returned by the category list. | B2OYXN98BS |
| products[].in_stock | boolean | Availability reported for this pack at this store. An absent value is unknown. | true |
| products[].max_per_order | integer | 3 | |
| products[].mrp_paise | integer | MRP in integer paise where known. | 199,900 |
| products[].offer_price | string | 239 | |
| products[].offer_price_paise | integer | Selling price in integer paise; divide by 100 for rupees. Missing means unknown. | 23,900 |
| products[].position | integer | Rank assigned only to search match rows, not every returned row. | 1 |
| products[].product_url | string | https://www.swiggy.com/instamart/item/B2OYXN98BS | |
| products[].quantity | string | Pack size text; compare equivalent packs. | 1 pack |
| products[].rating_count | string | 2.7k | |
| products[].result_type | string | Kind of search row: a match, a promoted row, a sold-out group or other. | match |
| products[].sku | string | TR26IZU1D1 | |
| products[].source_widget_type | string | type.googleapis.com/swiggy.im.v1.ItemCollectionCard | |
| products[].store_id | string | Store serving this location. | 1313712 |
| collection_title | string | Furnofy | |
| pagination_status | string | continuation_available | |
| products | array | 3 records | |
| secondary_store_ids | array | 1403020 | |
| store_id | string | Store serving this location. | 1313712 |
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.collection.products.list", "input": { "collection_id": "387094", "lat": 12.9716, "lng": 77.5946 }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "swiggy-instamart.collection.products.list", "input": { "collection_id": "387094", "lat": 12.9716, "lng": 77.5946 }}''')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.collection.products.list", "input": { "collection_id": "387094", "lat": 12.9716, "lng": 77.5946 }}),});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
With Upscrape, get the Swiggy Instamart collection products for collection id "387094", lat "12.9716" and lng "77.5946". Tell me what it costs before you run it, then show the results as a table.
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 Resolve Serviceability API1 credit
- Swiggy Instamart Delivery ETA API1 credit
The same data from other platforms
Swiggy Instamart Collection Products API FAQ
The short answers. The docs have the long ones.
How much does the Swiggy Instamart Collection Products 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 collection_id or pincode or lat or lng or collection_url. 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.collection.products.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.