Meesho product
One Meesho product by link or id: name, price, MRP and discount, stock flag, sizes, description, highlights and the detail table, rating, rating and review counts, rating breakdown, the top review (text, rating, helpful votes, photos), delivery estimate, images, catalog, breadcrumbs, supplier (name, handle, link, rating, rating count, product count, products sold, image, mall flag, dispatch time) and mall tags. Also variants (each size with its id, price and stock flag), shipping (charges, free delivery, serviceable, express, estimated delivery date and timestamp, dispatch time, cash on delivery and its charge), returns (label and policy text, exchange-only flag), special_offers and other_designs (the catalog's other designs with code, name, price, stock, image and link).
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
url | string | A meesho.com product link (/<name>/p/<code>). Example: https://www.meesho.com/womens-kanjivaram-soft-banarasi-silk-saree-with-blouse-piece-wine/p/8vwcy5 |
id | string | The product id (e.g. 537307277) or the code in the link (e.g. 8vwcy5), instead of url. |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/meesho/v1/product?url=https%3A%2F%2Fwww.meesho.com%2Fwomens-kanjivaram-soft-banarasi-silk-saree-with-blouse-piece-wine%2Fp%2F8vwcy5" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/meesho/v1/product",
params={"url": "https://www.meesho.com/womens-kanjivaram-soft-banarasi-silk-saree-with-blouse-piece-wine/p/8vwcy5"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/meesho/v1/product");
url.searchParams.set("url", "https://www.meesho.com/womens-kanjivaram-soft-banarasi-silk-saree-with-blouse-piece-wine/p/8vwcy5");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).