Skip to documentation
Browse documentation

Store catalog

Traverse a Zepto store assortment as a normalized product feed with a bounded call and an opaque continuation cursor.

Capability ID zepto.catalog
Maximum runtime 180 seconds
View raw

POST /execute Shared execution endpoint

Input parameters

For location-specific traversal, provide store_id, a six-digit pincode, or both latitude and longitude. Do not combine pincode with coordinates.

limit accepts 1 to 500 returned products and max_pages accepts 1 to 100 product pages. Use small bounded values for exploratory calls.

When has_more is true, pass the cursor returned by the previous catalogue response unchanged with the same delivery context. Do not manufacture or reuse a cursor from an unrelated capture.

cursor string optional

Opaque cursor returned by the previous catalog response.

latitude number optional

Latitude in decimal degrees. From -90 to 90.

limit integer optional

Maximum number of results to return. From 1 to 500. Default: `100`.

Example 5
longitude number optional

Longitude in decimal degrees. From -180 to 180.

max_pages integer optional

Maximum number of result pages to fetch. From 1 to 100. Default: `20`.

Example 2
pincode string optional

Six-digit Indian pincode. When provided, Upscrape resolves coordinates and the Zepto delivery store automatically.

Example 560067
store_id string optional

Store identifier.

Response

Successful output is returned in results[0].data.

The cursor preserves the traversal directory and store context, not a frozen inventory snapshot. Live catalogue changes can cause a continuation to be rejected; restart from a fresh catalogue request when that happens.

Deduplication is per call. Do not treat catalogue traversal across a changing live assortment as a guarantee of globally unique products or complete inventory at one instant.

Keep captured_at, context.store_id and has_more with saved catalogue batches.

Illustrative sample The example response is shown in the response panel.

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.

PathObserved typeExample
captured_at string 2026-09-24T09:56:09.101068214Z
count integer 3
cursor string [redacted:token]
has_more boolean true
location object 9 fields
location.eta_minutes integer 10
location.eta_serviceable boolean true
location.latitude number 12.9967012
location.longitude number 77.758197
location.pincode string 560067
location.secondary_store_ids array 1 items
location.serviceable boolean true
location.store_id string e58fff62-7695-44c2-aba0-6bc96074bc64
location.store_ids array 2 items
results array 3 items
results 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: Zepto API