Flipkart API & Scraper
The Flipkart API returns product data from India's largest e-commerce marketplace as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary search endpoint returns products with title, price, MRP, discount, rating, image and URL plus filters and pagination, and you can pull a product, reviews, a category, browse, similar items, a seller, variants and autocomplete. It is built for price intelligence, catalog enrichment and Indian e-commerce analytics that need Flipkart data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.
The four Flipkart identifiers, and which one each action accepts
Flipkart puts three different ids on the same product and a fourth on whoever sells it. Passing the wrong one is the usual reason a lookup comes back empty. Every shape below was read off a live response, and every price field on this API is INR.
| Identifier | Measured shape | What it identifies |
|---|---|---|
| product_id (FSN) | 16 uppercase alphanumerics with a category prefix: MOBH4DQF849HCG6G (phone), COMHAUZWVNJSFAMN (computer), TABGJ6XUSFTPNTKH (tablet), ACCGS8R72CHAX9Y8 (accessory), SHOHZ9SVFZEB3Y3Q (footwear) | One exact SKU: this colour, this storage. It is the pid= in a Flipkart URL. |
| listing_id | LST + the FSN + 6 more characters, 25 in total: LSTMOBH4DQF849HCG6GN4L5IU | One seller's offer on that SKU. It changes when the winning seller changes. |
| itm_id | itm + 13 hex characters: itm7c0281cd247be | The /p/ segment of the product URL. product, reviews, variants and similar all accept it directly. |
| seller_id | 16 lowercase hex: f2e07cd334ca4fad | The merchant. Flipkart publishes no /seller/<id> storefront, so this names a seller but cannot browse one. |
| currency | Always the string INR | price, mrp and every variant price. |
product, reviews, variants, similar and seller all accept a full product url instead of any id, and that is the safest input because the url carries both the itm_id and the pid. search returns all three product ids on every card, so keep the card and you never have to reconstruct one.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/flipkart/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"q": "laptop"
}
}{
"ok": true,
"meta": {
"api": "flipkart",
"endpoint": "search",
"mode": "live",
"latency_ms": 2824.7,
"record_count": 24,
"bytes": 557781,
"cache_hit": false,
"method": "embedded_initial_state",
"extra": {
"url": "https://www.flipkart.com/search?q=laptop&page=1",
"total_results": 2312,
"page": 1,
"page_size": 24,
"has_more": true,
"next_page": 2
}
},
"data": {
"results": [
{
"product_id": "COMHGYAFPJ2BGX6H",
"listing_id": "LSTCOMHGYAFPJ2BGX6HVGQ2CF",
"itm_id": "itm2be4c7e3b9728",
"title": "ASUS ExpertBook P1 (i3 14th Gen) with 1 Yr ADP Intel Core 3 14th Gen 100U - (8 GB/512 GB SSD/Windows 11 Home) P1403CVA-S61821WS Thin and Light Laptop",
"subtitle": "14 Inch, Misty Grey, 1.40 kg, With MS Office",
"url": "https://www.flipkart.com/asus-expertbook-p1-i3-14th-gen-1-yr-adp-intel-core-3-gen-100u-8-gb-512-gb-ssd-windows-11-home-p1403cva-s61821ws-thin-light-laptop/p/itm2be4c7e3b9728?pid=COMHGYAFPJ2BGX6H",
"price": 47990,
"mrp": 69990,
"discount_percent": 31,
"currency": "INR",
"rating": 4.3,
"rating_count": 6562,
"review_count": 524,
"images": [
"http://rukmini1.flixcart.com/image/832/832/xif0q/computer/r/7/u/-original-imahmpquxzztyzny.jpeg?q=70",
"http://rukmini1.flixcart.com/image/832/832/xif0q/computer/5/l/g/-original-imahj7qryhccspcb.jpeg?q=70",
"http://rukmini1.flixcart.com/image/832/832/xif0q/computer/i/a/b/-original-imahj7wfh39ufrw9.jpeg?q=70"
],
"image": "http://rukmini1.flixcart.com/image/832/832/xif0q/computer/r/7/u/-original-imahmpquxzztyzny.jpeg?q=70",
"availability": "IN_STOCK",
"in_stock": true,
"key_specs": [
"Intel Core 3 Processor (14th Gen)",
"8 GB DDR5 RAM",
"64 bit Windows 11 Home Operating System"
],
"vertical": "computer",
"analytics": {
"category": "Laptops",
"subCategory": "Laptop",
"superCategory": "LaptopAndDesktop",
"vertical": "Laptop"
},
"flipkart_advantage": true
},
{
"product_id": "COMHMYD8FQU2Z8QG",
"listing_id": "LSTCOMHMYD8FQU2Z8QGCCSRS3",
"itm_id": "itm10b2e9cf77fde",
"title": "Acer Aspire 15 Lite(i5 14th Gen) Intel Core 5 210H - (16 GB/512 GB SSD/Windows 11 Home) AL15-52H Notebook",
"subtitle": "15.6 inch, Pure Silver, 1.7 kg",
"url": "https://www.flipkart.com/acer-aspire-15-lite-i5-14th-gen-intel-core-5-210h-16-gb-512-gb-ssd-windows-11-home-al15-52h-notebook/p/itm10b2e9cf77fde?pid=COMHMYD8FQU2Z8QG",
"price": 56990,
"mrp": 78999,
"discount_percent": 27,
"currency": "INR",
"rating": 4.3,
"rating_count": 23,
"review_count": 3,
"images": [
"http://rukmini1.flixcart.com/image/832/832/xif0q/computer/r/l/n/-original-imahn6vwesuegyn8.jpeg?q=70",
"http://rukmini1.flixcart.com/image/832/832/xif0q/computer/d/x/k/-original-imahn6vwjcrhkqgh.jpeg?q=70",
"http://rukmini1.flixcart.com/image/832/832/xif0q/computer/p/9/b/-original-imahn6vwjvhv767w.jpeg?q=70"
],
"image": "http://rukmini1.flixcart.com/image/832/832/xif0q/computer/r/l/n/-original-imahn6vwesuegyn8.jpeg?q=70",
"availability": "IN_STOCK",
"in_stock": true,
"key_specs": [
"Intel Core 5 Processor",
"16 GB LPDDR5 RAM",
"64 bit Windows 11 Home Operating System"
],
"vertical": "computer",
"analytics": {
"category": "Laptops",
"subCategory": "Laptop",
"superCategory": "LaptopAndDesktop",
"vertical": "Laptop"
},
"flipkart_advantage": true
},
{
"product_id": "COMHDGD5FH6NZPHD",
"listing_id": "LSTCOMHDGD5FH6NZPHD567UTY",
"itm_id": "itmdbf8db6a6f79a",
"title": "Primebook 2 Pro (2025) in-Built AI MediaTek Helio G99 (MT[redacted-phone] GB/128 GB/Android 15) PBG9914128#4278C Laptop",
"subtitle": "14.1 Inch, Gray",
"url": "https://www.flipkart.com/primebook-2-pro-2025-in-built-ai-mediatek-helio-g99-mt8781-8-gb-128-gb-android-15-pbg[redacted-phone]c-laptop/p/itmdbf8db6a6f79a?pid=COMHDGD5FH6NZPHD",
"price": 26990,
"mrp": 39990,
"discount_percent": 32,
"currency": "INR",
"rating": 4.4,
"rating_count": 1540,
"review_count": 453,
"images": [
"http://rukmini1.flixcart.com/image/832/832/xif0q/computer/t/i/8/-original-imahfskhzaahq9es.jpeg?q=70",
"http://rukmini1.flixcart.com/image/832/832/xif0q/computer/e/o/3/-original-imahfskmvgzwanes.jpeg?q=70",
"http://rukmini1.flixcart.com/image/832/832/xif0q/computer/4/t/9/-original-imahfskmpajb4yvu.jpeg?q=70"
],
"image": "http://rukmini1.flixcart.com/image/832/832/xif0q/computer/t/i/8/-original-imahfskhzaahq9es.jpeg?q=70",
"availability": "IN_STOCK",
"in_stock": true,
"key_specs": [
"MediaTek Helio G99 (MT8781) Processor",
"8 GB LPDDR4X RAM",
"64 bit Android Operating System"
],
"vertical": "computer",
"analytics": {
"category": "Laptops",
"subCategory": "Laptop",
"superCategory": "LaptopAndDesktop",
"vertical": "Laptop"
},
"flipkart_advantage": true
}
],
"query": "laptop",
"total_results": 2312,
"filters_applied": {},
"page": 1,
"page_size": 24,
"has_more": true,
"next_page": 2
}
}What the Flipkart API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Flipkart product search with filters — keyword search returning product cards (title/price/mrp/discount/rating/image/url) plus the total result count, paginated. Filter by brand, price range, minimum rating, minimum discount, F-Assured and any category facet (use the `filters` action to discover what a query supports). | Pricing teams call search to get flipkart product search with filters. | q, page, sort, brand, min_price, ... |
| product | full product page facts (title/price/mrp/rating/specs/highlights/images/seller/similar) | Marketplace operators call product to get full product page facts (title/price/mrp/rating/specs/highlights/images/seller/similar). | url, itm_id |
| reviews | Flipkart buyer reviews for a product, paginated — each review has rating, title, body, reviewer name, location, certified-buyer badge, helpful/up/down votes and date, plus the product's total review count. Page through with meta.next_page to collect them all. | Catalog enrichment teams call reviews to get flipkart buyer reviews for a product, paginated. | url, slug, itm_id, page, sort |
| category | category/browse listing cards from a Flipkart category URL/path — a `/pr?sid=…` category link, a `~cs-…` curated collection, or a store/hub page such as /mobiles or /mobile-phones-store | Retail analysts call category to get category/browse listing cards from a Flipkart category URL/path. | url, path, page |
| browse | Alias of the `category` action — browse/listing cards from a Flipkart category URL or site-relative path. (browse needs url OR path.) | Pricing teams call browse to get alias of the `category` action. | url, path, page |
| similar | similar/related products from a product page reco widgets | Marketplace operators call similar to get similar/related products from a product page reco widgets. | url, itm_id, product_id |
| seller | Who sells a product: seller id, fulfilment and availability, resolved from a product URL — plus storefront catalog cards when a storefront path is supplied. Start with `product_url` (the live-verified route); Flipkart has no public /seller/<id> storefront, so a bare `seller_id` returns metadata only. | Catalog enrichment teams call seller to get who sells a product. | product_url, url, seller_id, seller_path, seller_url, ... |
| autocomplete | search autosuggest suggestions for a partial query | Retail analysts call autocomplete to search autosuggest suggestions for a partial query. | q |
| categories | top-level navigation/category links from homepage state | Pricing teams call categories to get top-level navigation/category links from homepage state. | none |
| variants | Product variants (the sibling SKUs — color/storage/size) each with its OWN price, stock status and product URL, from the product page. | Marketplace operators call variants to get product variants (the sibling SKUs. | url, itm_id, product_id |
| filters | Available search filters (facets) for a query — every filter Flipkart offers for these results: brand, price, rating, discount, offers, availability and category-specific facets (processor, RAM, screen size, etc.), each value carrying a count and a ready-to-use filter `param`. Feed a value's `param` back into search's `facets` argument. | Catalog enrichment teams call filters to get available search filters (facets) for a query. | q, brand |
| offers | Bank, EMI, exchange and cashback offers for a product (the offer strip on the product page): e.g. 'Flipkart Axis Bank Card 5% cashback', 'Exchange offer up to ₹X off', 'No Cost EMI'. Honest-empty when a product has no active offers. | Retail analysts call offers to get bank, EMI, exchange and cashback offers for a product (the offer strip on the product page). | url, itm_id |
Call search from your stack
curl -X POST https://api.reefapi.com/flipkart/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"q":"laptop"}'import requests
r = requests.post(
"https://api.reefapi.com/flipkart/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"q": "laptop"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/flipkart/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"q": "laptop"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.flipkart.search with {"q":"laptop"}.Who uses this API and why
- Pricing teams call search to track Flipkart prices, MRP and discounts against competitors.
- Catalog-enrichment tools use product and variants to fill listings with specs and options.
- Market analysts use category and filters to size demand and price ranges in an Indian segment.
Questions developers ask before integrating
Why do every colour and storage of the same phone report identical rating_count and review_count?
Because Flipkart aggregates ratings at the parent product, not per SKU. A measured search for 'apple iphone 16' returned eight cards spanning five colours and two storage sizes, and all eight reported rating_count 197427 and review_count 8517. The product action returns the same aggregate plus rating_breakup (a count per star value) and parameter_ratings (Camera 4.6, Battery 4.3, Display 4.6 on that listing). There is no per-colour rating anywhere in the response.
What is the difference between price, mrp and discount_percent?
mrp is the maximum retail price, the struck-through number; price is what Flipkart is charging; discount_percent is Flipkart's own rounded integer rather than something we compute. The two surfaces round it independently: a Motorola laptop listing came back as price 76990 and mrp 93690 with discount_percent 17 on the search card and 18 on the product record. If you need an exact percentage, derive it from price and mrp yourself.
Do out-of-stock products still carry a price?
At card and product level, yes. A measured lookup on Samsung Galaxy M35 5G (pid MOBH2Z9HJYYQBFGD) returned availability OUT_OF_STOCK and in_stock false alongside price 13719 and mrp 24499. Inside variants[] the rule is different: a variant Flipkart is not currently selling comes back with price null and in_stock false, which is what the 512 GB iPhone 16 returned while its 128 GB and 256 GB siblings carried prices.
Which field holds the price of the exact colour and storage I asked for?
variants[], keyed by product_id. On multi-storage listings the page-level price can echo the parent listing instead of the selected SKU: for all four iPhone 16 128 GB colours the product action returned price 69900 with discount_percent null, equal to the mrp, while the variants entry for that same product_id and the search card both returned 64900. Single-variant listings agree on both surfaces. Whenever a listing has more than one variant, read the price out of variants[].
Can a search come back with no prices at all?
Yes, intermittently, and it is visible when it happens: price, mrp and discount_percent go null together on every card while title, rating, images, availability and all three ids stay intact. Three consecutive identical 'laptop' searches returned 24 of 24, then 2 of 24, then 24 of 24 null prices, so it tracks which of two card layouts Flipkart serves rather than the query. Re-issue the request, or read prices from product and variants for the pids you care about.
What date does a review carry?
Not a date. created is the relative label Flipkart prints, and it changes shape with age: measured values on one listing were '1 day ago', '4 months ago', '11 months ago', 'Jan, 2025' and 'Apr, 2025'. If you need ordering, use sort=MOST_RECENT rather than parsing it. Reviews come 10 per page with meta.next_page for the next one; each carries certified_buyer, helpful_count, a location such as 'Kaimganj, Uttar Pradesh', and product_attributes naming the colour and storage that reviewer actually bought.
Why does the seller action return an empty results[] and catalog_count 0?
Because Flipkart has no public seller storefront to list. A measured call with the iPhone product URL resolved seller_id f2e07cd334ca4fad, flipkart_fulfilled true and availability_status IN_STOCK, with results [] and catalog_count 0. The action answers 'who sells this product', not 'what else does this seller list'. Pass product_url; a bare seller_id yields metadata only.
What is the Flipkart API?
Flipkart API is a ReefAPI endpoint group for flipkart It returns live JSON through POST requests under /flipkart/v1.
Is the Flipkart API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Flipkart calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Flipkart login or account?
No login to Flipkart is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Flipkart data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Flipkart API use?
Flipkart actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Flipkart from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call flipkart actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Flipkart API a Flipkart scraper?
It is the managed alternative to a DIY Flipkart scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same flipkart back as clean JSON.