Zepto Category Products API
Choose a category or subcategory ID and location to collect its products. Apply supported filters and request more results when available.
- 1 credit per call
- Failed calls are free
- Updated
- zepto.category.products
{ "captured_at": "2026-10-04T11:59:14.942710379Z", "count": 20, "has_more": true, "location_eta_in_minutes": 10, "location_eta_serviceable": true, "location_latitude": 12.9967012, "location_longitude": 77.758197, "location_serviceable": true, "location_store_id": "e58fff62-7695-44c2-aba0-6bc96074bc64", "next_cursor": "eyJyZXF1ZXN0IjoiZjY2ZDI2MmMwMmI2NzU5MDcwMTk2NGEyYmFlMzFlZmU5NWI0YmM1NTJiM2ZmOWE1NzBlMjA3ODg4NzVlZjg5MyIsInYiOjIsInNjb3BlIjoiM2Y4M2QwYWE3NjF…", "page_number": 1, "rows_scanned": 32, "sample_size": 20, "location": { "eta_minutes": 10, "eta_serviceable": true, "latitude": 12.9967012, "longitude": 77.758197, "pincode": "560067", "serviceable": true, "store_id": "e58fff62-7695-44c2-aba0-6bc96074bc64", "secondary_store_ids": [ "0059ff6a-7eb0-477a-a7f5-69256f2c444b" ], "store_ids": [ "e58fff62-7695-44c2-aba0-6bc96074bc64", "0059ff6a-7eb0-477a-a7f5-69256f2c444b" ] }, "applied_filters": { "sort": "relevance" }, "context": { "source": "resolved_location", "store_id": "e58fff62-7695-44c2-aba0-6bc96074bc64" }, "location_secondary_store_ids": [ "0059ff6a-7eb0-477a-a7f5-69256f2c444b" ], "location_store_ids": [ "e58fff62-7695-44c2-aba0-6bc96074bc64", "0059ff6a-7eb0-477a-a7f5-69256f2c444b" ], "results": [ { "name": "Nutraj Arabian Premium Dates", "available_quantity": 6, "brand": "Nutraj", "brand_id": "3edf73ec-d705-4850-9149-5eead6c08993", "category_id": "0c2ccf87-e32c-4438-9560-8d9488fc73e0", "category_name": "Masala, Dry Fruits & More", "country_of_origin": "India", "description": "Nutraj Gold Arabian Dates provide best nourishment for muscle development & are useful in preventing many types of cancers.", "discount_amount_paise": 7500, "discount_percent": 33, "discounted_selling_price_paise": 15000, "formatted_pack_size": "1 pack (500 g)", "fssai_license": "10016051001876", "image_url": "https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-auto,q-80/cms/product_variant/20fb3683-d720-4443-ae80-7de2eab72344.jpg", "in_stock": true, "is_active": true, "is_primary": true, "l3_category_id": "06eaff6a-6e4e-44a7-bbbd-f15e7d6bbe72", "manufacturer_name": "Vkc Nuts Privated Limited", "max_allowed_quantity": 12, "mrp_paise": 22500, "pack_size": 500, "primary_subcategory_id": "fd487995-4d2b-4b23-a6ef-831bc118dedb", "product_id": "1f594c9c-72e6-4e3e-8a35-eaa7f7540cf0", "product_type": "SELLABLESKU", "product_url": "https://www.zepto.com/pn/nutraj-arabian-premium-dates/pvid/a91f49e7-ca09-411f-8de0-2a34540c1cc0", "product_variant_id": "a91f49e7-ca09-411f-8de0-2a34540c1cc0", "quantity": 6, "rank": 1, "rating_average": 4.8, "selling_price_paise": 15000, "shelf_life_display": "7 months", "store_id": "e58fff62-7695-44c2-aba0-6bc96074bc64", "store_product_id": "5074b5e2-7513-412a-b72f-9640fae617de", "subcategory_name": "Dates & Seeds", "unit_of_measure": "GRAM", "weight_in_gms": 500, "badges": [ { "name": "Arabian", "type": "ATTRIBUTE" } ], "category_path": [ "Masala, Dry Fruits & More", "Dates & Seeds" ], "image_urls": [ "https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-auto,q-80/cms/product_variant/20fb3683-d720-4443-ae80-7de2eab72344.jpg" ] }, { "name": "BestValue Sugar", "available_quantity": 12, "brand": "BestValue", "brand_id": "a37897a1-f7a9-48e9-bc13-f4bcb96dc6e1", "category_id": "0c2ccf87-e32c-4438-9560-8d9488fc73e0", "category_name": "Masala, Dry Fruits & More", "country_of_origin": "India", "description": null, "discount_amount_paise": 400, "discount_percent": 5, "discounted_selling_price_paise": 7500, "formatted_pack_size": "1 pack (1 kg)", "image_url": "https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-auto,q-80/cms/product_variant/a57d17a3-db5c-4214-8fdd-3347d5637275.png", "in_stock": true, "is_active": true, "is_primary": true, "l3_category_id": "9be046e8-5edb-46ae-82b2-b968bfef4772", "manufacturer_name": "Unbranded", "max_allowed_quantity": 12, "mrp_paise": 7900, "pack_size": 1, "primary_subcategory_id": "b5826992-5cfc-4554-8075-a3f33709ddf2", "product_id": "8b60127a-2054-48ec-8daf-3cc84f3c9a35", "product_type": "SELLABLESKU", "product_url": "https://www.zepto.com/pn/bestvalue-sugar/pvid/a4361659-8925-4b81-9feb-f4645cdfb200", "product_variant_id": "a4361659-8925-4b81-9feb-f4645cdfb200", "quantity": 12, "rank": 2, "rating_average": 4.6, "selling_price_paise": 7500, "shelf_life_display": "24 months", "store_id": "e58fff62-7695-44c2-aba0-6bc96074bc64", "store_product_id": "2b604841-30ed-5867-993c-686ca1861d59", "subcategory_name": "Salt, Sugar & Jaggery", "unit_of_measure": "KILOGRAM", "weight_in_gms": 1000, "category_path": [ "Masala, Dry Fruits & More", "Salt, Sugar & Jaggery" ], "image_urls": [ "https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-auto,q-80/cms/product_variant/a57d17a3-db5c-4214-8fdd-3347d5637275.png" ] } ]}
| # | Product | Brand | Variant ID | Pack size | Price (paise) | MRP (paise) | In stock | Reported quantity | Store ID | Category name |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Nutraj Arabian Premium Dates | Nutraj | a91f49e7-ca09-411f-8de0-2a34540c1cc0 | 1 pack (500 g) | 15,000 | 22,500 | true | 6 | e58fff62-7695-44c2-aba0-6bc96074bc64 | Masala, Dry Fruits & More |
| 2 | BestValue Sugar | BestValue | a4361659-8925-4b81-9feb-f4645cdfb200 | 1 pack (1 kg) | 7500 | 7900 | true | 12 | e58fff62-7695-44c2-aba0-6bc96074bc64 | Masala, Dry Fruits & More |
| 3 | Daily Good Figs / Anjeer | Daily Good | 87cbbebf-fa0d-4cc6-aaa4-4c010f8db815 | 1 pack (100 g) | 11,700 | 23,000 | true | 12 | e58fff62-7695-44c2-aba0-6bc96074bc64 | Masala, Dry Fruits & More |
| 4 | Catch Jeera Whole | Catch | 857b2613-87f3-4d3c-a26f-2a7fbac6e6a2 | 1 pack (100 g) | 5600 | 7500 | true | 7 | e58fff62-7695-44c2-aba0-6bc96074bc64 | Masala, Dry Fruits & More |
| 5 | Daily Good Cashew | W400 | Daily Good | 3145077b-a503-43b8-98ff-8f625497611f | 1 pack (100 g) | 10,700 | 18,000 | true | 25 | e58fff62-7695-44c2-aba0-6bc96074bc64 | Masala, Dry Fruits & More |
| 6 | Madhur Pure & Hygienic Fine Grain Sugar /Sakkare | Madhur | f3f10571-ba3e-4610-94d5-3d464cd1171c | 1 pack (1 kg) | 6500 | 6500 | true | 12 | e58fff62-7695-44c2-aba0-6bc96074bc64 | Masala, Dry Fruits & More |
| 7 | Everest Kashmiri Lal Chilli Powder | Everest | b5968a05-9660-4aa0-af5d-2841695352e8 | 1 pack (100 g) | 10,400 | 12,600 | true | 12 | e58fff62-7695-44c2-aba0-6bc96074bc64 | Masala, Dry Fruits & More |
| 8 | Daily Good Almond / Badam | California | Daily Good | 7496ad02-953e-44a2-8894-b9b0dc309386 | 1 pack (100 g) | 11,600 | 12,000 | true | 25 | e58fff62-7695-44c2-aba0-6bc96074bc64 | Masala, Dry Fruits & More |
| 9 | Daily Good Pumpkin Seeds | Daily Good | 156bd331-65fa-4a0f-a752-5d9aa4a5b20a | 1 pack (100 g) | 8700 | 13,000 | true | 12 | e58fff62-7695-44c2-aba0-6bc96074bc64 | Masala, Dry Fruits & More |
| 10 | Nutraj Classic Green Cardamom | Elaichi | Pouch | Nutraj | c7c9eeee-ebcd-47c2-be30-80a1f3c1fde3 | 1 pack (20 g) | 11,200 | 12,000 | true | 11 | e58fff62-7695-44c2-aba0-6bc96074bc64 | Masala, Dry Fruits & More |
What you send
The input
object of the request, with every field the endpoint accepts.
- Send a category ID, a subcategory ID or a Zepto category link. For checks you repeat, use the IDs the categories endpoint returns.
- For results at one place, send a store ID, a six-digit pincode, or latitude and longitude together; not a pincode and coordinates at once.
- Ask for 1 to 100 matching products from 1 to 20 of Zepto's pages. The page counts from 0 (page_number from 1). Jumping to a later page reads the earlier ones first, which uses part of the page limit.
- You can filter by brand IDs or names (up to 64 each), a price range in paise, a minimum discount, and in stock only. Sort by relevance or price, low or high first; price sorting orders the matching products read in this call.
- To read on, send the returned next-page value back with the same category, location, filters, sort and limit, and leave the page out.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| latitude | number | one of | Latitude for location-based store resolution. From -90 to 90. | |
| longitude | number | one of | Longitude for location-based store resolution. From -180 to 180. | |
| pincode | string | one of | Six-digit Indian pincode. When provided, Upscrape resolves coordinates and the Zepto delivery store automatically. | 560067 |
| brand_ids | array<string> | no | Case-insensitive exact IDs; union with brand_names. | |
| brand_names | array<string> | no | Trimmed case-insensitive exact names; union with brand_ids. | |
| category_id | string | no | Zepto category ID to browse. | |
| cursor | string | no | Use next_cursor unchanged with the same category, delivery context and limit. Omit page and page_number. | |
| in_stock | boolean | no | Match observed stock state only; unknown stock never matches. | |
| limit | integer | no | Maximum matching sample size. Sorting is limited to this sample. From 1 to 100. Default: 20. |
20 |
| max_pages | integer | no | Maximum native product pages fetched, including continuation refetches and skipped prefixes. A zero-match slice can still have continuation. From 1 to 20. Default: 10. |
3 |
| max_price_paise | integer | no | Inclusive observed effective price maximum. From 0 to 1000000000. | |
| min_discount | integer | no | Minimum known discount percentage. From 0 to 100. | |
| min_price_paise | integer | no | Inclusive observed effective price minimum; unknown prices never match. From 0 to 1000000000. | |
| page | integer | no | Zero-based logical slice (0-99); skips page multiplied by limit products within the native scan budget. Explicit page takes precedence over page_number. Cannot be combined with cursor. From 0 to 99. | 0 |
| page_number | integer | no | Optional one-based logical slice alias (1-100). page_number=2 equals page=1. Cannot be combined with cursor. From 1 to 100. | |
| sort | string | no | unknown prices last, ties by variant ID. Allowed values: relevance, price_asc, price_desc. |
relevance · price_asc · price_desc |
| store_id | string | no | Zepto store ID. Defaults to the public Bangalore sample store. | |
| subcategory_id | string | no | Zepto subcategory ID to browse. | 8b44cef2-1bab-407e-aadd-29254e6778fa |
| url | string | no | Direct URL to a Zepto category page. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| results[].name | string | Product name returned by Zepto. | Nutraj Arabian Premium Dates |
| results[].brand | string | Brand attached to the product listing. | Nutraj |
| results[].product_variant_id | string | Identity of the exact product pack or variant. | a91f49e7-ca09-411f-8de0-2a34540c1cc0 |
| results[].formatted_pack_size | string | Pack description returned for this variant. | 1 pack (500 g) |
| results[].discounted_selling_price_paise | integer | Displayed offer price in integer paise; divide by 100 for rupees. | 15,000 |
| results[].mrp_paise | integer | MRP in integer paise; divide by 100 for rupees. | 22,500 |
| results[].in_stock | boolean | Explicit stock flag for the selected store, when returned. | true |
| results[].available_quantity | integer | Quantity Zepto reports at this check; keep it apart from pack size and purchase limits. | 6 |
| results[].store_id | string | Store attached to this product or delivery context. | e58fff62-7695-44c2-aba0-6bc96074bc64 |
| results[].badges[].name | string | Arabian | |
| results[].product_url | string | Link to the product on Zepto. | https://www.zepto.com/pn/nutraj-arabian-premium-dates/pvid/a91f… |
| results[].is_active | boolean | Whether the listing is active. | true |
| results[].selling_price_paise | integer | The price you pay, in paise. | 15,000 |
| results[].product_id | string | Zepto's product ID. | 1f594c9c-72e6-4e3e-8a35-eaa7f7540cf0 |
| results[].category_name | string | Parent category name in the local directory. | Masala, Dry Fruits & More |
| results[].badges | array | Labels on the product. | 1 records |
| results[].badges[].type | string | ATTRIBUTE | |
| results[].primary_subcategory_id | string | Zepto's ID for the product's main subcategory. | fd487995-4d2b-4b23-a6ef-831bc118dedb |
| results[].is_primary | boolean | Whether this is the main listing for the product. | true |
| results[].image_urls | array | Links to the product images. | https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-tr… |
| results[].subcategory_name | string | The subcategory name. | Dates & Seeds |
| results[].image_url | string | Image URL published with the placement. | https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-tr… |
| results[].rank | integer | Position in the list. | 1 |
| results[].shelf_life_display | string | Shelf life as Zepto shows it, such as 4 days. | 7 months |
| results[].l3_category_id | string | Zepto's ID for the product's third-level category. | 06eaff6a-6e4e-44a7-bbbd-f15e7d6bbe72 |
| results[].category_id | string | Parent category identity. | 0c2ccf87-e32c-4438-9560-8d9488fc73e0 |
| results[].pack_size | integer | The pack size, in the unit given. | 500 |
| results[].quantity | integer | Units the store has, as Zepto reports it. | 6 |
| results[].brand_id | string | Zepto's ID for the brand. | 3edf73ec-d705-4850-9149-5eead6c08993 |
| results[].description | string | Suggested public place and its area. | Nutraj Gold Arabian Dates provide best nourishment for muscle d… |
| results[].rating_average | number | Average rating. | 4.8 |
| results[].max_allowed_quantity | integer | The most of this product one order can hold. | 12 |
| results[].discount_percent | integer | The discount, as a percentage. | 33 |
| results[].manufacturer_name | string | Who makes the product. | Vkc Nuts Privated Limited |
| results[].fssai_license | string | The food safety licence number on the listing. | 10016051001876 |
| results[].store_product_id | string | Zepto's ID for the product at this store. | 5074b5e2-7513-412a-b72f-9640fae617de |
| results[].category_path | array | Where the product sits in Zepto's categories. | Masala, Dry Fruits & More, Dates & Seeds |
| results[].country_of_origin | string | Where the product comes from. | India |
| results[].weight_in_gms | integer | Pack weight in grams. | 500 |
| results[].product_type | string | The kind of product record. | SELLABLESKU |
| results[].unit_of_measure | string | The pack's unit, such as GRAM. | GRAM |
| results[].discount_amount_paise | integer | The discount, in paise. | 7500 |
| location | object | The location the results were read for. | 9 fields |
| location.eta_minutes | integer | Zepto's delivery estimate in minutes, when it gives one. | 10 |
| location.eta_serviceable | boolean | Whether Zepto delivers to this location. | true |
| location.latitude | number | Latitude of the resolved or requested delivery point. | 13.0 |
| location.longitude | number | Longitude of the resolved or requested delivery point. | 77.76 |
| location.pincode | string | Pincode retained in the resolved location, when supplied and returned. | 560067 |
| location.secondary_store_ids | array | Backup stores serving the location. | 0059ff6a-7eb0-477a-a7f5-69256f2c444b |
| location.serviceable | boolean | The endpoint’s serviceability signal; location coverage and delivery-estimate availability are separate checks. | true |
| location.store_id | string | Store attached to this product or delivery context. | e58fff62-7695-44c2-aba0-6bc96074bc64 |
| location.store_ids | array | Zepto stores serving the location. | e58fff62-7695-44c2-aba0-6bc96074bc64, 0059ff6a-7eb0-477a-a7f5-6… |
| applied_filters | object | The filters used for these results. | 1 fields |
| applied_filters.sort | string | The sort used, such as relevance. | relevance |
| captured_at | string | When this result was collected. | 2026-10-04T11:59:14.942710379Z |
| context | object | How the location was set for these results. | 2 fields |
| context.source | string | How the location was found. | resolved_location |
| context.store_id | string | Store attached to this product or delivery context. | e58fff62-7695-44c2-aba0-6bc96074bc64 |
| count | integer | Number of products returned for this delivery context. | 20 |
| has_more | boolean | Whether catalog traversal can continue; this does not certify a complete store snapshot. | true |
What this endpoint covers
- Check whether more results follow, how many rows and pages were read and why the call stopped. Stopping at the page limit can return fewer products, even none, while more remain to read.
- When the call does the sorting, price order covers only the products it read. Unknown prices come last, and equal prices keep a fixed order by variant.
- On responses that carry a next-page value, the page numbers only label the batch; continue with the next-page value rather than jumping by page number.
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": "zepto.category.products", "input": { "limit": 20, "max_pages": 3, "page": 0, "pincode": "560067", "subcategory_id": "8b44cef2-1bab-407e-aadd-29254e6778fa" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "zepto.category.products", "input": { "limit": 20, "max_pages": 3, "page": 0, "pincode": "560067", "subcategory_id": "8b44cef2-1bab-407e-aadd-29254e6778fa" }}''')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": "zepto.category.products", "input": { "limit": 20, "max_pages": 3, "page": 0, "pincode": "560067", "subcategory_id": "8b44cef2-1bab-407e-aadd-29254e6778fa" }}),});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 Zepto category products for pincode "560067" and subcategory id "8b44cef2-1bab-407e-aadd-29254e6778fa". Tell me what it costs before you run it, then show the results as a table.
More from the Zepto API
- Zepto Products Search API1 credit
- Zepto Product API1 credit
- Zepto Categories API1 credit
- Zepto Store Catalog API1 credit
- Zepto Ads API1 credit
- Zepto Multi-location Search API1 credit
- Zepto Multi-location Catalog API1 credit
- Zepto Resolve Location API1 credit
- Zepto ETA API1 credit
- Zepto Place Autocomplete API1 credit
- Zepto Place Details API1 credit
- Zepto Resolve Place API1 credit
- Zepto Summarize Search Facets API1 credit
- Zepto Health Check API1 credit
The same data from other platforms
Zepto Category Products API FAQ
The short answers. The docs have the long ones.
How much does the Zepto Category 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?
Every input is optional; the input fields below list what each one does.
Do I need a Zepto login?
No. It reads public Zepto data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds zepto.category.products, checks its price and runs it with the same credits as the REST API.
Your first Zepto call is free.
Up to 100 free credits to start, no card needed.