Meesho APImeesho.com ↗
Access Meesho's product catalog, category hierarchy, prices, stock status, and customer reviews via 5 structured endpoints returning INR-denominated data.
What is the Meesho API?
The Meesho API provides 5 endpoints for browsing and retrieving product data from meesho.com, India's social commerce platform. Use get_navigation_tree to retrieve the full three-level category hierarchy with page IDs, then feed those IDs into get_category_products to list products with names, prices, ratings, and stock status. Individual product records — including images, shipping estimates, and breadcrumbs — are available via get_product_details.
curl -X GET 'https://api.parse.bot/scraper/b7d715fd-2e50-4a30-8d8c-ed56a2751f25/search_products?page=1&limit=5&query=shoes' \ -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 meesho-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.
"""Walkthrough: Meesho SDK — browse categories, list products, get details."""
from parse_apis.meesho_api import Meesho, ProductNotFound
client = Meesho()
# Fetch the full category navigation tree.
tree = client.categories.tree()
for nav in tree.navUrls:
print(nav.title, nav.url)
# Browse products in the Jewellery category (page_id from navigation tree).
for product in client.category(page_id="9tx").list_products(limit=3):
print(product.name, product.price, product.rating)
# Drill into the first product's full details.
product = client.category(page_id="9tx").list_products(limit=1).first()
if product:
detail = product.details()
print(detail.name, detail.price, detail.supplier_name)
print(detail.shipping.charges, detail.shipping.is_express_delivery)
for attr in detail.product_details.product_highlights.attributes:
print(attr.display_name, attr.value)
# Fetch a product directly by ID with error handling.
try:
detail = client.productdetails.get(product_id="93stn")
print(detail.name, detail.price, detail.in_stock)
except ProductNotFound as exc:
print(f"Product not found: {exc.product_id}")
print("exercised: categories.tree / category.list_products / product.details / productdetails.get")
Search for products by keyword query. Returns a paginated list of products matching the query. May be intermittently blocked by Akamai protection.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number |
| limit | integer | Results per page |
| queryrequired | string | Search keyword |
{
"type": "object",
"fields": {
"catalogs": "array of product objects",
"total_count": "integer"
},
"sample": {
"status": "blocked",
"message": "Blocked by akamai",
"block_type": "akamai"
}
}About the Meesho API
Category Navigation and Product Browsing
Start with get_navigation_tree, which returns the complete category structure as a nested payload object. The top-level level_1 array contains category names, IDs, icons, and slugs, each with nested level_2 and level_3 subcategories. Each node carries a page_id (e.g. 9tx for Jewellery, 3iy for Sarees) that you pass directly to get_category_products to retrieve paginated product listings. The catalogs array in that response includes product_id, name, slug, price (INR), image, rating, rating_count, category_id, and in_stock per item, alongside a total_count for the full result set.
Product Details and Reviews
get_product_details accepts an alphanumeric product_id (e.g. 93stn, 1tbof) sourced from get_category_products results and returns a single product record with name, slug, price, valid, images array, in_stock, shipping object (charges and estimated delivery), breadcrumb path, and a description string that includes structured attributes. get_product_reviews accepts the same product_id and an optional page parameter and returns a paginated reviews array of customer review objects.
Keyword Search
search_products accepts a required query string plus optional page and limit parameters. It returns the same catalogs array structure as category browsing along with a total_count. Note that this endpoint may be intermittently affected by Akamai bot-protection on the source site, which can result in empty or blocked responses; get_category_products and get_product_details are generally more reliable for systematic catalog access.
Data Scope and Freshness
All prices are denominated in INR. Stock status (in_stock) and pricing reflect catalog state at retrieval time and are not pushed — each API call fetches current data. Pagination is controlled via page and limit across the browsing and search endpoints. Product IDs are short alphanumeric strings that are stable within a listing's lifetime on the platform.
The Meesho API is a managed, monitored endpoint for meesho.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when meesho.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 meesho.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 Meesho categories using
get_category_productswithpriceandin_stockfields polled over time. - Generate a structured product feed for comparison sites using
get_product_detailsto pullname,price,images, anddescription. - Map Meesho's full category taxonomy by parsing the three-level hierarchy from
get_navigation_tree. - Aggregate customer sentiment by collecting
reviewsobjects for a set of product IDs viaget_product_reviews. - Discover bestselling or highly rated products in a given category using
ratingandrating_countfromget_category_products. - Power a cross-platform shopping assistant by searching Meesho inventory with
search_productsalongside other retailer APIs. - Audit shipping cost structures across product categories using the
shippingobject returned byget_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 Meesho have an official public developer API?+
What does get_product_details return beyond price and name?+
shipping object with charges and estimated delivery window, an images array of product photo URLs, a breadcrumb array showing the category path, a description string that includes structured product attributes, a valid boolean indicating whether the listing is active, and an in_stock boolean. The product_id is also echoed back in the response.How reliable is the search_products endpoint compared to category browsing?+
search_products and get_product_reviews are noted as intermittently affected by Akamai bot-protection, which can result in blocked or empty responses. get_category_products and get_product_details are more consistently available for systematic catalog retrieval. If keyword search is critical to your use case, build in retry logic and fallback to category browsing where possible.Does the API return seller information, such as seller name or ratings per supplier?+
Can I retrieve product variants, such as size or color options, through get_product_details?+
get_product_details response includes a description string that may contain attribute information, but structured variant data (discrete size/color SKUs with per-variant pricing or stock) is not returned as a separate field. You can fork this API on Parse and revise it to surface variant objects if the product detail source exposes them.