zepto.com APIzepto.com ↗
Access Zepto grocery data via API: search products, browse categories, check delivery serviceability by pincode, get product details, and fetch live ETA estimates.
curl -X GET 'https://api.parse.bot/scraper/9323a803-9e53-4c9b-bd5b-e61f1da838b9/search_products?page=0&query=chips' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword on Zepto. Returns product details including name, category, price, discounts, and stock availability for the configured store location.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (0-indexed) |
| queryrequired | string | Search keyword (e.g., 'milk', 'bread', 'chips') |
{
"type": "object",
"fields": {
"page": "integer — the page number returned",
"query": "string — the search keyword used",
"products": "array of product objects with id, pvid, name, brand, description, packsize, mrp, price, discount_percent, discount_amount, in_stock, available_quantity, category_name, category_id, images, product_url"
},
"sample": {
"data": {
"page": 0,
"query": "milk",
"products": [
{
"id": "a9c4c45e-4fe4-5762-ad8f-b29c1d0814ed",
"mrp": 27,
"name": "Godrej Jersey Toned Fresh Milk | Pouch",
"pvid": "ba77f9b3-0525-4ce8-bc4b-a2480419b780",
"brand": "Godrej Jersey",
"price": 26,
"images": [
"cms/product_variant/8fd1fa19-56f7-4f23-8a0d-625fc669cec2.jpeg"
],
"in_stock": true,
"packsize": "1 pack (500 ml)",
"category_id": "4b938e02-7bde-4479-bc0a-2b54cb6bd5f5",
"description": [
"Godrej Jersey Toned Milk"
],
"product_url": "https://www.zepto.com/pn/a9c4c45e-4fe4-5762-ad8f-b29c1d0814ed",
"category_name": "Dairy, Bread & Eggs",
"discount_amount": 1,
"discount_percent": 3,
"available_quantity": 3
}
]
},
"status": "success"
}
}About the zepto.com API
The Zepto API exposes 5 endpoints covering India's quick-commerce grocery platform, letting you search products by keyword, retrieve full product details by variant ID, check delivery serviceability for any Indian pincode, list top-level categories, and fetch real-time delivery ETA estimates. The search_products endpoint returns per-product fields including MRP, selling price, discount percentage, brand, pack size, and stock status.
Product Search and Details
The search_products endpoint accepts a required query string (e.g., 'milk', 'chips') and an optional zero-indexed page integer for pagination. Each result in the products array includes id, pvid, name, brand, description, packsize, mrp, price, discount_percent, discount_amount, and in_stock. The pvid field is a UUID that feeds directly into get_product_details, which returns the full product record including an images array of image path strings and the canonical product_url on Zepto.
Location Setup and Serviceability
Before fetching location-sensitive data, use set_delivery_location with a 6-digit Indian pincode (e.g., '400001' for Mumbai, '110001' for Delhi). The response returns a store_id UUID identifying the nearest Zepto store, a serviceable boolean, resolved lat/lng coordinates, and a short_address string. This call establishes the store context used by search_products and get_categories.
Categories and Delivery ETA
get_categories returns all top-level categories for the configured location, each with an id, name, image, and deeplink. get_delivery_eta returns the current estimated delivery window as eta_minutes, a display_text label, a human-readable secondary_text (e.g., '4 minutes'), and an is_deliverable boolean. Both endpoints require no additional parameters beyond an active delivery location.
Coverage Notes
The API covers Zepto's Indian service area only. Prices and stock status are location-dependent and reflect the nearest store resolved for the supplied pincode. Product prices are denominated in INR.
- Monitor price and discount changes on specific products using
mrp,price, anddiscount_percentfromsearch_products - Build a grocery price comparison tool across Indian pincodes using
set_delivery_locationandsearch_products - Check whether Zepto delivers to a given pincode using the
serviceablefield fromset_delivery_location - Display real-time delivery ETA in a last-mile logistics dashboard using
eta_minutesandis_deliverablefromget_delivery_eta - Populate a category navigation menu for an Indian quick-commerce aggregator using
get_categories - Track in-stock status of specific product variants over time using
in_stockfromget_product_details - Build a product catalog enrichment pipeline using
images,brand,packsize, andproduct_urlfromget_product_details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Zepto have an official public developer API?+
What does `set_delivery_location` actually control, and do I need to call it before searching?+
set_delivery_location resolves a 6-digit Indian pincode to coordinates and identifies the nearest Zepto store via a store_id UUID. Product search results, category listings, and stock availability are all store-specific, so the delivery location should be set before calling search_products or get_categories. The response also includes a serviceable boolean so you can confirm Zepto operates in that area before making further calls.Does `search_products` support filtering by category, brand, or price range?+
search_products endpoint accepts a query string and an optional page integer. It does not expose filter parameters for category, brand, or price range directly. Each returned product includes brand, price, mrp, and discount_percent, so client-side filtering is possible on those fields. You can fork this API on Parse and revise it to add a category-scoped browse or brand-filter endpoint.Does the API expose order placement, cart management, or user account data?+
Is coverage limited to India, and which cities are supported?+
set_delivery_location endpoint accepts only 6-digit Indian pincodes. Coverage depends on Zepto's active store network — the serviceable field in the response confirms whether a given pincode is currently served. Cities like Mumbai (400001), Bangalore (560001), and Delhi (110001) are among the documented examples, but actual coverage is determined by Zepto's store footprint at the time of the request.