# Flipkart Product Scraper (`sian.agency/flipkart-product-scraper`) Actor

Scrape Flipkart products — price, MRP, discount, ratings, reviews, images, specs & availability. Keyword, category or URL search with full detail enrichment. Clean JSON/CSV, no code.

- **URL**: https://apify.com/sian.agency/flipkart-product-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** E-commerce, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.30 / 1,000 overview product extracteds

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 — Prices, MRP, Specs & Stock to JSON/CSV 🚀

[![SIÁN Agency Store](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![AliExpress Product Scraper](https://img.shields.io/badge/Store-AliExpress%20Product%20Scraper-E62E04)](https://apify.com/sian.agency/aliexpress-product-scraper?fpr=sian) [![Walmart Product Scraper](https://img.shields.io/badge/Store-Walmart%20Product%20Scraper-0071CE)](https://apify.com/sian.agency/walmart-data-scraper?fpr=sian) [![Google Shopping Price Scraper](https://img.shields.io/badge/Store-Google%20Shopping%20Price%20Scraper-4285F4)](https://apify.com/sian.agency/google-shopping-price-scraper?fpr=sian)

#### 🎉 Turn any Flipkart search, category, or product page into a clean dataset — prices, MRP, discount %, ratings, full 1★–5★ histograms, specs, and live stock in one run.
##### Built for pricing analysts, e-commerce sellers, brands, and researchers who need reliable India e-commerce data in INR — no account, no API key, no code.

---

### 📋 Overview

**The Flipkart Product Scraper turns Flipkart — India's #1 online marketplace — into structured data in seconds.** Search by keyword or category, or paste Flipkart search and product URLs, and get a clean JSON/CSV dataset with one row per product: prices in INR, MRP and discount, ratings with a full star histogram, specifications, seller info, and availability.

No account, no API key, no setup. Just enter what you want, click Run, and download export-ready data for price monitoring, competitor intelligence, and catalog research.

**Why professionals choose us:**
- ✅ **Zero Setup**: No Flipkart account or API key — enter keywords and go
- ⚡ **Fast Overview Mode**: Pull 24 rich products per search page at scale — price, MRP, discount %, rating, and a full 1★–5★ rating histogram
- 🎯 **Deep Detail Mode**: Enrich every product with the full sectioned specifications table (60–90 rows), marketing highlights, seller store, colour, long description, and the complete image gallery
- 💰 **Pay-Per-Result Pricing**: Only pay for the products you actually receive — plus a free tier to test risk-free
- 💎 **One Clean Record Per Product**: Overview and detail merge into a single row — no stitching, no duplicates
- 🇮🇳 **Made for India E-Commerce**: Native INR pricing, MRP vs. selling price, and Flipkart's own brand, price, and rating filters

---

### ✨ Features

- 🔍 **Keyword & Category Search**: Find products by free-text search or by Flipkart category slug
- 🔗 **Paste Search & Product URLs**: Drop in any Flipkart search, category, or product URL and scrape it directly
- ⚡ **Overview Mode**: Fast search-results extraction — id, title, brand, price, MRP, discount, rating, review count, and availability
- 📊 **Detail Mode**: Full specifications table, marketing highlights, seller store, colour, long description, and complete image gallery
- 🏷️ **Complete Pricing Data**: Current price, MRP (strike-off list price), discount amount, and discount percentage — all in INR
- ⭐ **Ratings & Review Depth**: Average rating, rating count, review count, and a full 1★–5★ rating histogram for every product
- 📦 **Availability Intelligence**: In-stock status and availability flag for every product
- 🎚️ **Sorting & Filters**: Sort by relevance, popularity, price, newest, or discount — and filter by brand, min/max price, and minimum rating
- 🏬 **Seller & Market Data**: Seller name, seller id, and seller rating for deeper marketplace research (detail mode)
- 💾 **Clean JSON & CSV**: Export-ready dataset with one row per product, priced in INR

---

### 🎬 Quick Start

Enter keywords, category slugs, or Flipkart URLs, pick a mode, and click Run. In under a minute you'll have a structured dataset of Flipkart products ready to export as JSON or CSV. No setup, no account, no code.

```bash
## Run via API - one line
curl -X POST https://api.apify.com/v2/acts/sian.agency~flipkart-product-scraper/runs?token=YOUR_TOKEN \
-H 'Content-Type: application/json' \
-d '{"keywords": ["smartphones"], "scrapeMode": "overview"}'
````

***

### 🚀 Getting Started (3 Simple Steps)

#### Step 1: Tell It What to Scrape

Enter search keywords (e.g. `smartphones`, `bluetooth headphones`, `air fryer`), add category slugs, or paste Flipkart search or product URLs. Mix and match as needed — one per line.

#### Step 2: Choose Mode & Filters

Pick **Overview** (fast search-results data) or **Detail** (enriched with the full specs table, highlights, and seller). Optionally set a sort order, brand, min/max price (INR), or minimum rating.

#### Step 3: Run & Download

Click Run and download clean, structured data as JSON, CSV, or Excel — ready for spreadsheets, databases, and analytics tools.

**That's it! In minutes, you'll have:**

- Live selling prices, MRP, discount amount, and discount % in INR
- Ratings, rating counts, review counts, and full 1★–5★ histograms
- Full specification tables, highlights, seller info, and image galleries (detail mode)
- Clean export-ready data, one row per product

***

### 📥 Input Configuration

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| keywords | array | No | Free-text Flipkart searches (e.g. `"smartphones"`, `"laptop"`) — one per line |
| scrapeMode | string | No | `overview` (fast) or `detail` (enriched with full specs, highlights & seller) |
| sort | string | No | `relevance`, `popularity`, `price_low`, `price_high`, `newest`, or `discount` |
| brand | string | No | Limit results to a single brand (e.g. `SAMSUNG`, `Apple`, `realme`) |
| minPrice | number | No | Minimum price band (INR) |
| maxPrice | number | No | Maximum price band (INR) |
| rating | string | No | Minimum star rating facet — `1`, `2`, `3`, or `4` (★ & above) |
| categories | array | No | Advanced — Flipkart category slugs for whole-category browsing (e.g. `mobiles`, `tvs`) |
| searchUrls | array | No | Advanced — paste full Flipkart search/category URLs to scrape them verbatim |
| productUrls | array | No | Advanced — paste Flipkart product URLs (always returned with full Detail enrichment) |
| maxResults | integer | No | Maximum products to return across all inputs (FREE: up to 25/run, PAID: unlimited) |

**Example — keyword search, detail mode:**

```json
{
  "keywords": ["smartphones"],
  "scrapeMode": "detail",
  "sort": "discount",
  "brand": "SAMSUNG",
  "minPrice": 10000,
  "maxPrice": 30000,
  "rating": "4",
  "maxResults": 100
}
```

**Example — scrape search and product URLs:**

```json
{
  "searchUrls": [
    "https://www.flipkart.com/search?q=headphones&sort=popularity"
  ],
  "productUrls": [
    "https://www.flipkart.com/apple-iphone-15/p/itm6ac6485515ae4"
  ],
  "scrapeMode": "overview"
}
```

***

### 📤 Output

Results are saved to the Apify dataset with **30+ fields per product**, one clean row each. In detail mode, the overview row is enriched in place with the full specs table, highlights, seller, and gallery — no separate records to merge.

| Field | Type | Description |
|-------|------|-------------|
| id | string | Flipkart product id (pid) — unique product identifier |
| productTitle | string | Full product name |
| brand | string | Manufacturer / brand |
| price | number | Current selling price (INR) |
| mrp | number | Maximum Retail Price / strike-off list price (INR) |
| discount\_amount | number | Amount discounted off the MRP (INR) |
| discount\_percentage | number | Percentage discount off the MRP |
| rating | number | Average customer rating (0–5) |
| rating\_count | integer | Number of star ratings |
| review\_count | integer | Number of written reviews |
| rating\_breakup | array | Star histogram counts \[1★, 2★, 3★, 4★, 5★] |
| in\_stock | boolean | Whether the product is available to buy |
| availability | string | Availability status (e.g. IN\_STOCK) |
| key\_specs | array | Key-specification bullets from the listing card |
| specifications | object | Full sectioned specs table, 60–90 rows (detail) |
| highlights | array | Marketing highlight bullets (detail) |
| seller\_name | string | Seller / store name (detail) |
| seller\_rating | number | Seller's average rating 0–5 (detail) |
| images | array | Full product image gallery (detail) |

**Full example (detail mode):**

```json
{
  "thumbnail": "https://rukminim2.flixcart.com/image/128/128/product.jpg",
  "id": "MOBH4DQFVGA8YB5F",
  "productTitle": "SAMSUNG Galaxy M35 5G (Daybreak Blue, 128 GB)",
  "listing_id": "LSTMOBH4DQFVGA8YB5FQ2GJ7C",
  "url": "https://www.flipkart.com/samsung-galaxy-m35-5g-daybreak-blue-128-gb/p/itm...",
  "source": "detail",
  "brand": "SAMSUNG",
  "subtitle": "6 GB RAM",
  "category": "mobile",
  "color": "Daybreak Blue",
  "condition": "New",
  "price": 16999,
  "mrp": 24999,
  "currency": "INR",
  "discount_amount": 8000,
  "discount_percentage": 32,
  "rating": 4.3,
  "rating_count": 12483,
  "review_count": 947,
  "rating_breakup": [412, 289, 631, 2140, 9011],
  "availability": "IN_STOCK",
  "in_stock": true,
  "description": "The Samsung Galaxy M35 5G brings a Super AMOLED+ display, a 6000 mAh battery, and the Exynos 1380 processor for smooth everyday performance...",
  "highlights": [
    "6 GB RAM | 128 GB ROM | Expandable Upto 1 TB",
    "16.94 cm (6.6 inch) Full HD+ Display",
    "50MP + 8MP + 2MP | 13MP Front Camera",
    "6000 mAh Battery",
    "Exynos 1380 Processor"
  ],
  "key_specs": [
    "6 GB RAM | 128 GB ROM",
    "16.94 cm (6.6 inch) Full HD+ Display",
    "50MP Rear Camera",
    "6000 mAh Battery"
  ],
  "specifications": {
    "General": {
      "In The Box": "Handset, Adapter, USB Cable, Sim Ejector Pin, Warranty Card",
      "Model Number": "SM-M356BZBGINS",
      "Model Name": "Galaxy M35 5G",
      "Color": "Daybreak Blue",
      "SIM Type": "Dual Sim"
    },
    "Display Features": {
      "Display Size": "16.94 cm (6.6 inch)",
      "Resolution": "2340 x 1080 Pixels",
      "Display Type": "Super AMOLED Plus"
    },
    "Battery & Power Features": {
      "Battery Capacity": "6000 mAh",
      "Fast Charging": "25 W"
    }
  },
  "seller_name": "SUPERCOMNET",
  "seller_id": "de6ee98a6bd54e18",
  "seller_rating": 4.6,
  "image": "https://rukminim2.flixcart.com/image/832/832/product.jpg",
  "images": [
    "https://rukminim2.flixcart.com/image/832/832/img1.jpg",
    "https://rukminim2.flixcart.com/image/832/832/img2.jpg",
    "https://rukminim2.flixcart.com/image/832/832/img3.jpg"
  ],
  "image_count": 8,
  "metadata": { "scrapeMode": "detail", "userTier": "PAID", "scrapedAt": "2026-07-14T10:30:00.000Z" }
}
```

***

### 💼 Use Cases & Examples

#### 1. Price & Discount Monitoring

**Retail and pricing teams tracking Flipkart prices, MRP, and discounts over time.**

**Input:** Keywords or category slugs for your product lines, on a daily schedule
**Output:** Current price, MRP, discount amount, and discount % for every match
**Use:** Detect price drops and big-discount events the moment they go live and react faster.

#### 2. Competitor Pricing Intelligence

**Brands and sellers benchmarking their catalog against the Flipkart marketplace.**

**Input:** Brands, category slugs, or search URLs you compete on
**Output:** Live prices, MRP, discounts, ratings, and availability per product
**Use:** Build a repricing feed and stay competitive across India e-commerce without manual checks.

#### 3. Catalog & Assortment Research

**Category managers mapping what Flipkart carries in a niche.**

**Input:** Category slugs or search URLs, overview mode
**Output:** Full product lists with id, brand, price, discount, and rating
**Use:** Understand assortment breadth, brand mix, and price distribution at a glance.

#### 4. In-Stock & Availability Checks

**Resellers and dropshippers monitoring stock across the Flipkart catalog.**

**Input:** Keywords or product URLs for the products you source
**Output:** In-stock status and availability flag for every product
**Use:** Only list what's actually available and avoid overselling.

#### 5. Product-Spec Extraction for Feeds

**E-commerce and feed teams enriching product catalogs with structured specifications.**

**Input:** Product URLs or keywords, detail mode
**Output:** Full sectioned specifications tables, highlights, colour, descriptions, and image galleries
**Use:** Populate product feeds and comparison pages with rich, accurate specs at scale.

#### 6. Seller & Market Research

**Analysts studying sellers, demand, and rating momentum across India e-commerce.**

**Input:** Categories sorted by popularity or discount, detail mode
**Output:** Ratings, review counts, star histograms, seller names, and seller ratings
**Use:** Identify best-sellers, top sellers, and pricing trends by category in the Indian market.

***

### 🔗 Integration Examples

#### JavaScript/Node.js

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });

const run = await client.actor('sian.agency/flipkart-product-scraper').call({
  keywords: ['smartphones'],
  scrapeMode: 'detail',
  maxResults: 100
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);
```

#### Python

```python
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')

run = client.actor('sian.agency/flipkart-product-scraper').call(
    run_input={'keywords': ['smartphones'], 'scrapeMode': 'detail'}
)

for item in client.dataset(run['defaultDatasetId']).iterate_items():
    print(item)
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~flipkart-product-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"keywords": ["smartphones"], "scrapeMode": "detail"}'
```

#### Automation Workflows (N8N / Zapier / Make)

1. **Trigger**: Schedule (e.g. daily) or webhook
2. **HTTP Request**: Call the actor with your keywords
3. **Process**: Handle the JSON product results
4. **Action**: Save to a database, update a pricing sheet, or send a price-drop alert

***

### 📊 Performance & Pricing

Transparent **pay-per-result** pricing — you're only charged for the products you actually receive, plus a small one-time actor-start fee.

- 🟢 **Overview product** — **$0.0015** each (fast search-results row with price, MRP, discount, rating & histogram)
- 🔬 **Detail product** — **$0.004** each (adds the full specs table, highlights, seller & gallery)
- ▶️ **Actor start** — **$0.001** per run (one-time)

#### FREE Tier (Try It Now)

- **Up to 25 products** per run — full feature access, same data quality
- No credit card required
- Perfect for testing keywords, categories, and detail mode

#### PAID Tier (Production Ready)

- **Unlimited** products per run — scrape entire catalogs in one go
- Faster, at-scale extraction with no caps
- **Pay-per-result**: you're only charged for products that are successfully extracted

💰 **Fair, transparent pricing** — pay for the products you get, nothing more.

🔗 [View current pricing](https://apify.com/sian.agency/flipkart-product-scraper?fpr=sian)

***

### ❓ Frequently Asked Questions

**Q: How many products can I scrape?**
A: FREE tier: up to 25 products per run. PAID tier: unlimited, across as many keywords, categories, and URLs as you like.

**Q: Do I need a Flipkart account or API key?**
A: No. There's nothing to sign up for or configure — just enter keywords, categories, or URLs and run.

**Q: Does it work for any Flipkart category?**
A: Yes — mobiles, electronics, fashion, appliances, home, beauty, and more. Search by keyword, browse by category slug, or paste any Flipkart search or product URL.

**Q: What's the difference between Overview and Detail mode?**
A: Overview is the fast path — search-results data like id, title, brand, price, MRP, discount, rating, review count, star histogram, key specs, and availability. Detail enriches each product with the full sectioned specifications table, marketing highlights, seller store, colour, long description, and complete image gallery.

**Q: What currency are prices in?**
A: All prices — selling price, MRP, and discount amount — are in Indian Rupees (INR), exactly as shown on Flipkart.

**Q: Can I filter and sort results?**
A: Yes — sort by relevance, popularity, price (low→high or high→low), newest, or discount, and filter by brand, min/max price, and minimum star rating, using Flipkart's own facets.

**Q: What output formats are available?**
A: JSON, CSV, and Excel — export directly from the Apify dataset.

**Q: Is this legal?**
A: Yes — the actor accesses only publicly available data. See the [legal section](#-is-it-legal-to-scrape-data) below.

***

### 🐛 Troubleshooting

**No results returned**

- Check keyword spelling and try broader terms (e.g. `headphones` instead of an exact model)
- Remove or widen filters (brand, min/max price, minimum rating)
- Verify any pasted search or product URLs open correctly in a browser

**Specifications, highlights, or seller are missing**

- Switch `scrapeMode` to `detail` — the full specs table, highlights, seller store, and image gallery are only extracted in detail mode

**Fewer products than expected**

- FREE tier is capped at 25 products per run — upgrade to PAID for unlimited results
- Some categories or filtered searches simply contain fewer products

**Prices look unexpected**

- Results reflect Flipkart in INR; MRP is the strike-off list price and `price` is the current selling price — the difference is the discount

***

### ⚖️ Is it legal to scrape data?

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what is publicly available. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data (for example, seller names). Personal data is protected by the **GDPR** in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. Please also respect the target site's terms of use.

You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

***

### ⚖️ Trademark Disclaimer

This actor is an independent tool and is **not affiliated with, endorsed by, or sponsored by Flipkart**. "Flipkart" is a trademark of Flipkart Internet Private Limited. This actor collects only publicly available data, and you should use it in line with Flipkart's terms of use and all applicable laws.

***

### ⭐ Love This Tool?

If this actor saves you time, please [leave us a 5-star review](https://apify.com/sian.agency/flipkart-product-scraper/reviews) — it helps other professionals discover it and helps us keep improving.

***

### 🤝 Support

[![Telegram Support](https://img.shields.io/badge/Telegram-Support%20Group-0088cc?logo=telegram)](https://t.me/+vyh1sRE08sAxMGRi)

**Join our active support community**

- For issues or questions, open an issue in the actor's repository
- Check the [SIÁN Agency Store](https://apify.com/sian.agency?fpr=sian) for more automation tools
- ✉️ <apify@sian-agency.online>

#### More from SIÁN Agency

- 🛒 [AliExpress Product Scraper](https://apify.com/sian.agency/aliexpress-product-scraper?fpr=sian) — full AliExpress product data, prices & reviews
- 🏪 [Walmart Product & Reviews Scraper](https://apify.com/sian.agency/walmart-data-scraper?fpr=sian) — Walmart products, prices, ratings & reviews
- 🛍️ [Google Shopping Price Tracker](https://apify.com/sian.agency/google-shopping-price-scraper?fpr=sian) — compare prices across every Google Shopping seller
- 🔎 [Browse all SIÁN actors →](https://apify.com/sian.agency?fpr=sian)

***

**Built by [SIÁN Agency](https://www.sian-agency.online)** | **[More Tools](https://apify.com/sian.agency?fpr=sian)**

# Actor input Schema

## `keywords` (type: `array`):

🔍 **KEYWORD SEARCH:** Free-text Flipkart searches — exactly what you'd type into the site's search bar.

📝 **EXAMPLES:** `smartphones` · `laptop` · `bluetooth headphones` · `running shoes` · `air fryer`

💡 **TIP:** Add one keyword per line — each runs as its own search and all results land in the same dataset.

🖊️ **BULK EDIT:** Click "Bulk edit" to paste many keywords at once (one per line).

✅ **IMPORTANT:** Provide keywords, category slugs, Flipkart search URLs, OR product URLs (at least one is needed to have something to scrape).

## `scrapeMode` (type: `string`):

⚙️ **SCRAPE DEPTH:** Choose how much data to pull per product.

⚡ **Overview (fast):** Search results only — product id, title, brand, price, MRP, discount, rating (+ rating count, review count & star histogram), image, key specs and availability. Fastest and cheapest path.

🔬 **Detail (enriched specs + highlights + seller):** Everything in Overview PLUS the full sectioned specifications table, marketing highlights, seller store (name + rating), colour, the long product description and the full image gallery — scraped from each product page.

💡 **TIP:** Start with Overview to scope your catalog, then switch to Detail when you need the complete spec sheet for feeds or comparisons.

## `sort` (type: `string`):

🔃 **RESULT ORDERING:** Order search results using Flipkart's own native sort options — so you get the same ranking real shoppers see.

🏆 **Popularity** surfaces the most popular products first · 💲 **Price** sorts ascending or descending · 🆕 **Newest** prioritizes the latest arrivals · 🔖 **Discount** leads with the biggest price cuts.

## `brand` (type: `string`):

™️ **BRAND FILTER:** Restrict results to a single brand (e.g. `SAMSUNG`, `Apple`, `realme`, `HP`). Uses Flipkart's own brand facet, so it mirrors the site's brand filter.

💡 **TIP:** Leave blank to include every brand.

## `minPrice` (type: `integer`):

💵 **MINIMUM PRICE:** Only return products at or above this price (INR). Leave blank for no lower bound.

## `maxPrice` (type: `integer`):

💰 **MAXIMUM PRICE:** Only return products at or below this price (INR). Leave blank for no upper bound.

## `rating` (type: `string`):

⭐ **MINIMUM RATING:** Only return products rated at or above this many stars, using Flipkart's own rating facet (e.g. `4` → "4★ & above"). Leave blank for no rating filter.

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

🧭 **CATEGORY BROWSING (Advanced):** Scrape a whole Flipkart category instead of a keyword search.

🔧 **HOW TO GET IT:** Use the category slug from a Flipkart listing URL (e.g. for `flipkart.com/mobiles/pr?...` use `mobiles`; for `flipkart.com/tvs/pr` use `tvs`).

💡 **TIP:** Leave this empty if you're only using keywords — it's purely an advanced alternative for category-level harvesting.

🖊️ **BULK EDIT:** Add one category slug per line to sweep multiple categories in a single run.

## `searchUrls` (type: `array`):

🔗 **PASTE SEARCH-PAGE URLs:** Paste full Flipkart search or category result-page URLs to scrape them verbatim — filters and sorting you already set in the URL are preserved.

📝 **EXAMPLE:** `https://www.flipkart.com/search?q=headphones&sort=popularity`

🖊️ **BULK EDIT:** Add one URL per line to sweep several pages in a single run.

## `productUrls` (type: `array`):

📦 **PASTE PRODUCT-PAGE URLs:** Paste full Flipkart product URLs to fetch each product directly — always returned with full **Detail** enrichment (specs, highlights, seller, description, gallery) regardless of scrape mode.

📝 **EXAMPLE:** `https://www.flipkart.com/apple-iphone-15/p/itm6ac6485515ae4?pid=MOBGTAGPTB3VS24W`

🖊️ **BULK EDIT:** Add one product URL per line.

## `maxResults` (type: `integer`):

🔢 **RESULT CAP:** Maximum number of products to return across all keywords, categories and URLs combined.

🎁 **TIER-BASED LIMITS:**

- **FREE users:** Up to 25 products per run
- **PAID users:** Unlimited — scrape entire catalogs in a single run

💡 **TIP:** Keep this low while you dial in your keywords, then raise it once the output looks right.

## Actor input object example

```json
{
  "keywords": [
    "smartphones"
  ],
  "scrapeMode": "overview",
  "sort": "relevance",
  "maxResults": 100
}
```

# Actor output Schema

## `flipkartProducts` (type: `string`):

Scraped Flipkart products with price, MRP, discount, ratings, images, specs and availability.

# 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 = {
    "keywords": [
        "smartphones"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/flipkart-product-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 = { "keywords": ["smartphones"] }

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

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

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

```

## CLI example

```bash
echo '{
  "keywords": [
    "smartphones"
  ]
}' |
apify call sian.agency/flipkart-product-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=sian.agency/flipkart-product-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Flipkart Product Scraper",
        "description": "Scrape Flipkart products — price, MRP, discount, ratings, reviews, images, specs & availability. Keyword, category or URL search with full detail enrichment. Clean JSON/CSV, no code.",
        "version": "1.0",
        "x-build-id": "a8JVx9WKdZvd0dcOU"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sian.agency~flipkart-product-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sian.agency-flipkart-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/sian.agency~flipkart-product-scraper/runs": {
            "post": {
                "operationId": "runs-sync-sian.agency-flipkart-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/sian.agency~flipkart-product-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-sian.agency-flipkart-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "keywords": {
                        "title": "🔍 Search Keywords",
                        "type": "array",
                        "description": "🔍 **KEYWORD SEARCH:** Free-text Flipkart searches — exactly what you'd type into the site's search bar.\n\n📝 **EXAMPLES:** `smartphones` · `laptop` · `bluetooth headphones` · `running shoes` · `air fryer`\n\n💡 **TIP:** Add one keyword per line — each runs as its own search and all results land in the same dataset.\n\n🖊️ **BULK EDIT:** Click \"Bulk edit\" to paste many keywords at once (one per line).\n\n✅ **IMPORTANT:** Provide keywords, category slugs, Flipkart search URLs, OR product URLs (at least one is needed to have something to scrape).",
                        "default": [
                            "smartphones"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "scrapeMode": {
                        "title": "⚙️ Scrape Mode",
                        "enum": [
                            "overview",
                            "detail"
                        ],
                        "type": "string",
                        "description": "⚙️ **SCRAPE DEPTH:** Choose how much data to pull per product.\n\n⚡ **Overview (fast):** Search results only — product id, title, brand, price, MRP, discount, rating (+ rating count, review count & star histogram), image, key specs and availability. Fastest and cheapest path.\n\n🔬 **Detail (enriched specs + highlights + seller):** Everything in Overview PLUS the full sectioned specifications table, marketing highlights, seller store (name + rating), colour, the long product description and the full image gallery — scraped from each product page.\n\n💡 **TIP:** Start with Overview to scope your catalog, then switch to Detail when you need the complete spec sheet for feeds or comparisons.",
                        "default": "overview"
                    },
                    "sort": {
                        "title": "🔃 Sort Order",
                        "enum": [
                            "relevance",
                            "popularity",
                            "price_low",
                            "price_high",
                            "newest",
                            "discount"
                        ],
                        "type": "string",
                        "description": "🔃 **RESULT ORDERING:** Order search results using Flipkart's own native sort options — so you get the same ranking real shoppers see.\n\n🏆 **Popularity** surfaces the most popular products first · 💲 **Price** sorts ascending or descending · 🆕 **Newest** prioritizes the latest arrivals · 🔖 **Discount** leads with the biggest price cuts.",
                        "default": "relevance"
                    },
                    "brand": {
                        "title": "™️ Brand Filter",
                        "type": "string",
                        "description": "™️ **BRAND FILTER:** Restrict results to a single brand (e.g. `SAMSUNG`, `Apple`, `realme`, `HP`). Uses Flipkart's own brand facet, so it mirrors the site's brand filter.\n\n💡 **TIP:** Leave blank to include every brand."
                    },
                    "minPrice": {
                        "title": "💵 Min Price (INR)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "💵 **MINIMUM PRICE:** Only return products at or above this price (INR). Leave blank for no lower bound."
                    },
                    "maxPrice": {
                        "title": "💰 Max Price (INR)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "💰 **MAXIMUM PRICE:** Only return products at or below this price (INR). Leave blank for no upper bound."
                    },
                    "rating": {
                        "title": "⭐ Minimum Rating",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4"
                        ],
                        "type": "string",
                        "description": "⭐ **MINIMUM RATING:** Only return products rated at or above this many stars, using Flipkart's own rating facet (e.g. `4` → \"4★ & above\"). Leave blank for no rating filter."
                    },
                    "categories": {
                        "title": "🧭 Category Slugs (Advanced)",
                        "type": "array",
                        "description": "🧭 **CATEGORY BROWSING (Advanced):** Scrape a whole Flipkart category instead of a keyword search.\n\n🔧 **HOW TO GET IT:** Use the category slug from a Flipkart listing URL (e.g. for `flipkart.com/mobiles/pr?...` use `mobiles`; for `flipkart.com/tvs/pr` use `tvs`).\n\n💡 **TIP:** Leave this empty if you're only using keywords — it's purely an advanced alternative for category-level harvesting.\n\n🖊️ **BULK EDIT:** Add one category slug per line to sweep multiple categories in a single run.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchUrls": {
                        "title": "🔗 Flipkart Search URLs (Advanced)",
                        "type": "array",
                        "description": "🔗 **PASTE SEARCH-PAGE URLs:** Paste full Flipkart search or category result-page URLs to scrape them verbatim — filters and sorting you already set in the URL are preserved.\n\n📝 **EXAMPLE:** `https://www.flipkart.com/search?q=headphones&sort=popularity`\n\n🖊️ **BULK EDIT:** Add one URL per line to sweep several pages in a single run.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "productUrls": {
                        "title": "📦 Flipkart Product URLs (Advanced)",
                        "type": "array",
                        "description": "📦 **PASTE PRODUCT-PAGE URLs:** Paste full Flipkart product URLs to fetch each product directly — always returned with full **Detail** enrichment (specs, highlights, seller, description, gallery) regardless of scrape mode.\n\n📝 **EXAMPLE:** `https://www.flipkart.com/apple-iphone-15/p/itm6ac6485515ae4?pid=MOBGTAGPTB3VS24W`\n\n🖊️ **BULK EDIT:** Add one product URL per line.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "🔢 Max Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "🔢 **RESULT CAP:** Maximum number of products to return across all keywords, categories and URLs combined.\n\n🎁 **TIER-BASED LIMITS:**\n- **FREE users:** Up to 25 products per run\n- **PAID users:** Unlimited — scrape entire catalogs in a single run\n\n💡 **TIP:** Keep this low while you dial in your keywords, then raise it once the output looks right.",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
