List category products
List packs in an Instamart category or supported category URL, with local prices, stock, filters, sorting and continuation.
swiggy-instamart.category.products.list
/execute
Shared execution endpoint
Input parameters
Provide store_id, a six-digit pincode, or both lat and lng. Store takes precedence over pincode, which takes precedence over coordinates. Prefer one selector and retain the returned store and delivery point; one pincode does not describe every address in its area.
Provide category_name or category_url. A supported category-listing link must supply categoryName and taxonomyType and may supply storeId. If it supplies storeId, do not combine it with pincode or coordinates; any explicit store_id must match the linked store. If the link has no storeId, provide a location selector. Taxonomy alone is not a category selector.
Use the returned taxonomy_type when available; a category name can resolve its taxonomy when omitted. Use filter_name and filter_id together to select a sub-category.
Choose sort from relevance, price_low_to_high, price_high_to_low or discount_high_to_low. Numeric sorts order the packs on the returned page, not the entire catalogue. Choose brands and types from available_filters, with at most ten unique values in each; min_rating accepts 3, 4 or 4.5.
brands
array<string>
optional
Selected brand values from available_filters
category_name
string
optional
Category name from categories.list; optional when category_url is given
Atta, Rice and Dal
category_url
string
optional
Instamart category page link; categoryName, taxonomyType and storeId are read from the link
filter_id
string
optional
Optional sub-category ID paired with filter_name
filter_name
string
optional
Optional sub-category name within the category
lat
number
optional
Latitude in decimal degrees. From -90 to 90.
lng
number
optional
Longitude in decimal degrees. From -180 to 180.
min_rating
number
optional
Minimum rating facet Allowed values: `3`, `4`, `4.5`.
offset
string
optional
Follow the returned opaque next_offset unchanged with the same category, taxonomy, subcategory, location, sort and filters. All new category continuations are context-bound. Legacy page:items remains accepted without sort or facets but cannot detect context changes.
pincode
string
optional
6-digit Indian PIN code; the store serving it is resolved automatically (alternative to store_id)
primary_store_id
string
optional
Primary store ID; defaults to store_id
secondary_store_id
string
optional
Secondary store ID when the location has one
sort
string
optional
Listing order; relevance is the default Allowed values: `relevance`, `price_low_to_high`, `price_high_to_low`, `discount_high_to_low`.
store_id
string
optional
Instamart store ID (alternative to pincode; takes precedence when both are given)
1396284
taxonomy_type
string
optional
Optional taxonomy from categories.list; resolved from category tiles when omitted
taxonomy 5
types
array<string>
optional
Selected type values from available_filters
Response
Successful output is returned in results[0].data.
Use offer_price_paise, mrp_paise and discount_paise for price arithmetic, dividing by 100 to display rupees. Missing monetary fields remain unknown; a real zero stays zero. Compare the same SKU and pack size, and inspect in_stock separately from price.
Follow next_offset unchanged with the same location, category, sort, filters, sub-category and layout. An empty product page can still have a continuation. Check pagination_status and pagination_reason; limited or unknown states do not establish complete catalogue coverage.
Legacy page:items offsets are accepted only without sorting or facets. Prefer the returned next_offset for filtered or sorted pages.
Illustrative output fields
Values illustrate one response. Read the guidance above for missing values and limits; fields can vary with the requested operation and the data available.
| Path | Observed type | Example |
|---|---|---|
available_filters |
object |
2 fields |
available_filters.facets |
object |
3 fields |
available_filters.sorts |
array |
3 items |
next_offset |
string |
ic1.[redacted:token] |
pagination_status |
string |
continuation_available |
products |
array |
3 items |
products |
array |
3 items |
Execution behavior
A 200 response completed inline. A 202 response was queued; poll
GET /jobs/:id until the job reaches completed or
failed.
Overview, pricing and sample data for every endpoint: Swiggy Instamart API