# Flipkart API scraper — India's largest e-commerce marketplace (flipkart.com): product search with full filters, product detail (price/specs/variants/offers), buyer reviews, categories, sellers, similar products, available filters and autocomplete

> 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).
> ReefAPI engine `flipkart` · 12 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/flipkart/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed or blocked calls are free.
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http, `Authorization: Bearer <key>`) and your assistant can call these actions directly.

## Endpoints

### POST /flipkart/v1/search — 1 credit
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).

**Parameters:**
- `q` (string, required) — Search keyword.
- `page` (integer, optional, default 1) — Result page (1-based). Page forward with meta.next_page.
- `sort` (enum, optional) — Sort order. [one of: relevance, popularity, price_asc, price_desc, recency_desc]
- `brand` (string, optional) — Filter to a brand (exact Flipkart brand name, e.g. Samsung, HP).
- `min_price` (number, optional) — Minimum price in ₹ (INR). Applied to the returned cards.
- `max_price` (number, optional) — Maximum price in ₹ (INR). Applied to the returned cards.
- `min_rating` (enum, optional) — Keep only products rated this many stars and up. [one of: 4, 3, 2, 1]
- `min_discount` (enum, optional) — Keep only products with at least this % discount. [one of: 10, 20, 30, 40, 50, 60, 70, 80]
- `f_assured` (boolean, optional, default false) — When true, restrict to F-Assured (Flipkart-Assured quality/delivery) listings.
- `no_cost_emi` (boolean, optional, default false) — When true, restrict to products with a No Cost EMI offer.
- `include_out_of_stock` (boolean, optional, default false) — When true, include out-of-stock products in the results.
- `facets` (array, optional) — Advanced: raw category-facet filter fragment(s) taken from the `filters` action's `param` field (e.g. 'facets.processor[]=Core i7'). Pass one string or a list to stack several facets.

**Returns:** results[] (title, price, mrp, discount, rating, image, url) + total_results + filters_applied + page + has_more + next_page

**Example request body:**
```json
{
  "q": "laptop"
}
```

### POST /flipkart/v1/product — 1 credit
full product page facts (title/price/mrp/rating/specs/highlights/images/seller/similar)

**Parameters:**
- `url` (string, optional) — Full Flipkart product URL.
- `itm_id` (string, optional) — Flipkart item id (the itmXXXX in a /p/ URL).

**Returns:** product{title, brand, breadcrumbs[], description, price, mrp, discount_percent, currency, rating, rating_count, review_count, rating_breakup, parameter_ratings, in_stock, seller{}, variants[]{value,price,in_stock,url}, offers[]{type,title,value}, images[], highlights[], specifications[]{name,value}, return_policy, cod_available, no_cost_emi, delivery, similar_products[]}

### POST /flipkart/v1/reviews — 1 credit
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.

**Parameters:**
- `url` (string, optional) — Full Flipkart product URL.
- `slug` (string, optional) — Product slug (the part before /p/; derived from url if omitted).
- `itm_id` (string, optional) — Flipkart item id (the itmXXXX in a /p/ URL).
- `page` (integer, optional, default 1) — Result page (1-based). Page forward with meta.next_page.
- `sort` (enum, optional) — Review ordering. [one of: MOST_RECENT, MOST_HELPFUL, POSITIVE_FIRST, NEGATIVE_FIRST]

**Returns:** reviews[]{rating, title, text, author, location, certified_buyer, helpful_count, upvote, downvote, created} + total_review_count + itm_id + page + has_more + next_page

### POST /flipkart/v1/category — 1 credit
category/browse listing cards from a Flipkart category URL/path

**Parameters:**
- `url` (string, optional) — Full Flipkart category URL. (category needs url OR path.)
- `path` (string, optional) — Site-relative category path (alternative to url).
- `page` (integer, optional, default 1) — Result page (1-based). Page forward with meta.next_page.

**Returns:** results[] listing cards, page, has_more, next_page

### POST /flipkart/v1/browse — 1 credit
alias of category

**Parameters:**
- `url` (string, optional) — Full Flipkart category URL (alias of the category action).
- `path` (string, optional) — Site-relative category path.
- `page` (integer, optional, default 1) — Result page (1-based). Page forward with meta.next_page.

**Returns:** results[] listing cards (same as category), page, has_more, next_page

### POST /flipkart/v1/similar — 1 credit
similar/related products from a product page reco widgets

**Parameters:**
- `url` (string, optional) — Full Flipkart product URL.
- `itm_id` (string, optional) — Flipkart item id (the itmXXXX in a /p/ URL).
- `product_id` (string, optional) — Flipkart product id (FSN) to exclude from results.

**Returns:** results[] related products (title, price, rating, url)

### POST /flipkart/v1/seller — 1 credit
seller storefront catalog cards + seller metadata

**Parameters:**
- `seller_id` (string, optional) — Flipkart seller id. (seller needs seller_id OR seller_path/url.)
- `seller_path` (string, optional) — Site-relative seller storefront path.
- `seller_url` (string, optional) — Full seller storefront URL.
- `product_id` (string, optional) — Product id for seller-of-this-product lookup.
- `product_url` (string, optional) — Product URL to resolve the seller from.
- `url` (string, optional) — Generic Flipkart URL (seller or product).
- `page` (integer, optional, default 1) — Result page (1-based). Page forward with meta.next_page.

**Returns:** seller{seller_id, catalog_count, ...}, results[] storefront cards, page, has_more, next_page

### POST /flipkart/v1/autocomplete — 1 credit
search autosuggest suggestions for a partial query

**Parameters:**
- `q` (string, required) — Search keyword.

**Returns:** suggestions[] {text, query, source}

**Example request body:**
```json
{
  "q": "laptop"
}
```

### POST /flipkart/v1/categories — 1 credit
top-level navigation/category links from homepage state

**Parameters:** none

**Returns:** categories[] {title, url} from the homepage navigation

### POST /flipkart/v1/variants — 1 credit
Product variants (the sibling SKUs — color/storage/size) each with its OWN price, stock status and product URL, from the product page.

**Parameters:**
- `url` (string, optional) — Full Flipkart product URL.
- `itm_id` (string, optional) — Flipkart item id (the itmXXXX in a /p/ URL).
- `product_id` (string, optional) — Flipkart product id (FSN).

**Returns:** variants[]{value, product_id, price, currency, in_stock, url}, product_id

### POST /flipkart/v1/filters — 1 credit
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.

**Parameters:**
- `q` (string, required) — Search keyword.
- `brand` (string, optional) — Optionally scope the facets to a brand first.

**Returns:** filters[]{id, title, values[]{value, count, param, selected}} + total_results + query

**Example request body:**
```json
{
  "q": "laptop"
}
```

### POST /flipkart/v1/offers — 1 credit
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.

**Parameters:**
- `url` (string, optional) — Full Flipkart product URL.
- `itm_id` (string, optional) — Flipkart item id (the itmXXXX in a /p/ URL).

**Returns:** offers[]{type, title, value} + no_cost_emi + cod_available + product_id

## More
- Try it live, no code: https://reefapi.com/playground?engine=flipkart
- Human docs page: https://reefapi.com/docs/flipkart
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
