# Zepto — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Access product and delivery data from Zepto, India's quick-commerce grocery platform. Search product listings with prices, discounts, and stock status; browse categories; set a delivery pincode to check serviceability; retrieve full product details by variant ID; and fetch real-time delivery ETA estimates.

**Category:** Food & Dining | **Website:** [zepto.com/](https://zepto.com/) | **Docs:** [parse.bot/marketplace/17775393-0b5a-4f9d-8266-c4c1c0b9670c/zepto-com-api](https://parse.bot/marketplace/17775393-0b5a-4f9d-8266-c4c1c0b9670c/zepto-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-zepto-com-api-17775393/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_categories

Fetch all top-level product categories available on Zepto for the configured delivery location. Returns category ID, name, image path, and deeplink URL for each category. No input parameters required.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zepto-com-api-17775393/get_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_delivery_eta

Retrieve current delivery ETA estimates for the configured delivery location. Returns estimated delivery time in minutes and deliverability status. The location defaults to Bangalore; use set_delivery_location to change it.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zepto-com-api-17775393/get_delivery_eta \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_product_details

Retrieve full details for a specific product by its product variant ID (pvid). Extracts data from the product page including pricing, stock status, brand, pack size, and images. The pvid is a UUID obtainable from search_products results under products[*].pvid.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `pvid` | string | Yes | Product variant ID in UUID format (from search_products results products[*].pvid) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zepto-com-api-17775393/get_product_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pvid":"<string>"}'
```

### search_products

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). Without pincode, searches the default Bangalore store (1 upstream request). With pincode, resolves the delivery location first and searches that store (4 upstream requests). Use set_delivery_location to change the persistent default store.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (0-indexed) |
| `pincode` | string | No | Indian 6-digit pincode to search products at a specific delivery location (e.g. '400001' for Mumbai). When omitted, uses the default Bangalore store. |
| `query` | string | Yes | Search keyword (e.g. 'milk', 'bread', 'chips') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zepto-com-api-17775393/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","pincode":"<string>","query":"<string>"}'
```

### set_delivery_location

Set or validate a delivery location by Indian pincode. Resolves the pincode to geographic coordinates via Google Places autocomplete, identifies the nearest Zepto store, and returns serviceability status. Updates the internal store context used by subsequent search and category calls.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `pincode` | string | Yes | Indian 6-digit pincode (e.g. '400001' for Mumbai, '560001' for Bangalore, '110001' for Delhi) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zepto-com-api-17775393/set_delivery_location \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pincode":"<string>"}'
```
