Flipkart Products Scraper
Pricing
Pay per event
Flipkart Products Scraper
Extract Flipkart search and category product listings with IDs, prices, discounts, ratings, availability, highlights, images, and canonical URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract Flipkart products from public search results and category pages into a clean Apify dataset. The Actor captures stable product identity, current price, MRP, discount, rating counts, availability signals, product highlights, images, rank, and canonical URLs.
Use it to refresh product catalogs, compare displayed prices, create repeatable assortment snapshots, or feed marketplace research pipelines. No Flipkart login is required.
What does Flipkart Products Scraper do?
The Actor accepts either:
- search phrases such as
iphone 15orgaming laptop; - public Flipkart search URLs; or
- public Flipkart category listing URLs ending in
/pr.
It follows normal listing pagination, deduplicates products by Flipkart product ID, and stops at your item or page limit. Primary results are written to the run's default dataset.
The extractor reads server-rendered listing data instead of opening every product detail page. This keeps runs focused on catalog monitoring and avoids unnecessary media downloads.
Who is it for?
E-commerce analysts
Build current assortment and price snapshots for a product segment.
Retail and brand teams
Track displayed prices, discounts, ratings, and low-stock messages for relevant searches.
Data engineers
Send normalized listing records to a warehouse, spreadsheet, webhook, or scheduled comparison job.
Researchers
Collect reproducible public search-result samples with source URLs and extraction timestamps.
Why use it?
- Two input routes: query text and exact Flipkart listing URLs.
- Stable identity: records are keyed by Flipkart
pid, not only by title. - Monitoring-ready: every row includes rank, source page, and scrape time.
- Typed output: prices and counts are numbers rather than formatted strings.
- Bounded pagination: control both total output and pages per input.
- Layered recovery: direct HTTP is attempted first, followed by a sticky India residential HTTP session and a resource-blocked browser only when lighter routes fail.
- No duplicate charges: duplicate product IDs are not saved or charged twice.
What Flipkart product data is extracted?
| Field | Meaning |
|---|---|
productId | Stable Flipkart product identifier from pid |
title | Product title shown in the listing |
productUrl | Canonical product URL |
imageUrl | Listing image URL, when shown |
price | Current displayed selling price in INR |
currency | INR |
mrp | Displayed maximum retail price, when shown |
discountPercent | Displayed percentage discount |
rating | Average displayed rating |
ratingCount | Number of ratings shown |
reviewCount | Number of reviews shown |
availability | Messages such as Only 2 left or Coming Soon |
seller | Seller context when present; usually null on listing cards |
highlights | Specifications shown on the card |
rank | One-based extraction rank across the run |
searchQuery | Search query from the listing URL, or null for categories |
sourceUrl | Exact paginated page used for the row |
scrapedAt | UTC extraction timestamp |
Fields can be null when Flipkart does not display them on a particular card. Seller offers hidden behind a product-detail page are outside this listing-focused Actor's scope.
How to scrape Flipkart products
- Open the Actor in Apify Console.
- Add one or more values under Search queries, or add Flipkart listing URLs.
- Choose Maximum products.
- Set Maximum pages per input as a safety bound.
- Click Start.
- Open the Dataset tab to preview, download, or integrate the records.
Start with a small limit while confirming that the chosen Flipkart search represents your intended catalog. For recurring work, save the input as an Apify Task and add a schedule.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string array | — | Search phrases to run on Flipkart |
startUrls | URL array | — | Flipkart /search or category /pr listing URLs |
maxItems | integer | 50 | Maximum unique products across all inputs; 1–10,000 |
maxPagesPerInput | integer | 5 | Maximum listing pages for each query or URL; 1–100 |
At least one non-empty search query or start URL is required. Non-Flipkart URLs and product-detail URLs fail validation instead of being treated as empty results.
Query input example
{"searchQueries": ["iphone 15", "gaming laptop"],"maxItems": 100,"maxPagesPerInput": 3}
Category input example
{"startUrls": [{ "url": "https://www.flipkart.com/mobiles/pr?sid=tyy,4io" }],"maxItems": 50,"maxPagesPerInput": 2}
Output example
A real run produces records in this shape:
{"productId": "MOBGTAGPTB3VS24W","title": "Apple iPhone 15 (Black, 128 GB)","productUrl": "https://www.flipkart.com/apple-iphone-15-black-128-gb/p/itm6ac6485515ae4?pid=MOBGTAGPTB3VS24W","imageUrl": "https://rukminim2.flixcart.com/image/312/312/xif0q/mobile/example.jpeg?q=70","price": 57749,"currency": "INR","mrp": 59900,"discountPercent": 3,"rating": 4.6,"ratingCount": 247029,"reviewCount": 9616,"availability": "Only 2 left","seller": null,"highlights": ["128 GB ROM", "15.49 cm display"],"rank": 1,"searchQuery": "iphone 15","sourceUrl": "https://www.flipkart.com/search?q=iphone+15&page=1","scrapedAt": "2026-08-15T12:00:00.000Z"}
Values change with Flipkart's current public listing page. The example demonstrates the schema, not a price guarantee.
How much does it cost to scrape Flipkart products?
Pricing has two events:
- a $0.002 start event once per run;
- one item event for each unique product saved.
The current BRONZE item price is $0.0049285 per product, with lower per-item prices at higher platform tiers. At that tier, 10 products cost about $0.0513, 100 products about $0.4949, and 1,000 products about $4.9305 including the start event.
Apify shows the applicable tier and maximum charge before a run. Residential proxy transfer may affect platform usage, but the Actor does not create extra result charges for retries or duplicates.
Scheduled price and catalog monitoring
Create an Apify Task with a stable query or category URL.
Schedule it daily or weekly.
Export each dataset to your storage destination and compare rows by productId.
Useful comparisons include:
priceandmrpchanges;- discount changes;
- rank movement within the same query;
- new or missing product IDs;
- rating-count growth; and
- newly displayed availability warnings.
The Actor provides snapshots; it does not maintain historical state or send alerts by itself. Use Apify schedules, webhooks, or your data pipeline for those steps.
Export and integration options
The default dataset can be downloaded as JSON, CSV, Excel, XML, or RSS through Apify. Common workflows include:
- schedule a Task and send run webhooks to an ETL service;
- sync rows into Google Sheets for a small monitored assortment;
- load records into BigQuery, Snowflake, or PostgreSQL keyed by
productId; - trigger an automation when a run finishes; or
- call the Actor from another Actor as one stage of a marketplace pipeline.
Preserve sourceUrl and scrapedAt when comparing snapshots so each observation remains traceable.
Run with the Apify API
Replace YOUR_TOKEN with an Apify API token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~flipkart-product-listings-scraper/runs?token=YOUR_TOKEN&waitForFinish=120" \-H "Content-Type: application/json" \-d '{"searchQueries":["iphone 15"],"maxItems":20,"maxPagesPerInput":1}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/flipkart-product-listings-scraper').call({searchQueries: ['iphone 15'],maxItems: 20,maxPagesPerInput: 1,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("automation-lab/flipkart-product-listings-scraper").call(run_input={"searchQueries": ["iphone 15"],"maxItems": 20,"maxPagesPerInput": 1,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use with MCP and AI agents
Add the Actor to Claude Code through Apify MCP:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/flipkart-product-listings-scraper"
Claude Desktop, Cursor, and VS Code can use the same MCP server URL in their MCP JSON configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/flipkart-product-listings-scraper"}}}
Example prompts:
- “Extract the first 20 Flipkart listings for iphone 15 and summarize price ranges.”
- “Run the Flipkart mobiles category Task and return products showing low-stock messages.”
- “Collect two pages of laptop listings and group them by displayed rating.”
AI-generated analysis should retain product URLs so results can be checked against their public source.
Reliability, pagination, and limits
Flipkart can vary HTML, ranking, stock messages, and product availability by time and location. A repeated query may therefore return different rows or order.
The Actor retries transient failures with bounded backoff. It starts with direct HTTP, can rotate a bounded India residential session after a block, and uses one resource-blocked residential browser only after lighter HTTP routes are exhausted. A healthy fallback session is reused across pagination instead of opening a browser for every product.
Pagination ends when:
maxItemsis reached;maxPagesPerInputis reached; or- a page yields no new product IDs.
A challenge or unexpected upstream response fails visibly rather than returning a misleading successful empty dataset.
Troubleshooting
The run says the start URL is unsupported
Use a public Flipkart search URL beginning with /search or a category listing ending in /pr.
Product-detail URLs are intentionally rejected because this Actor extracts listings.
The dataset has fewer records than maxItems
The source may have fewer unique visible products, pagination may have ended, or several inputs may overlap.
maxItems is a ceiling, not a promise to invent rows.
Some values are null
Flipkart listing cards do not show every field for every category. For example, seller names and MRP may be absent. Null preserves that distinction instead of guessing.
A run fails after retries
Check the run log for the exact HTTP or content error. Retry later if Flipkart is temporarily unavailable. If a stable page changed shape, include the source URL and run link when reporting the issue.
Responsible use and legality
This Actor extracts information displayed on public Flipkart listing pages. You are responsible for your input, run frequency, storage, and downstream use.
Follow applicable laws, Flipkart's terms, and Apify's policies. Avoid collecting personal data, overwhelming the source, republishing protected content without permission, or using results for deceptive practices. Use conservative schedules and request only the volume needed for a legitimate purpose. This documentation is not legal advice.
FAQ
Does it require a Flipkart account?
No. It targets public search and category listing pages.
Does it scrape reviews or product-detail descriptions?
No. It exports review counts and highlights visible on listing cards, not review text or full detail pages.
Can it scrape several searches in one run?
Yes. Add multiple searchQueries and/or startUrls; the overall maxItems applies across them.
Are prices historical?
No. Each row is a current public snapshot with scrapedAt.
Build history by scheduling repeat runs and storing their datasets.
Does it expose Flipkart customer-care or careers data?
No. Those unrelated keyword associations are outside the supported product-listing workflow.
Related Automation Lab Actors
For broader marketplace monitoring, consider these Automation Lab Actors:
- Amazon Product Scraper for Amazon product pages and offers.
- Blinkit Category Products Scraper for location-specific quick-commerce assortment snapshots.
- Jumia Products & Sellers Scraper for supported African Jumia storefronts.
Choose a source-specific Actor because marketplace identifiers, prices, availability, and geography are not directly interchangeable.