Discover/Zepto API
live

Zepto 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.

Endpoint health
verified 3h ago
search_products
get_categories
get_product_details
get_delivery_eta
set_delivery_location
4/5 passing latest checkself-healing
Endpoints
5
Updated
26d ago

What is the Zepto 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.

Try it
Page number for pagination (0-indexed)
Search keyword (e.g. 'milk', 'bread', 'chips')
api.parse.bot/scraper/9323a803-9e53-4c9b-bd5b-e61f1da838b9/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/9323a803-9e53-4c9b-bd5b-e61f1da838b9/search_products?page=0&query=milk' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace zepto-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.zepto_grocery_api import Zepto, Product, Category, DeliveryLocation, DeliveryEta

zepto = Zepto()

# Search for milk products with pagination
for product in zepto.products.search(query="milk", limit=5):
    print(product.name, product.brand, product.price, product.in_stock)

# Get detailed product info by pvid
detail = zepto.products.get(pvid="ba77f9b3-0525-4ce8-bc4b-a2480419b780")
print(detail.name, detail.mrp, detail.packsize)

# List all categories
for category in zepto.categories.list():
    print(category.id, category.name)

# Set delivery location and check serviceability
location = zepto.deliverylocations.set(pincode="400001")
print(location.store_id, location.serviceable, location.short_address)

# Check delivery ETA
eta = zepto.deliveryetas.get()
print(eta.eta_minutes, eta.is_deliverable, eta.display_text)
All endpoints · 5 totalmissing one? ·

Full-text search over Zepto's grocery product catalog for a configured store location. Returns product details including name, brand, pricing (MRP and discounted selling price), stock availability, category, and images. Results are paginated by page number (0-indexed). The store location defaults to Bangalore; use set_delivery_location to change it.

Input
ParamTypeDescription
pageintegerPage number for pagination (0-indexed)
queryrequiredstringSearch keyword (e.g. 'milk', 'bread', 'chips')
Response
{
  "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 (490 ml or 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": 4
        }
      ]
    },
    "status": "success"
  }
}

About the Zepto API

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.

Reliability & maintenanceVerified

The Zepto API is a managed, monitored endpoint for zepto.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when zepto.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official zepto.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3h ago
Latest check
4/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor price and discount changes on specific products using mrp, price, and discount_percent from search_products
  • Build a grocery price comparison tool across Indian pincodes using set_delivery_location and search_products
  • Check whether Zepto delivers to a given pincode using the serviceable field from set_delivery_location
  • Display real-time delivery ETA in a last-mile logistics dashboard using eta_minutes and is_deliverable from get_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_stock from get_product_details
  • Build a product catalog enrichment pipeline using images, brand, packsize, and product_url from get_product_details
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Zepto have an official public developer API?+
Zepto does not publish an official public developer API or documented REST/GraphQL interface for third-party developers. This Parse API provides structured access to Zepto's product and delivery data without requiring a developer agreement with Zepto.
What does `set_delivery_location` actually control, and do I need to call it before searching?+
Yes. 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?+
The 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?+
No. The API covers read-only catalog and delivery data: product search, product details, categories, delivery location setup, and ETA estimates. Order placement, cart operations, and account data are not included. You can fork this API on Parse and revise it to add those endpoints if Zepto exposes the relevant surface.
Is coverage limited to India, and which cities are supported?+
Yes, Zepto operates exclusively in India, and the 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.
Page content last updated . Spec covers 5 endpoints from zepto.com.
Related APIs in Food DiningSee all →
bigbasket.com API
Browse and search BigBasket's online grocery catalog. Retrieve product details, pricing, stock availability, category trees, search suggestions, homepage promotions, and delivery coverage — all in one API.
instacart.com API
Search for grocery products across multiple retailers, view store locations and availability, and access detailed product information including prices and descriptions. Find the best deals and nearest stores offering the items you need.
blinkit.com API
Search for products and check real-time availability across Blinkit locations, browse categories, and view detailed product information all from one place. Set your location to discover what's currently in stock nearby and compare offerings.
zabars.com API
Search and browse Zabar's gourmet food products with autocomplete suggestions and detailed item information including pricing and availability. Get paginated results to easily discover specialty foods, wines, and delicacies from their curated selection.
checkers.co.za API
Search for groceries, browse product categories, and find Checkers store locations across South Africa all in one place. Get detailed product information, discover popular items, and locate the nearest store to shop conveniently.
tesco.com API
Search and browse Tesco's complete grocery catalog to find products with detailed nutritional information, ingredient lists, and customer reviews. Explore product suggestions via autocomplete and browse items organized by category to make informed shopping decisions.
zara.com API
Shop Zara's entire catalog by browsing categories, searching for specific items, and viewing detailed product information including measurements and related products. Find nearby store locations, check real-time inventory availability, and get shipping details all in one place.
pnp.co.za API
Search for groceries, browse products by category, and discover current specials at Pick n Pay stores, while accessing detailed product information, store locations, and fresh produce availability all in one place.