Meesho Category Listings
catalog.category
List public Meesho catalogs for a category route, with source-provided filters and cursor pagination.
At a glance
- Endpoint ID
catalog.category- Price
- 1 credit per call; failed calls are free
- Runs for up to
- 45 seconds
Request
Send the endpoint ID as capability and its fields as input. Set UPSCRAPE_API_KEY to your key first.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "catalog.category", "input": { "limit": 20, "page_id": "3j0", "slug": "women-kurtis" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "catalog.category", "input": { "limit": 20, "page_id": "3j0", "slug": "women-kurtis" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "catalog.category", "input": { "limit": 20, "page_id": "3j0", "slug": "women-kurtis" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
Input
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
page_id |
string | yes | Page identifier. | 3j0 |
cursor |
string | no | Continuation cursor returned by a previous request. | |
filter_tokens |
array<string> | no | ||
limit |
integer | no | Maximum number of results to return. From 1 to 100. | 20 |
offset |
integer | no | Zero-based number of results to skip. At least 0. | |
slug |
string | no | Slug from the page URL. | women-kurtis |
sort |
object | no | Copy the sort_by and sort_order pair from catalog.filters sort_options for the same page_id |
Response
A finished call answers with HTTP 200; the data is in results[0].data, and billing.credits_charged is what it cost. A call still running after the wait answers 202: see jobs and results.
This is results[0].data from a real run:
{ "count": 20, "listings": [ { "name": "Women Georgette Trendy Drishya Kurtis", "review_count": 15465, "average_rating": 4.1, "catalog_id": 96851982, "min_price": 309, "product_id": "5ihfj3", "product_url": "https://www.meesho.com/s/p/5ihfj3", "rating_count": 46000, "slug": "", "offer": { "display_text": "₹284 with 1 Special Offer", "items": [ { "amount": 25, "type": "cod_unbundling" } ] }, "images": [ "https://images.meesho.com/images/products/333377247/ryeix_512.jpg", "https://images.meesho.com/images/products/333377246/mtwg1_512.jpg" ] }, { "name": "Women Rayon Myra Petite Kurtis", "review_count": 27846, "average_rating": 4, "catalog_id": 114612648, "min_price": 235, "product_id": "6hnqz1", "product_url": "https://www.meesho.com/s/p/6hnqz1", "rating_count": 95692, "slug": "", "offer": { "display_text": "₹211 with 1 Special Offer", "items": [ { "amount": 24, "type": "cod_unbundling" } ] }, "images": [ "https://images.meesho.com/images/products/392458573/97zwk_512.jpg", "https://images.meesho.com/images/products/392458576/zzhgz_512.jpg" ] } ]}
Fields
| Field | Type | Example |
|---|---|---|
listings[].name |
string | Women Georgette Trendy Drishya Kurtis |
listings[].review_count |
integer | 15,465 |
listings[].average_rating |
number | 4.1 |
listings[].catalog_id |
integer | 96,851,982 |
listings[].images |
array | https://images.meesho.com/images/products/333377247/ryeix_512.j… |
listings[].min_price |
integer | 309 |
listings[].offer |
object | 2 fields |
listings[].offer.display_text |
string | ₹284 with 1 Special Offer |
listings[].offer.items |
array | 1 records |
listings[].product_id |
string | 5ihfj3 |
listings[].product_url |
string | https://www.meesho.com/s/p/5ihfj3 |
listings[].rating_count |
integer | 46,000 |
listings[].slug |
string | |
count |
integer | 20 |
listings |
array | 3 records |
If a call fails
A failed call costs nothing. The response carries an error.code you can branch on; Errors and retries lists every code and which ones to retry.
Other Meesho Catalog endpoints
Something missing or unclear? Ask the team that builds the Meesho Catalog endpoints.