# Hyperpure — 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 Hyperpure by Zomato's wholesale product catalog to browse vegetables, ration items, and other categories across multiple cities, search for specific products, and retrieve detailed product information. Streamline your bulk purchasing by discovering available products and their details in your area.

**Category:** Food & Dining | **Website:** [hyperpure.com/](https://hyperpure.com/) | **Docs:** [parse.bot/marketplace/220fb45d-a176-4f53-8ab9-c4fc58a05e8f/hyperpure-com-api](https://parse.bot/marketplace/220fb45d-a176-4f53-8ab9-c4fc58a05e8f/hyperpure-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-hyperpure-com-api-220fb45d/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_categories

Returns all top-level product categories for a given city. Each category includes name, slug, description, id, children subcategories, and icon/image paths. Use the slug as the category_slug parameter in get_products_by_category.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | Yes | City name as returned by get_cities (e.g. bengaluru, delhi, mumbai, gurugram). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperpure-com-api-220fb45d/get_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>"}'
```

### get_cities

Returns all cities where Hyperpure delivery is available. Each city includes a unique name (used as the city identifier in all other endpoints), a display name, warehouse code, and numeric id.

**Estimated cost:** Metered

_No parameters required._

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

### get_product_details

Returns full detail for a single product given its slug and city. Includes pricing, description, ratings, images, bulk pricing tiers, and category information. The product slug is obtained from product listing endpoints.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | Yes | City name as returned by get_cities (e.g. bengaluru, delhi). |
| `product_slug` | string | Yes | Product slug from product listings (e.g. tomato-hybrid-premium-big-10-kg, coriander-leaves-kothmir-1-kg). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperpure-com-api-220fb45d/get_product_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>","product_slug":"<string>"}'
```

### get_products_by_category

Returns paginated list of products for a given category in a city. Uses SSR extraction for page 1 and API fallback for subsequent pages. Each product includes Name, Slug, ImagePath, UnitPrice, Rating, Brand, and CategoryName among other fields.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_slug` | string | Yes | Category slug from get_categories results (e.g. fruits-vegetables, dairy, rice-rice-products, pulses). |
| `city` | string | Yes | City name as returned by get_cities (e.g. bengaluru, delhi). |
| `page` | integer | No | Page number for pagination (1-based). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperpure-com-api-220fb45d/get_products_by_category \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_slug":"<string>","city":"<string>","page":"<integer>"}'
```

### get_products_ration

Aggregates first-page products from ration-related categories: pulses, rice-rice-products, flours, edible-oils, and masala-salt-sugar. Returns all combined products with a total count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | Yes | City name as returned by get_cities (e.g. bengaluru, delhi). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperpure-com-api-220fb45d/get_products_ration \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>"}'
```

### get_products_vegetables

Returns products from the Fruits & Vegetables category for a given city. Equivalent to calling get_products_by_category with category_slug 'fruits-vegetables'. Supports pagination.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | Yes | City name as returned by get_cities (e.g. bengaluru, delhi). |
| `page` | integer | No | Page number for pagination (1-based). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperpure-com-api-220fb45d/get_products_vegetables \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>","page":"<integer>"}'
```

### search_products

Searches for products by keyword in a given city. Returns matching products from the first page of results. Searches across all categories.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | Yes | City name as returned by get_cities (e.g. bengaluru, delhi). |
| `query` | string | Yes | Search keyword (e.g. tomato, paneer, rice, oil). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperpure-com-api-220fb45d/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>","query":"<string>"}'
```
