Scraper for Flipkart — Products, Prices & Ratings (India) avatar

Scraper for Flipkart — Products, Prices & Ratings (India)

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Scraper for Flipkart — Products, Prices & Ratings (India)

Scraper for Flipkart — Products, Prices & Ratings (India)

Scrape Flipkart.com search results by keyword. Extract product names, prices in INR, MRP, discounts, ratings, reviews, specs and availability in bulk. No API key, no login.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

0

Monthly active users

6 days ago

Last modified

Categories

Share

Flipkart Product Scraper — Products, Prices & Ratings (India)

Scrape Flipkart.com search results in bulk: product names, prices in INR, MRP, discount percentages, ratings, review counts, specs, stock status and images — by keyword or search URL, with no API key and no login.

What does the Flipkart Product Scraper do?

The Flipkart Product Scraper fetches Flipkart's public search result pages (/search?q=...) and parses the server-rendered product cards directly from the HTML — roughly 24 products per page. Instead of relying on the client-side __INITIAL_STATE__ payload (which Flipkart deliberately ships empty for search pages), the Actor reads the actual card markup anchored on stable data-id product identifiers, so it survives class-name reshuffles. It paginates automatically through search results, deduplicates products by their Flipkart product ID, rotates Apify proxy sessions on blocks, and stops early when a query is exhausted or your results cap is hit. No Flipkart account, no API key, no cookies.

Who is it for?

  • E-commerce analysts tracking prices, discounts, and assortment on India's largest marketplace
  • Amazon + Flipkart sellers benchmarking pricing against competing listings
  • Dropshippers and resellers sourcing trending products from Indian suppliers
  • Price comparison and affiliate sites that need fresh Flipkart product feeds
  • Data teams and researchers building datasets of the Indian e-commerce market

Use cases

  • Monitor daily prices for a category (e.g. "laptop", "running shoes", "smartphone") and detect discounts
  • Build a product catalog with MRP, selling price, and computed discount depth
  • Track ratings and review growth as a proxy for sales velocity
  • Detect stock pressure via "Only 1 left" notes and "Currently unavailable" states
  • Compare Flipkart Assured vs. non-Assured listings for a keyword
  • Feed a price-alert or repricing pipeline with structured search data

Why use the Flipkart Product Scraper?

  • Keyless — no Flipkart account, API key, or login cookies; public pages only
  • 19 data fields per product — price, MRP, discount, ratings, specs, stock, exchange offers
  • Bulk by design — multiple keywords per run, thousands of unique products per job
  • Robust parsing — anchored on data-id product markers, immune to CSS class churn
  • Smart pagination — stops at the last real page, dedupes repeated products across pages
  • Pay-per-result pricing — you only pay for the rows actually delivered to your dataset

What data can you extract?

Every run returns one dataset row per unique Flipkart product card, with the following fields:

FieldTypeDescription
productIdstringFlipkart product ID (the data-id shown on the card)
namestringProduct title as shown in search results
pricenumberCurrent selling price in INR
currencystringCurrency code (INR)
mrpnumberOriginal MRP (strikethrough price), when shown
discountPercentnumberDiscount percentage shown on the card
ratingnumberAverage product rating out of 5
ratingCountnumberNumber of customer ratings
reviewCountnumberNumber of customer reviews
specsstringKey specs listed on the card, joined with " | "
availabilitystring"in_stock" or "out_of_stock" based on the card state
stockNotestringStock hint text, e.g. "Only 1 left" or "Only few left"
flipkartAssuredbooleanTrue when the listing carries the Flipkart Assured badge
exchangeDiscountnumberMaximum exchange offer value in INR, when shown
urlstringProduct page URL on Flipkart.com
imageUrlstringMain product image URL (rukminim2.flixcart.com)
querystringThe search keyword that produced this row
searchUrlstringThe search page URL the row was scraped from
scrapedAtstringISO timestamp of when the row was collected

Example JSON output:

