Instamart Product Details by Pincode
Pricing
from $7.00 / 1,000 results
Instamart Product Details by Pincode
Swiggy Instamart product details for any product id or URL at any Indian pincode: price, MRP, discount, pack size, stock, rating, images, category, variants, store id and delivery ETA. One row per product × pincode, resolved by the store serving that pincode.
Pricing
from $7.00 / 1,000 results
Rating
0.0
(0)
Developer
AtTheRate AI
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Reads the full Swiggy Instamart product page for any product id or URL, at any Indian pincode, one row per product and pincode. Instamart prices, stocks and delivers per dark store, so the same item returns a different price, offer and delivery promise depending on the pincode you ask for.
What you get
- Price economics per store:
price,original_price,discount_percent,discount_amount, theoffer_texton the page and every promotion inoffers. - Availability and purchase limits:
in_stock,is_avail,low_stock_text,max_quantity. - Store and delivery context:
store_id,pod_id,store_serviceability,delivery_eta_minutesand a humandeliverystring. - A sponsored marker:
is_sponsored_listingis true when the item carries Instamart's ad tracking context. - Page content:
name,brand,unit,category_path,description,highlights,specifications,images,variants. - Nothing is dropped:
found: falserows carry areasonofinvalid_id,pincode_unresolved,not_serviceable,not_found,blockedorfailed.
Input
Both productIds and pincodes are required. Every product is fetched at every pincode.
{"productIds": ["4M2JLMBEXY", "XC3J58DTKQ"],"pincodes": ["122002", "560001"],"maxConcurrency": 2,"delayMs": 400,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "IN"}}
productIds: Instamart product ids such as4M2JLMBEXY, or/instamart/item/<id>URLs.pincodes: 6-digit Indian pincodes, each a separate store resolution.maxConcurrency: fetches in flight per pincode, 1 to 4.proxyConfiguration: residential country IN is the default and required in practice.
Output
One row per product and pincode: two products across two pincodes give four rows.
{"requested": "XC3J58DTKQ","product_id": "XC3J58DTKQ","pincode": "122002","location_label": "Gurgaon, Gurugram","found": true,"name": "Crunchy Shimla Apple (Seb)","brand": "Fruits and Vegetables","unit": "2 Pieces x 2","price": 168,"original_price": 212,"discount_percent": 21,"in_stock": true,"low_stock_text": null,"max_quantity": 1,"is_sponsored_listing": false,"store_id": "1394451","delivery": "9 mins","delivery_eta_minutes": 9,"fetched_at": "2026-09-11T09:01:18.792Z"}
Null by design: stock_quantity, seller, seller_rating and review_count are always null, because the product page publishes no unit count, seller or review count. low_stock_text is null unless the app shows a low-stock nudge.
Use cases
- City-by-city price comparison for a fixed item list from
priceanddiscount_percent. - Promotion tracking with
offer_textandoffers, which differ by store far more than base price. - Serviceability and delivery mapping from
store_serviceabilityanddelivery_eta_minutes. - Pack-ladder analysis from
variants, which lists sibling sizes with their own price and stock.
Notes and limits
- An Indian residential proxy is required. Swiggy refuses non-Indian, datacenter and flagged exits, and some residential pools are refused outright. In a verified test the whole run was refused and stopped with a message naming the fix rather than returning partial rows.
- Retries run on fresh exits three times before stopping, so one bad IP does not end a run. Each session is pinned to one exit IP; in custom
proxyUrls, put{session}where your provider takes a session id. - One browser mint serves every pincode; only the location changes and Swiggy re-resolves the store. A session serves up to 150 fetches before re-minting.
- An unknown product id is recorded as
reason: not_found, not a failed run.
FAQ
Do I need a proxy? Yes, residential and Indian, which is the default. Some Indian residential pools are still refused by the site; the run then reports the block plainly instead of guessing.
How many results can I get? One row per product and pincode pair, with no cap on either list. Sessions rotate every 150 fetches.
Does it need login or an API key? No Swiggy account or key of your own is required.
How does a pincode pick a store? The pincode is resolved to coordinates that set the delivery location, and Swiggy picks the dark store itself. That store is stamped on the row as store_id, so you can confirm two pincodes really hit two stores.