Swiggy Instamart API reference
Query Instamart products, pack prices, stock, categories, search placement and delivery coverage by pincode or coordinates.
Use the Swiggy Instamart API to read catalogue and delivery data. The endpoints cover place search, place resolution, categories, category listings, collection products, home products, autocomplete, product search, product detail, serviceability and ETA.
Send a delivery location with every call. Catalogue endpoints and home take a six-digit pincode or latitude plus longitude; autocomplete takes a pincode; serviceability and ETA take a pincode or latitude plus longitude. A store ID is never enough on its own, because Instamart picks the store from the location.
Send requests through POST /execute with your Upscrape API key. Keep the location, serving store and time of each check with data you plan to compare. History is built by saving repeated requests.
Endpoints
Open an endpoint for its input, the fields it returns and the request in cURL, Python and Node.js.
| Endpoint | What it returns | Price |
|---|---|---|
swiggy-instamart.products.search |
Search by keyword at a pincode or coordinates. | 2 credits |
swiggy-instamart.product.get |
Look up a product by ID or supported Instamart link to see pack variations, prices, availability, descriptions and highlights. | 2 credits |
swiggy-instamart.categories.list |
Get category names, IDs, sections and taxonomy so you can browse the local catalogue programmatically. | 3 credits |
swiggy-instamart.category.products.list |
List products in a category or supported category link with pack prices, stock, filters and pagination. | 2 credits |
swiggy-instamart.collection.products.list |
List the packs in an Instamart collection or collection link, such as a brand's shop, with pack prices, stock and paging. | 3 credits |
swiggy-instamart.home.list |
Get products currently shown on the Instamart home feed for a pincode or coordinates, with pagination. | 2 credits |
swiggy-instamart.search.suggestions |
See autocomplete suggestions for a query at a pincode. | 2 credits |
swiggy-instamart.location.suggest |
Search by area, city or pincode and get place IDs you can resolve to coordinates. | 1.5 credits |
swiggy-instamart.location.resolve |
Turn a returned place ID into coordinates and readable location text. | 1.5 credits |
swiggy-instamart.location.serviceability |
Check whether Instamart serves a pincode or coordinates and get the serving store and ETA when returned. | 1.5 credits |
swiggy-instamart.eta |
Get the delivery estimate and serviceability returned for a pincode or coordinates. | 1.5 credits |
What to know
- Keep the location and store together A pincode resolves to a representative delivery point and serving store. Prices, stock and assortment can change with that context.
- Compare the same pack One product can have several SKU variations with different quantities, prices and stock. Match SKU and quantity before comparing.
- Use paise for price calculations Do sums with the offer price, MRP and discount in paise. Keep a missing amount unknown rather than turning it into zero.
- Search visibility is not stock Search tells you what appeared for a query. Use product detail at the same location before reporting a tracked product as sold out.
- Keep promoted rows separate Only matching rows get a position. Promoted rows, sold-out groups and other kinds are separate signals.
Something missing or unclear? Ask the team that builds the Swiggy Instamart endpoints.