{
"productId": "COMHDWZ6CMGSZFHJ",
"name": "DELL 15 (2026) AMD Ryzen 5 Hexa Core 7530U - (16 GB/512 GB SSD/Windows 11 Home) DC15255 Thin and Light...",
"price": 68990,
"currency": "INR",
"mrp": 76478,
"discountPercent": 9,
"rating": 4.3,
"ratingCount": 3784,
"reviewCount": 339,
"specs": "AMD Ryzen 5 Hexa Core Processor | 16 GB DDR4 RAM | Windows 11 Operating System | 512 GB SSD | 39.62 cm (15.6 inch) Display | 1 Year Onsite Warranty",
"availability": "in_stock",
"stockNote": null,
"flipkartAssured": true,
"exchangeDiscount": 48250,
"url": "https://www.flipkart.com/dell-15-2026-amd-ryzen-5-hexa-core-7530u-16-gb-512-gb-ssd-windows-11-home-dc15255-thin-light-laptop/p/itmd20ac87f34826",
"imageUrl": "https://rukminim2.flixcart.com/image/312/312/xif0q/computer/y/l/w/-original-imahrux9gb8kngjt.jpeg?q=70",
"query": "laptop",
"searchUrl": "https://www.flipkart.com/search?q=laptop",
"scrapedAt": "2026-10-06T12:00:00.000Z"
}

How to use

Option A — scrape Flipkart by keyword

  1. Open the Actor's Input tab
  2. Add one or more search keywords, e.g. laptop, running shoes, smartphone under 15000
  3. Set a results cap (default prefill: 100 rows)
  4. Click Start and wait for the run to finish
  5. Export the dataset from the Data tab

Input example:

{
"queries": ["laptop", "smartphone under 15000"],
"maxResults": 500,
"maxPagesPerQuery": 25
}

Option B — scrape Flipkart by search URL

