# Flipkart Product Scraper (`scraptivo/flipkart-scraper`) Actor

Collect Flipkart product listings from start URLs, categories, or search queries, with optional product details and customer reviews. Extract price, brand, ratings, and stock status.

- **URL**: https://apify.com/scraptivo/flipkart-scraper.md
- **Developed by:** [Scraptivo](https://apify.com/scraptivo) (community)
- **Categories:** E-commerce, Integrations, MCP servers
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.70 / 1,000 product scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

**Flipkart Product Scraper** collects product listings from Flipkart and turns them into structured data for price monitoring, competitor research, and catalog building. Provide a search query, a category, or Flipkart URLs, run the Actor, and export name, brand, price, MRP, discount, rating, and review counts to JSON, CSV, or Excel. Optionally enrich each product with full details and customer reviews. Use it for repricing, deal tracking, and market intelligence. Pricing starts at $0.002 per product, with details and reviews billed as separate pay-per-event charges.

### What can you automate with Flipkart Product Scraper?

- **Build product datasets on demand** — turn any search term, category, or Flipkart URL into structured records without writing code.
- **Monitor prices and discounts** — track `price`, `mrp`, and `discountPercent` over time to catch repricing opportunities and seasonal deals.
- **Track ratings and reviews** — collect aggregate ratings and full customer reviews to understand reputation and quality.
- **Enrich listings with full details** — pull descriptions, highlights, specs, offers, and star-rating breakdowns for every product.
- **Feed your pipeline** — export results as JSON, CSV, or Excel, or stream them into your app through the Apify API.
- **Schedule recurring collection** — keep prices and offers fresh automatically without touching a server.

### Who is this scraper for?

| Team | Workflow |
|---|---|
| E-commerce operators | Benchmark your catalog against Flipkart pricing, brands, and discount strategies. |
| Market researchers | Study category demand, pricing, and rating patterns across popular Flipkart sections. |
| Pricing and repricing teams | Track competitor prices and active offers to adjust your own prices. |
| Brand and product analysts | Read customer reviews to understand what shoppers praise and fault. |

### What data can you collect from Flipkart?

| Data group | Example fields | How it helps |
|---|---|---|
| Product identity | `name`, `brand`, `subtitle`, `imageUrl`, `url`, `productId` | Identify and link each product to its Flipkart page. |
| Commercial signals | `price`, `mrp`, `discountPercent`, `currency`, `inStock` | Spot deals, markdowns, and stock status in INR. |
| Popularity and trust | `rating`, `ratingCount`, `reviewCount` | Prioritize well-reviewed, high-demand products. |
| Catalog structure | `category`, `subCategory`, `sourceType`, `sourceQuery` | Group results by section and trace them to the input. |
| Full details (optional) | `description`, `highlights`, `features`, `offers`, `keySpecs`, `imageUrls`, `ratingBreakdown` | Enrich each product with specs, offers, and star distribution. |
| Customer reviews (optional) | `reviews[]` with rating, text, author, and verified-buyer status | Analyze sentiment and buyer feedback per product. |

### How to use Flipkart Product Scraper

1. Open the Actor on the Apify Store.
2. Enter a search query (for example `samsung tv`), a category, or Flipkart URLs.
3. Set `maxItems` to cap the number of products, and toggle details or reviews if you need them.
4. Run the Actor and watch results stream into the dataset.
5. Export to JSON, CSV, or Excel, or connect the dataset to your downstream tools.

```json
{
  "searchQueries": ["samsung tv"],
  "maxItems": 100,
  "includeProductDetails": true,
  "includeReviews": true,
  "maxReviews": 10
}
```

### Example workflow

#### Build a weekly list of discounted, highly rated products

1. Run a category or search query each week for the products you monitor.
2. Keep records where `discountPercent` and `rating` meet your thresholds.
3. Send new records to Google Sheets or a CRM.
4. Deduplicate using the stable `productId` or `url`.

Filtering and messaging are user-side steps; the Actor returns the raw structured data for you to act on.

### Automate and integrate your results

- **Schedules** — run daily for price monitoring, or hourly during sale events such as Flipkart's Big Billion Days.
- **Webhooks** — trigger a downstream pipeline the moment a run completes.
- **Integrations** — push results to Google Sheets, Make, Zapier, Slack, or a CRM, database, or cloud storage.
- **API** — trigger runs and pull records programmatically for recurring pipelines.

```shell
curl "https://api.apify.com/v2/acts/scraptivo/flipkart-scraper/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchQueries": ["samsung tv"], "maxItems": 100}'
```

### Input reference

| Field | Type | Required | Default | What it controls |
|---|---|---:|---|---|
| `startUrls` | array | No\* | — | Flipkart category, search, or product page URLs. |
| `categories` | array | No\* | — | One of 15 popular sections: mobiles, laptops, televisions, headphones, mens-shirts, womens-sarees, womens-heels, mens-sports-shoes, watches, refrigerators, washing-machines, air-conditioners, microwave-ovens, books, beauty-and-grooming. |
| `searchQueries` | array | No\* | — | Search terms such as `samsung tv`. No URL required. |
| `maxItems` | integer | No | 0 | Maximum products to scrape (0 = unlimited). |
| `includeProductDetails` | boolean | No | false | Fetch full details (description, highlights, features, offers, rating breakdown); charges a `product-details` event. |
| `includeReviews` | boolean | No | false | Fetch customer reviews; charges a `product-reviews` event per review. |
| `maxReviews` | integer | No | 10 | Maximum reviews per product when reviews are enabled (0 = all). |
| `detailConcurrency` | integer | No | 5 | Parallel workers for details and reviews (1–15). |
| `proxyConfiguration` | object | No | residential | Proxy settings; Apify residential proxy is enabled by default. |

\* At least one of `startUrls`, `categories`, or `searchQueries` is required.

### Output example

```json
{
  "productId": "SHTGNEFMQYHFHXYG",
  "itemId": "itm8db046dcd06e5",
  "listingId": "LSTSHTGNEFMQYHFHXYGZDDZVV",
  "name": "RED TAPE Men Solid Casual Pink Shirt",
  "brand": "RED TAPE",
  "subtitle": "Men Regular Fit Solid Button Down Collar Casual Shirt",
  "url": "https://www.flipkart.com/red-tape-men-solid-casual-pink-shirt/p/itm8db046dcd06e5?pid=SHTGNEFMQYHFHXYG",
  "imageUrl": "https://rukmini1.flixcart.com/image/400/400/xif0q/shirt/7/h/q/-original-imahq62xmshdbume.jpeg?q=70",
  "price": 776.0,
  "mrp": 4299.0,
  "discountPercent": 81.0,
  "currency": "INR",
  "rating": 4.0,
  "ratingCount": 9236,
  "reviewCount": 531,
  "inStock": true,
  "keySpecs": ["Pack of: 1", "Fabric: Cotton Linen", "Sleeve: Full Sleeve", "Pattern: Solid"],
  "category": "MensTopwear",
  "subCategory": "MensShirt",
  "sourceType": "category",
  "sourceQuery": "clothing and accessories",
  "sourceUrl": "https://www.flipkart.com/clothing-and-accessories/topwear/shirts/pr?sid=clo,ash,axc",
  "description": "Flaunt your Casual Summer Fit with this Peach color Shirt brought to you by RedTape...",
  "highlights": ["Pack of: 1", "Fabric: Cotton Linen", "Sleeve: Full Sleeve"],
  "features": [
    { "title": "Brand", "description": "RED TAPE" },
    { "title": "Fit", "description": "Regular" }
  ],
  "offers": [{ "title": "Buy at ₹623", "type": "BANK_TAB" }],
  "ratingBreakdown": [
    { "stars": 1, "count": 941 },
    { "stars": 5, "count": 4659 }
  ],
  "reviews": [
    {
      "title": "Excellent",
      "text": "Best Quality...",
      "rating": 5,
      "author": "vaibhav nikam",
      "certifiedBuyer": true,
      "location": "Kolhapur, Maharashtra",
      "helpfulCount": 37
    }
  ]
}
```

### How much does it cost to scrape Flipkart?

Flipkart Product Scraper uses pay-per-event pricing — you pay only for what you collect, with no platform usage fees.

- **Product scraped** — `$0.002` per product on the free tier, down to `$0.0017` on higher plans.
- **Product details** — `$0.002` per product when you enable `includeProductDetails`.
- **Product reviews** — `$0.002` per review when you enable `includeReviews`.
- **Actor start** — a one-time `$0.00005` per run.

A run of 1,000 listings costs about `$2.00` on the free tier. Adding full details for all 1,000 products doubles it to roughly `$4.00`, and collecting 10 reviews per product adds `$0.02` per product for the reviews. Apify plan discounts are applied automatically.

### Reliability and responsible use

- **Proxy** — the Actor uses Apify residential proxies by default; Flipkart content is geo-targeted to India, so non-Indian IPs may return fewer results.
- **Retries and concurrency** — requests are retried automatically, and `detailConcurrency` (1–15) controls how many detail and review pages load in parallel.
- **Conditional fields** — details and review fields (`description`, `highlights`, `features`, `offers`, `ratingBreakdown`, `reviews`) appear only when the corresponding options are enabled; `keySpecs` and other optional fields can be empty when Flipkart does not publish them.
- **Public data** — the Actor collects publicly visible product data only.
- **Your responsibility** — use the results lawfully and in line with Flipkart's terms of service.

### Frequently asked questions

#### Can I scrape product reviews from Flipkart?

Yes. Set `includeReviews` to true and use `maxReviews` to cap how many reviews are collected per product (default 10, `0` for all). Each review is billed as a separate `product-reviews` event.

#### Can I schedule Flipkart Product Scraper to run automatically?

Yes. Create a schedule in the Apify Console, or trigger runs through the Apify API. Price monitoring typically runs daily, while sale tracking can run hourly during events.

#### What counts as one result?

One product listing is one `dataset-item` event. Enabling `includeProductDetails` adds a `product-details` event for that product, and every collected review adds a `product-reviews` event.

#### Why are some fields empty?

Details and review fields are only populated when `includeProductDetails` and `includeReviews` are enabled. Even then, fields such as `keySpecs`, `offers`, or `ratingBreakdown` may be empty when Flipkart does not publish that data for a specific product.

#### How do I avoid duplicate records?

Within a run, the Actor deduplicates products by `productId`. Across separate runs, deduplicate yourself using the stable `productId` or `url`.

#### Do I need a proxy?

Residential proxies are enabled by default and recommended. Because Flipkart content is geo-targeted to India, using an India-based proxy improves the completeness of results.

### Related Scraptivo automations

- [Amazon Product Scraper](https://apify.com/scraptivo/amazon-scraper) — collect Amazon product listings, prices, and reviews.
- [Best Buy Product Scraper](https://apify.com/scraptivo/best-buy-scraper) — scrape Best Buy products by search, category, or SKU.
- [Target Product Scraper](https://apify.com/scraptivo/target-scraper) — extract Target.com products with optional details and reviews.
- [IKEA Product Scraper](https://apify.com/scraptivo/ikea-scraper) — collect IKEA listings with optional product details and reviews.
- [Costco Product Scraper](https://apify.com/scraptivo/costco-scraper) — scrape Costco.com products, prices, and availability.
- [Zalando Product Scraper](https://apify.com/scraptivo/zalando-scraper) — extract Zalando listings and product details.

### Support and custom workflows

Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, a sample URL, the required fields, and expected volume so we can assess the request.

# Actor input Schema

## `startUrls` (type: `array`):

Flipkart category, search, or product page URLs (e.g. https://www.flipkart.com/televisions/pr?sid=ckf,czl). Preferred input — the scraper starts from whatever page you pass.

## `categories` (type: `array`):

Popular Flipkart categories to scrape. Combined with Start URLs and search queries when set.

## `searchQueries` (type: `array`):

Product search terms to look up on Flipkart (e.g. "samsung tv", "wireless earbuds"). Primary input for AI agents — no URL required.

## `maxItems` (type: `integer`):

Maximum number of products to scrape across all URLs, categories, and queries (0 = unlimited).

## `includeProductDetails` (type: `boolean`):

When enabled, fetch full product details for each item (description, highlights, features, offers, rating breakdown). Charged as the product-details event in addition to each dataset item.

## `includeReviews` (type: `boolean`):

When enabled, fetch customer reviews for each product. Charged as the product-reviews event once per review, in addition to each dataset item.

## `maxReviews` (type: `integer`):

Maximum number of reviews to collect per product when Include Product Reviews is enabled (0 = all available reviews).

## `detailConcurrency` (type: `integer`):

How many products to enrich in parallel when product details or reviews are enabled. Higher is faster; keep it modest to avoid blocks.

## `proxyConfiguration` (type: `object`):

Proxy settings. Apify Residential proxies are recommended for reliable Flipkart access.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.flipkart.com/clothing-and-accessories/topwear/shirts/pr?sid=clo,ash,axc"
    }
  ],
  "searchQueries": [
    "samsung tv"
  ],
  "maxItems": 10,
  "includeProductDetails": false,
  "includeReviews": false,
  "maxReviews": 10,
  "detailConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset containing scraped Flipkart products

## `runStats` (type: `string`):

Aggregate scrape statistics for this run

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.flipkart.com/clothing-and-accessories/topwear/shirts/pr?sid=clo,ash,axc"
        }
    ],
    "searchQueries": [
        "samsung tv"
    ],
    "maxItems": 10,
    "maxReviews": 10,
    "detailConcurrency": 5,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraptivo/flipkart-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://www.flipkart.com/clothing-and-accessories/topwear/shirts/pr?sid=clo,ash,axc" }],
    "searchQueries": ["samsung tv"],
    "maxItems": 10,
    "maxReviews": 10,
    "detailConcurrency": 5,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scraptivo/flipkart-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.flipkart.com/clothing-and-accessories/topwear/shirts/pr?sid=clo,ash,axc"
    }
  ],
  "searchQueries": [
    "samsung tv"
  ],
  "maxItems": 10,
  "maxReviews": 10,
  "detailConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scraptivo/flipkart-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scraptivo/flipkart-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/cew6MSoOcWZPMejbH/builds/qWlA1r5kjHmb6PahU/openapi.json
