Zepto Product API
Use a Zepto product link or variant ID with a location to check that pack’s price, stock and published product details.
- 1 credit per call
- Failed calls are free
- Updated
- zepto.product
{ "captured_at": "2026-10-04T11:58:10.521452783Z", "context": { "source": "default_store", "store_id": "b4dc8d65-ed2e-4142-81b6-373982b13500" }, "product": { "name": "Tender Coconut", "available_quantity": 9, "brand": "Fruits", "brand_id": "d396c794-de67-421c-9af1-dc36df2c2471", "country_of_origin": "India", "description": "The water of a tender coconut is nothing, but the endosperm of the coconut and it is one of the most nutritious beverages available to us. …", "discount_percent": 54, "discounted_selling_price_paise": 7700, "formatted_pack_size": "1 pc", "image_url": "https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-auto,q-80/cms/product_variant/c3a49c51-d6bd-4298-8af4-092a10bcd4c3.jpeg", "in_stock": true, "is_active": true, "l3_category_id": "464cd640-d308-418e-9ad2-37e3973e511d", "max_allowed_quantity": 9, "mrp_paise": 17000, "pack_size": 1, "product_id": "29c55962-65c9-4a04-87fc-406edce13b27", "product_url": "https://www.zepto.com/pn/tender-coconut/pvid/b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236", "product_variant_id": "b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236", "quantity": 9, "shelf_life_display": "3 days", "shelf_life_hours": 72, "store_product_id": "ff391715-6e8b-5a21-9caa-6cd7df7ccc02", "unit_of_measure": "PIECE", "weight_in_gms": 58, "how_to_use": [ "Tender coconut flesh can be used for ice creams." ], "image_urls": [ "https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-auto,q-80/cms/product_variant/c3a49c51-d6bd-4298-8af4-092a10bcd4c3.jpeg", "https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-true,f-auto,q-80/cms/product_variant/038d5d99-2081-46d2-89aa-14f34d3e77bb.jpeg" ] }}
What you send
The input
object of the request, with every field the endpoint accepts.
- Send the product's variant ID in pvid, or a Zepto or Zeptonow product link. A copied link works without https://, and tracking codes or a # part after it do not change which product it is. If you send both, they must point to the same product.
- To check the product at one place, send a store ID, a six-digit pincode, or latitude and longitude together; not a pincode and coordinates at once.
| 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. | |
| pvid | string | no | Zepto product variant ID. | |
| store_id | string | no | Zepto store ID. Defaults to the public Bangalore sample store. | |
| url | string | no | Direct URL to a Zepto product page. | https://www.zepto.com/pn/tender-coconut/pvid/b9… |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| captured_at | string | When this result was collected. | 2026-10-04T11:58:10.521452783Z |
| context | object | How the location was set for these results. | 2 fields |
| context.source | string | How the location was found. | default_store |
| context.store_id | string | Store attached to this product or delivery context. | b4dc8d65-ed2e-4142-81b6-373982b13500 |
| product | object | The product record. | 27 fields |
| product.available_quantity | integer | Quantity Zepto reports at this check; keep it apart from pack size and purchase limits. | 9 |
| product.brand | string | Brand attached to the product listing. | Fruits |
| product.brand_id | string | Zepto's ID for the brand. | d396c794-de67-421c-9af1-dc36df2c2471 |
| product.country_of_origin | string | Where the product comes from. | India |
| product.description | string | Suggested public place and its area. | The water of a tender coconut is nothing, but the endosperm of … |
| product.discount_percent | integer | The discount, as a percentage. | 54 |
| product.discounted_selling_price_paise | integer | Displayed offer price in integer paise; divide by 100 for rupees. | 7700 |
| product.formatted_pack_size | string | Pack description returned for this variant. | 1 pc |
| product.how_to_use | array | How to use the product. | Tender coconut flesh can be used for ice creams. |
| product.image_url | string | Image URL published with the placement. | https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-tr… |
| product.image_urls | array | Links to the product images. | https://cdn.zeptonow.com/production/tr:w-600,ar-1000-1000,pr-tr… |
| product.in_stock | boolean | Explicit stock flag for the selected store, when returned. | true |
| product.is_active | boolean | Whether the listing is active. | true |
| product.l3_category_id | string | Zepto's ID for the product's third-level category. | 464cd640-d308-418e-9ad2-37e3973e511d |
| product.max_allowed_quantity | integer | The most of this product one order can hold. | 9 |
| product.mrp_paise | integer | MRP in integer paise; divide by 100 for rupees. | 17,000 |
| product.name | string | Product name returned by Zepto. | Tender Coconut |
| product.pack_size | integer | The pack size, in the unit given. | 1 |
| product.product_id | string | Zepto's product ID. | 29c55962-65c9-4a04-87fc-406edce13b27 |
| product.product_url | string | Link to the product on Zepto. | https://www.zepto.com/pn/tender-coconut/pvid/b9fbf0e7-de2d-4a89… |
| product.product_variant_id | string | Identity of the exact product pack or variant. | b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236 |
| product.quantity | integer | Units the store has, as Zepto reports it. | 9 |
| product.shelf_life_display | string | Shelf life as Zepto shows it, such as 4 days. | 3 days |
| product.shelf_life_hours | integer | Shelf life in hours. | 72 |
| product.store_product_id | string | Zepto's ID for the product at this store. | ff391715-6e8b-5a21-9caa-6cd7df7ccc02 |
| product.unit_of_measure | string | The pack's unit, such as GRAM. | PIECE |
| product.weight_in_gms | integer | Pack weight in grams. | 58 |
What this endpoint covers
- Use the whole-paise fields for price sums. A real price wins over a placeholder zero; a genuine zero stays zero, and missing values stay missing.
- In stock and out of stock are kept apart from unknown. Descriptions, ratings, seller and compliance details, attributes, badges and promotions come when Zepto has them for that product.
- Related products and pack families are not returned. The variant ID names the one pack returned; do not build a family from it.
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.product", "input": { "url": "https://www.zepto.com/pn/tender-coconut/pvid/b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "zepto.product", "input": { "url": "https://www.zepto.com/pn/tender-coconut/pvid/b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236" }}''')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.product", "input": { "url": "https://www.zepto.com/pn/tender-coconut/pvid/b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236" }}),});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 product for https://www.zepto.com/pn/tender-coconut/pvid/b9fbf0e7-de2d-4a89-ae74-b12a7c0ab236. 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 Categories API1 credit
- Zepto Category Products 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 Product API FAQ
The short answers. The docs have the long ones.
How much does the Zepto Product 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.product, 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.