If you want Flipkart's own filters (brand, price range, rating, sort order), copy a search URL from your browser and paste it into startUrls. The Actor paginates it automatically.

  1. On Flipkart.com, search and apply the filters you need
  2. Copy the browser URL (e.g. https://www.flipkart.com/search?q=laptop&sort=price_asc)
  3. Paste it into the Start URLs input
  4. Click Start

Input example:

{
"queries": [],
"startUrls": ["https://www.flipkart.com/search?q=laptop&sort=price_asc"],
"maxResults": 1000
}

Input parameters

ParameterTypeDefaultDescription
queriesstring[]["laptop"]Flipkart search keywords; each is paginated independently
startUrlsstring[]—Optional Flipkart search URLs with your filters baked in
maxResultsinteger10000 (prefill 100)Total cap on unique products across the whole run
maxPagesPerQueryinteger50Hard cap on search pages per query (~24 products/page)
proxyConfigurationproxyApify proxyProxy settings; Apify datacenter proxies work well for Flipkart

Full input JSON:

{
"queries": ["laptop"],
"startUrls": [],
"maxResults": 10000,
"maxPagesPerQuery": 50,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Output example

One fully-populated dataset row:

{
"productId": "COMHZFBNGMGZGY3A",
"name": "Lenovo IdeaPad Slim 5 OLED Display Intel Core Ultra 9 185H - (16 GB/512 GB SSD/Windows 11 Home)",
"price": 139000,
"currency": "INR",
"mrp": 179990,
"discountPercent": 22,
"rating": 4.2,
"ratingCount": 15,
"reviewCount": 1,
"specs": "Intel Core Ultra 9 Processor | 16 GB DDR5 RAM | Windows 11 Home Operating System | 512 GB SSD | 35.56 cm (14 inch) Display | 1 Year Onsite Service",
"availability": "in_stock",
"stockNote": "Only 1 left",
"flipkartAssured": true,
"exchangeDiscount": null,
"url": "https://www.flipkart.com/lenovo-ideapad-slim-5-oled-display-intel-core-ultra-9-185h-16-gb-512-gb-ssd-windows-11-home/p/itm2f9c8a7e1b4d0",
"imageUrl": "https://rukminim2.flixcart.com/image/312/312/xif0q/computer/a/k/1/-original-imahy2v4gf8kngjt.jpeg?q=70",
"query": "laptop",
"searchUrl": "https://www.flipkart.com/search?q=laptop&page=1",
"scrapedAt": "2026-10-06T12:05:14.321Z"
}

Tips for best results

  • Use specific keywords — "laptop" works, but "laptop i7 16gb" gives sharper, more relevant rows
  • Filter queries work naturally: smartphone under 15000, shoes above 2000
  • Use startUrls when you need Flipkart's sort order or brand filters
  • A single keyword often has 20+ pages; set maxPagesPerQuery to control depth
  • The mrp and discountPercent fields let you compute true discount depth for deal-hunting
  • stockNote ("Only 1 left") and availability are early signals for demand and stock-outs
  • Compare price vs. exchangeDiscount for electronics trade-in arbitrage analysis
  • Schedule the Actor daily or hourly for time-series price and rating data
  • Exclude flipkartAssured: false rows if you only want Assured-quality listings
  • If a query returns nothing, check the spelling — Flipkart matching is strict for typos

Integrations

The Actor works with the full Apify ecosystem:

  • Google Sheets — stream new rows into a spreadsheet for live price dashboards
  • Slack — post alerts when a monitored keyword's prices drop
  • Zapier / Make — trigger workflows (email, CRM, databases) on every successful run
  • Webhooks — get a callback when a run finishes and pull the dataset via API
  • Schedules — run every hour or day for continuous Flipkart price monitoring
  • API / MCP — call the Actor from your own code or AI agent

API usage

Run the Actor programmatically with the Apify client. Get your API token from your Apify account console.

cURL:

curl -X POST "https://api.apify.com/v2/acts/logiover~flipkart-product-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries":["laptop"],"maxResults":200}'

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('logiover~flipkart-product-scraper').call({
queries: ['laptop', 'running shoes'],
maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} Flipkart products`);

Python:

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('logiover~flipkart-product-scraper').call(run_input={
'queries': ['laptop'],
'maxResults': 200,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(f"Got {len(items)} Flipkart products")

Use with AI agents (MCP)

Connect the Actor to an AI agent via Apify's MCP server and ask natural-language questions about the Indian marketplace, e.g. "Scrape Flipkart for 'laptop', then list the 10 best deals with at least 20% discount and a rating above 4.2." The agent runs the scraper, reads the dataset, and answers with structured product data.

FAQ

Do I need a Flipkart account or API key to use this scraper?

No. The Actor reads public search pages only — no login, no cookies, no API keys.

How many products can I scrape in one run?

Each search page holds roughly 24 products. With the default 50 pages per query you can collect ~1,200 products per keyword, and multiple keywords run in sequence. Raise maxPagesPerQuery up to 200 for deeper collection.

Can I scrape a specific Flipkart category or filter?

Yes — open the category or filtered search on Flipkart.com, copy the URL, and paste it into startUrls. The Actor paginates that URL exactly as it does keyword searches.

What happens when a keyword has no results?

The Actor logs it and moves to the next query. If the entire run produces zero rows, the run fails loudly instead of pretending success — check your spelling or filters.

Why are some fields null in my dataset?

Flipkart doesn't show every field on every card: new listings have no ratings yet, some products show no MRP or discount, and exchange offers appear only for electronics. Null simply means "not shown on the card".

Why is price sometimes null with availability "out_of_stock"?

Cards marked "Currently unavailable" don't display a price. The Actor keeps the row (so you can track listings going in and out of stock) and sets availability to "out_of_stock".

How does the scraper handle pagination?

It fetches page 1, 2, 3… and stops when a page brings zero new unique product IDs — that means the source is exhausted. It also stops at maxPagesPerQuery or maxResults, whichever comes first.

Can I export the data to CSV or Excel?

Yes — from the run's Data tab, export to JSON, CSV, Excel, XML, or RSS. Via API, use the dataset's items endpoint with format=csv.

How fast is the scraper?

Expect roughly one page per second (~24 products/page). A 500-product run typically finishes in under a minute.

Scraping publicly available data is generally considered legal, but you should respect Flipkart's Terms of Service, robots.txt, and Indian data-protection rules (DPDP Act), and use the data responsibly. This Actor is a tool — how you use the output is your responsibility.

How often is the data updated?

Every run fetches live data from Flipkart.com — what you get is what's on the site at that moment. Schedule runs for continuous freshness.

Does the scraper support other Indian marketplaces?

This Actor targets Flipkart.com specifically. For other marketplaces, browse the logiover portfolio or the Apify Store.

The Flipkart Product Scraper accesses only publicly visible search pages, without logging in or bypassing any paywall. Scraping public data is generally legal, but you must comply with Flipkart's Terms of Service, respect intellectual property rights (product names and images belong to their sellers), and follow applicable data-protection law. Use the extracted data lawfully and at your own responsibility.


Disclaimer: This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Flipkart Internet Pvt. Ltd. "Flipkart" is a trademark of its respective owner and is used here descriptively to identify the marketplace whose public pages this tool reads.

How much for Flipkart data can you extract in one run?

A single run returned 528 products in 144 seconds on the example input. That is roughly 220 products a minute. Widen the search — more queries, more pages, a broader location — and the same run goes deeper.

There is no hard ceiling built into this Actor. What bounds a run is the result limit you set, the breadth of the input you give it, and how much for Flipkart itself publishes. Because billing is per result, a wider run costs proportionally more and a narrow one costs almost nothing — so it is worth starting small and scaling once the output looks right.