Hyperpure APIhyperpure.com ↗
Access Hyperpure's wholesale catalog via API: city availability, product categories, paginated listings, search, and full product details across Indian cities.
What is the Hyperpure API?
The Hyperpure API exposes 7 endpoints covering Hyperpure by Zomato's B2B grocery catalog, including city availability, category trees, paginated product listings, and individual product details. Use get_product_details to retrieve fields like UnitPrice, Rating, Brand, Description, and Offer for any product by slug, or use search_products to find matching items by keyword across any supported city.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/6cb71472-df6a-47e1-b8b8-d8fb83ba6aa7/get_cities' \ -H 'X-API-Key: $PARSE_API_KEY'
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 hyperpure-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.hyperpure_by_zomato_api import Hyperpure, City, Category, Product
client = Hyperpure()
# List available cities
for city in client.cities.list():
print(city.name, city.display_name, city.warehouse_code)
# Use a constructible city to browse categories
bengaluru = client.city(name="bengaluru")
for category in bengaluru.categories():
print(category.name, category.slug, category.id)
# Search for products
for product in bengaluru.search(query="tomato"):
print(product.name, product.unit_price, product.brand, product.is_in_stock)
# Get product details
detail = bengaluru.product_details(product_slug="tomato-hybrid-premium-big-10-kg")
print(detail.name, detail.unit_price, detail.category_name, detail.parent_category_name)
# Browse products by category with pagination
for product in bengaluru.products_by_category(category_slug="fruits-vegetables", limit=10):
print(product.name, product.slug, product.unit_price)
# Get vegetables
for veg in bengaluru.vegetables(limit=5):
print(veg.name, veg.brand, veg.image_path)
# Get ration products
for item in bengaluru.ration():
print(item.name, item.unit_price, item.category_name)
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.
No input parameters required.
{
"type": "object",
"fields": {
"cities": "array of city objects with name, displayName, warehouseCode, id"
},
"sample": {
"data": {
"cities": [
{
"id": 1,
"name": "bengaluru",
"displayName": "Bengaluru",
"warehouseCode": "WH-BLR7"
},
{
"id": 2,
"name": "delhi",
"displayName": "Delhi",
"warehouseCode": "WH-DEL3"
},
{
"id": 3,
"name": "gurugram",
"displayName": "Gurugram",
"warehouseCode": "WH-GGN2"
}
]
},
"status": "success"
}
}About the Hyperpure API
City and Category Coverage
Start with get_cities to retrieve all cities where Hyperpure operates. Each city object includes an id, name, displayName, and warehouseCode. Pass the name field (e.g. bengaluru, delhi, mumbai) as the city parameter in all subsequent calls. get_categories then returns the full top-level category tree for that city, with each category exposing name, slug, id, description, children (subcategories), iconPath, and image.
Product Listings and Search
get_products_by_category accepts a city and a category_slug (from get_categories) and returns a paginated list of products. Each product in the response includes Name, Slug, ImagePath, UnitPrice, Rating, Brand, and CategoryName. The page parameter controls pagination. Two convenience endpoints shortcut common use cases: get_products_vegetables targets the fruits-vegetables category, and get_products_ration aggregates first-page results across pulses, rice-rice-products, flours, edible-oils, and masala-salt-sugar into a single response with a top-level count.
search_products accepts a city and a query string and returns matching products from the first page of results, echoing the query back in the response alongside the products array.
Full Product Details
get_product_details takes a city and a product_slug and returns a complete product object that adds Description and Offer to the fields available in listing endpoints. Slugs follow a descriptive format such as tomato-hybrid-premium-big-10-kg or coriander-leaves-kothmir-1-kg and can be obtained from any listing or search response.
The Hyperpure API is a managed, monitored endpoint for hyperpure.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hyperpure.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 hyperpure.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a price-tracking tool for restaurant operators by polling
get_product_detailsacross cities to monitor UnitPrice changes. - Populate a B2B grocery catalog UI using
get_categoriesfor navigation andget_products_by_categoryfor paginated product grids. - Compare wholesale produce availability across cities using
get_products_vegetableswith differentcityvalues. - Build a ration-sourcing dashboard by pulling aggregated staples data from
get_products_rationfor multiple cities. - Enable keyword-based product discovery in a procurement app using
search_productswith terms like 'paneer' or 'rice'. - Audit category and subcategory structure across cities by diffing
get_categoriesresponses to detect catalog changes. - Enrich order management systems with product metadata (Brand, Rating, Description, Offer) fetched via
get_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 | 100 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 Hyperpure have an official public developer API?+
What does `get_products_ration` return, and which categories does it cover?+
get_products_ration aggregates first-page products from five categories: pulses, rice-rice-products, flours, edible-oils, and masala-salt-sugar. The response includes a count field (total products returned) and a flat products array. Only first-page results per category are included; deeper pagination within those categories is not aggregated automatically.Does `search_products` support filtering by category, price range, or brand?+
search_products accepts only a city and a free-text query, and returns the first page of matching results. It does not support filtering by category slug, price bounds, or brand. You can fork this API on Parse and revise it to add filter parameters to the search endpoint.Is product stock or inventory availability exposed in the API?+
UnitPrice, Rating, Brand, Description, and Offer, but no explicit stock level or availability flag. You can fork this API on Parse and revise it to surface any inventory-related fields if they become available in the product data.How do I identify a valid product_slug to use with `get_product_details`?+
get_products_by_category, get_products_vegetables, get_products_ration, and search_products includes a Slug field. Pass that value directly to get_product_details along with the same city used in the listing call. Slugs are descriptive strings like tomato-hybrid-premium-big-10-kg.