Flipkart Scraper: Products, Prices, Sellers avatar

Flipkart Scraper: Products, Prices, Sellers

Pricing

from $0.95 / 1,000 products

Go to Apify Store
Flipkart Scraper: Products, Prices, Sellers

Flipkart Scraper: Products, Prices, Sellers

Scrape Flipkart, no login: search words, categories, links or product ids, with organic or sponsored rank. Price, MRP, discount, rating, stock, F-Assured; add specs, variants, bank offers, every seller, pincode delivery, reviews, seller leads. JSON, CSV, Excel, API, schedules; billed per product.

Pricing

from $0.95 / 1,000 products

Rating

0.0

(0)

Developer

Automation Craft

Automation Craft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Flipkart Scraper: Products, Prices, Sellers

Flipkart scraper for flipkart.com: products from search words, category and brand pages, product links or product ids, with price, MRP, discount, rating, stock, F-Assured, key specs and the rank each product holds on the page, organic or sponsored. No login and no Flipkart account: nothing from you but the input. Add the product page details (every specification group, variants, the seller with its scores, bank offers), every seller of a product with delivery to your pincode, buyer reviews, seller leads, or a monitor that keeps only new products or watches price and stock.

Quick start

  1. Open the Actor's Input tab. The prefilled input reads the first ten products of a "smartphone" search.
  2. Replace the words in Search words, or paste Flipkart links (a search, category, brand, product or reviews page), Product ids, or pick a Category.
  3. Narrow it if you like: price range, Minimum rating, Minimum discount, Brands, Gender, Colours, F-Assured only, In stock only, words the title must or must not contain, and Flipkart's own Sort orders.
  4. Turn on the add-ons you need: Product details, Every seller of a product, a Delivery pincode, Buyer reviews, Seller leads.
  5. Set Max products per search (100 by default, up to 1,000) and click Start.
  6. Download the dataset as JSON, CSV, Excel or HTML, or read it through the Apify API. The Products, Reviews, Price and stock watch, Seller leads and Coverage of each search views split the rows by kind.

What you get

Every product row (type: "product") is one Flipkart product id, charged as one Product event. Review rows (type: "review") come only with Buyer reviews or a pasted reviews page, seller rows (type: "seller") only with Seller leads, and watch rows (type: "product_check") only under a monitor in changes mode. Each search, category or listing link also gets one free coverage row (Flipkart's total, pages read, card slots served, products delivered, repeats, filtered, sponsored seen and skipped, the words Flipkart searched for, and why the walk stopped), misses get free status rows, and every run ends with a free summary row, also stored as RUN-SUMMARY in the run's key-value store.

Main fields and measured fill rates

Measured on the platform on 2026-10-20 (19:06 to 19:41 UTC) over the 45 runs of the test matrix: 827 product rows from search and category cards, 10 rows from product links and ids, 19 rows with Product details, 78 reviews and 5 seller leads. Field names are exactly what the dataset holds.

FieldWhat it holdsFilled (measured)
productId, url, title, imageFlipkart's product id (pid), the product link, title and image100 percent
itemIdFlipkart's item id (the itm... part of a product link)834 of 837 rows: a product id without variants (a book by its ISBN) has none, and its url opens it by its id
listingIdThe listing id of the offer on the card99.5 percent
brandBrand99.5 percent
subtitleFlipkart's second title line (colour, size, RAM or pack)86.1 percent of card rows
price, discountPercentSelling price in rupees and the discount off MRP in percent99.5 percent
mrpMRP in rupees98.9 percent
inStock, flipkartAssured, categoryIn stock or not, the F-Assured badge, Flipkart's category100 percent
superCategory, subCategory, vertical, availability, discountAmountFlipkart's three category levels of the card ("Mobile", "Handset", "Handset"), its stock state as Flipkart writes it (IN_STOCK, OUT_OF_STOCK) and the rupees off MRPcategory levels 100 percent of card rows; availability 32.5 percent of card rows (list layouts) and every product link or id; discountAmount 98.9 percent (wherever price and MRP are)
ratingBreakdownThe number of ratings of 1 to 5 stars, from the card's own histogram or the product pageevery rated card of the saved search and category pages (its sum is ratingCount); every product link and id with a rating
rating, ratingCount, reviewCountAverage stars and counts30.1 to 32.5 percent of card rows: list layouts (phones, laptops) and plain grids carry them, most fashion grid cards do not; 100 percent of product links and ids, which read them from the product page
keySpecsThe spec lines of the card ("7200 mAh Li-ion Battery", "17.17 cm (6.76 inch) Display")27.6 percent of card rows
warrantySummaryThe warranty line of the card17.0 percent of card rows
organicRank, sponsoredRank, isSponsored, position, pageRank among organic results, rank among sponsored slots (both counted over the pages the run read, from its start page), sponsored flag, slot on the page, page numberorganicRank 98.8 percent of card rows (every organic row; sponsored rows carry sponsoredRank instead)
sellerName, sellerIdThe seller of the offer100 percent of product links and ids and of rows with Product details (from the product page); empty on plain search rows
badgesThe card's own callouts ("Top Discount of the Sale", "Lowest Price Live", "Only few left", exchange offers)56.7 percent of card rows
sourceWhich input found the row: kind, input position, search words or category pathevery row

Also on every row: currency (INR) and scrapedAt. With reviews on: reviewsStatus and reviewsDelivered (and reviewsCutBy, reviewsLeftOutByChargeLimit where a walk was cut). With details on, a row whose details could not be read or were cut carries detailsStatus (not_read, charge_limit, run_stopped when the run was stopping) and, when your charge limit left them out, detailsLeftOut: "charge_limit"; a row with its details carries neither.

Every text (titles, specifications, descriptions, offers, reviews, seller profiles) is delivered exactly as Flipkart serves it: nothing is trimmed, shortened, re-spaced or masked. A seller's profile text can carry Flipkart's own HTML character references (( for an opening bracket, & for &), and some texts end in a space or hold line breaks, as Flipkart sends them.

Example row (real, trimmed)

The first organic product of the prefilled "smartphone" search, read on 2026-10-20 (matrix r2, build 0.1.5):

{
"type": "product",
"productId": "MOBHQSFF6MZK4YNP",
"listingId": "LSTMOBHQSFF6MZK4YNPMLMOKI",
"itemId": "itm5420c578ec2df",
"url": "https://www.flipkart.com/vivo-t5-lite-44w-5g-twilight-shadow-64-gb/p/itm5420c578ec2df?pid=MOBHQSFF6MZK4YNP",
"title": "vivo T5 Lite 44W 5G (Twilight Shadow, 64 GB)",
"subtitle": "4 GB RAM",
"brand": "vivo",
"image": "https://rukmini1.flixcart.com/image/832/832/xif0q/mobile/y/i/n/-resized-original-imahpgktvxzebfkq.jpeg?q=70",
"price": 17499,
"mrp": 30999,
"discountPercent": 43,
"currency": "INR",
"rating": 4.3,
"ratingCount": 4467,
"reviewCount": 321,
"inStock": true,
"flipkartAssured": true,
"keySpecs": ["4 GB RAM | 64 GB ROM", "17.12 cm (6.74 inch) HD+ Display", "50MP + 0.08MP | 5MP Front Camera", "6500 mAh Li-ion Battery", "Dimensity 6300 5G Processor"],
"badges": ["Top Discount of the Sale", "Upto ₹13,400 Off on Exchange"],
"warrantySummary": "1 Year Warranty on the Handset and 6 Months Warranty on Inbox Accessories",
"category": "Handset",
"superCategory": "Mobile",
"subCategory": "Handset",
"vertical": "Handset",
"availability": "IN_STOCK",
"discountAmount": 13500,
"sellerName": null,
"sellerId": null,
"isSponsored": false,
"position": 3,
"organicRank": 1,
"sponsoredRank": null,
"page": 1,
"source": { "kind": "search", "input": "searchTerms 1", "searchWords": "smartphone", "categoryPath": null },
"scrapedAt": "2026-10-20T19:07:06.812Z"
}

Speed

The prefilled run took 21 seconds on the platform at 256 MB (9 to 35 seconds over five health runs). A "running shoes" search walked to Flipkart's slot limit (26 pages, 1,000 card slots, 579 organic products) in 64 seconds. Memory peaked at 58 MB of 256 over the 45 runs of the matrix. By default every call goes through Apify datacenter proxy sessions on networks Flipkart answers; a session Flipkart refuses is replaced by a fresh one.

Product details (add-on)

Turn on Product details and the Actor reads each delivered product's own page and nests it as details (one Product detail event per row that carries it):

  • categoryPath and breadcrumbs, titleShort, listingState, buyable.
  • priceAfterOffers (Flipkart's "Buy at" price after the best coupon and bank offer) with priceAfterOffersNote, discountAmount, offerCount and offers (coupons, exchange and bank offers with their text and saving).
  • ratingBreakdown (1 to 5 stars) and aspectRatings (Camera, Battery and the other aspects Flipkart rates).
  • seller: name, id, rating, years on Flipkart, its scores ("Product Sold", "Quality Score", "Speed Score") and its own About text.
  • deliveryText, deliveryDaysMin, deliveryDaysMax, deliveryFee, fulfilledByFlipkart, cashOnDelivery, noCostEmi, returnPolicy, warranty.
  • specifications (every group with every row) and specificationCount, highlights, productHighlights, description, countryOfOrigin, manufacturer, importer, packer, genericName.
  • images (all, 832 px), imageCount, videoCount, videos, variantAttributes and variants (each swatch: colour, size, storage, with every option's own product id, listing id and link).

Measured on 19 products (matrix of 2026-10-20): priceAfterOffers, ratingBreakdown, deliveryText, returnPolicy, warranty, highlights, specifications, countryOfOrigin, manufacturer, packer, images, offers and the seller 19 of 19; breadcrumbs 18; aspectRatings 17; importer 14; variants 12; description 10; videos 2; productHighlights 0 of 19. With details on, the row's price, MRP, discount, stock, rating and seller come from the product page, which is newer than the search card, and every filter is checked again on them (a product that no longer passes is free). A page that could not be read is not charged (detailsStatus says why).

Every seller and delivery to a pincode (add-on)

With Product details on:

  • Every seller of a product adds sellerCount and sellers: each seller's id, name, rating, whether it holds the buy box, price, MRP, F-Assured, availability, delivery text, date and time, shipping fee, return policy, offers and its profile (business name, description, on Flipkart since, pickup city, state and pincode, the registered name and pickup street with Personal data on, product quality score, quality and speed score percent, product rating, units listed, units sold in total and in the last 30 days).
  • Delivery pincode (six digits) adds pincodeDelivery: the city Flipkart resolved, whether it recognised the pincode, the delivery text, date and time and whether the product is available there; with every seller on, each seller carries its own delivery for that pincode.

Both are included in the Product detail charge. In the test matrix, a phone read with every seller and pincode 560001 came back with its seller list, the seller profile and a delivery date for Bangalore.

Buyer reviews (add-on)

Turn on Buyer reviews, or paste a product's reviews page as a link, and each product gets its reviews as rows of their own (one Review event each). A pasted reviews page keeps its own order unless you set Review order, and its certified buyer and rating aspect filters are sent and checked on Flipkart's answer (where Flipkart did not apply one, or served another order, reviewsStatus is filter_not_applied and no review of that product is charged). Each review row has reviewId, productId, reviewedProductId (Flipkart pools reviews over the variants of a product), productUrl, rating, title, text, author, city, state, certifiedBuyer, date (as Flipkart shows it, "3 months ago"), month (the month that date points at, 2026-07), upvotes, downvotes, images, variant (the colour, RAM or size reviewed) and foundBy (the order that found it). Measured on 78 reviews (2026-10-20): rating, title, text, author, city, state, certifiedBuyer, date, month, upvotes and variant 78 of 78; images 26 of 78.

Choose most helpful (default), newest, positive first, negative first, or all four orders one after the other (each review delivered once), and up to 1,000 reviews a product (20 by default). Flipkart serves about ten full pages of ten reviews per order and then thinner pages until it ends the list, so all four orders reach more of a product's reviews than one. The product row says how many came (reviewsDelivered) and whether they were read (reviewsStatus: read to the end of the list or to your cap, partial when the walk stopped before either, failed, filter_not_applied when Flipkart served another order or filter than the one asked, stopped or run_stopped when the run stopped during or before the walk, not_read_after_restart when the platform restarted the run after reviews of that product were delivered, max_reviews_per_product_reached when earlier links of the product used its budget; on the free note row of reviews links also known_to_monitor); a partial walk names why in reviewsCutBy (empty_pages: three empty pages in a row while Flipkart said more follow; page_limit: 80 pages of one order).

Seller leads (add-on)

With Product details on, Seller leads adds one seller row per seller met through the run's product pages, delivered after the last search (one Seller lead event each, once per run): sellerId, name, rating, yearsWithFlipkart, scores, about, businessName, registeredName and pickupAddress (both with Personal data on, null without), description, liveSince, pickupCity, pickupState, pickupPincode, productQualityScore, qualityScorePercent, speedScore, speedScorePercent, productRating, unitsListed, unitsSoldTotal, unitsSold30d, brandsSeen, categoriesSeen, productsSeen, up to five sampleProductUrls and profileStatus (read, or not_read when Flipkart's sellers answer failed and the row holds only what the product pages showed). Measured on 5 seller rows (2026-10-20): name, rating, business name, pickup city, state and pincode, quality and speed score, units sold in 30 days and on Flipkart since 5 of 5; the registered name and pickup street 5 of 5 with Personal data on. A seller's registered name is often its proprietor's own name and its pickup street can be a home address, so both are personal data and off by default; you are responsible for a lawful use, GDPR and India's DPDP Act included. gstin, cin and fssai are filled only where the seller's own texts print them (0 of 5 measured rows had a GSTIN).

Monitor: new products only, or a price and stock watch

Set Monitor name and schedule the run. The Actor remembers what it delivered under that name in a key-value store it creates itself.

  • new_only (default): searches, categories, links and product ids deliver and charge only products, reviews and sellers not delivered before under this name. A known product found on a search page or named by its product id is skipped before anything more is read for it, free, and its reviews are not read again.
  • changes: a price and stock watch of every product the inputs find (searches and categories up to Max products per search, product links and ids). Every watched product is delivered as one product_check row and billed as one Product check event, changed or not, the first run included: price, mrp, inStock, watchedFrom (search_card for products found by searches and categories, on every run and with Product details on too, so a page that could not be read never resets the watch; product_page for product links and ids), changeType (baseline the first time, then changed or unchanged) and changes (each with field, from and to for price, mrp and inStock; for product links and ids, whose product page is read, a seller entry gives the new buy box seller's id in to). A search or category watch row shows the card's own figures it was compared on; with Product details read, the product page's figures ride along in pageFigures (price, mrp, discountPercent, inStock). Filter on changeType to keep only what moved. With Product details on, each watch row also pays its Product detail. Reviews and seller leads need a run of their own.
  • Reset the monitor forgets the memory and starts again.

Search depth and limits

Flipkart serves 1,000 product slots per search or category, sponsored slots included. On pages of 40 cards (25 pages) that is about 600 organic products; on pages of 24 cards (41 pages) about 500. A search that reaches the limit gets a coverage row with stoppedBy: "flipkart_slot_limit" naming Flipkart's total, for example: "Flipkart shows at most 1000 product slots per search or category (sponsored included) and counts 5197; split it by price (minPrice and maxPrice) or by brand to reach the rest." To read deeper, split a big search by price range or brand, one search each. A search started past page 1 (startPage) that Flipkart answers with no product gets stoppedBy: "start_page_empty" and is not reported complete: Flipkart's answer does not tell the end of a short result from its slot limit.

Flipkart applies its own filters and sort orders; the Actor checks Flipkart's echo of every filter and order it sent on every page, and where Flipkart did not apply one, that search stops there with a free filter_not_applied row. Price, discount, rating, brand, F-Assured, stock and title words are also checked on every row. The rows keep Flipkart's own order, and Flipkart sorts by its own index: under the price and discount orders a few rows can sit out of the order their shown figure suggests (a discount order read on 2026-10-20 gave 86, 86, 88, 88 ... 87 percent). A filter checked on the rows that no card meets (minimum discount, title words, in stock, a price range, a minimum rating other than 3 or 4) stops a search after three pages in a row without a match, and the coverage row says it is not complete.

How much does it cost to scrape Flipkart?

You pay per event, per 1,000 events, by your Apify plan:

EventWhat it isFREEBRONZESILVERGOLD
Product (primary)One Flipkart product row$1.33$1.22$1.10$0.95
Product detailThe product page details of one delivered product, every seller and pincode delivery included (add-on)$1.50$1.40$1.30$1.20
ReviewOne buyer review row (add-on)$1.30$1.20$1.10$0.95
Product checkOne product read again by a changes monitor$0.90$0.85$0.80$0.70
Seller leadOne seller row (add-on)$2.50$2.30$2.10$1.80

Platinum and Diamond plans pay the Gold price. The Actor start is $0.006 per run, one flat fee on every plan with no discount; it is charged per GB of run memory, and this Actor runs at 256 MB by default and at most 1 GB, so a run pays it once.

The Store pricing card shows these same prices per 1,000 events: "$0.95 / 1,000" on the Product row means one product costs $0.00095, less than a tenth of a cent.

Worked examples (GOLD)

  • 100 products from one search: 100 x $0.00095 = $0.095, plus the $0.006 start = $0.101 (on the FREE plan: $0.133 + $0.006 = $0.139).
  • 100 products with Product details: $0.095, plus 100 x $0.0012 = $0.12, plus the $0.006 start = $0.221.
  • One product link with Product details and 20 reviews: $0.00095 for the product, plus $0.0012 for its details, plus 20 x $0.00095 = $0.019 for the reviews, plus the $0.006 start = $0.02715.
  • A daily price and stock watch of 200 product ids: 200 x $0.0007 = $0.14, plus the $0.006 start = $0.146 a run, $4.38 for 30 daily runs.

What is free

Product ids Flipkart does not have, searches Flipkart did not recognise (it shows unrelated products for a made up word), searches Flipkart corrected when Accept Flipkart's spelling corrections is off, pages on which Flipkart did not apply a filter or order that was sent, products left out by your filters, sponsored slots skipped while Include sponsored products is off, products found twice in a run, products, reviews and sellers a new_only monitor delivered before, failed calls, product pages that could not be read, and every status, coverage and summary row. If you set a maximum charge for the run, add-on rows are cut first and the run stops before it passes the limit. A run whose inputs keep delivering nothing (unknown ids, pages of filtered or known products) stops itself with a free row once its allowance of unpaid work is spent: in the test matrix, two runs of 60 made up product ids stopped after 15 and after 9 of them, each with a free row.

Input

An input that names nothing to read runs the sample: the first ten products of a "smartphone" search. A setting this Actor does not have (a misspelt name) refuses the run with a free row, so a typo never runs a wider search than you meant; each list entry is read as one value.

What to read

  • searchTerms: search words, one search per entry (up to 200), each up to 100 characters.
  • startUrls: flipkart.com links (up to 1,000): a search page (https://www.flipkart.com/search?q=running+shoes), a category or brand page (https://www.flipkart.com/mobiles/pr?sid=tyy,4io; its filters, price range, sort and page are kept unless you set your own, and its price range, brands, rating and F-Assured filters are checked on every row as yours are), a product page (.../p/itm...?pid=...) or a product's reviews page (the product is delivered with its reviews, charged per review; reviews pages are read first; a reviews page whose product the run delivered already, by another link, a search or an id, still gets its reviews as review rows, without the product row a second time, up to what is left of the product's Reviews per product (one budget per product for the whole run, whichever links ask); under a new_only monitor a reviews page of a product the monitor already knows reads nothing, and a free row names it; if the platform restarts the run, a product delivered before the restart reads no more reviews, and a free row says so). Product links copied from Flipkart's own search results, with their tracking parts, are read as they are. A link to a .txt or .csv file or a Google Sheet that lists such links or product ids is read too (up to 2,000 a file): a .csv file or a Google Sheet cell by cell (a cell holding a comma is quoted, as spreadsheets write it; an unquoted category link cut at the comma of its category id is left out and counted on the file's free row), any other file line by line, each link whole up to the next space or line break. Every entry is read exactly as written: a link Flipkart does not write is skipped, never shortened. A product id in a file is one of Flipkart's 16 character product ids (TSHHFFHVCVJVZNMD, MOBHNJ8FRCKPXUAS, any case) or a 13 digit book id (ISBN); header words and other columns are skipped and counted. Short links (fkrt.it) are refused: open them in a browser and paste the full flipkart.com link.
  • productIds: Flipkart product ids, the pid= part of a product link (MOBHNJ8FRCKPXUAS; books often use their 13 digit ISBN), up to 5,000.
  • category: one of 27 common category pages (mobiles, laptops, televisions, headphones, refrigerators, men_tshirts, sarees, mens_footwear, skin_care, books and more); any other category or brand page can be pasted as a link.

Filters and order

sort (relevance for searches, popularity, price_low_to_high, price_high_to_low, newest, discount where Flipkart offers it: electronics and appliances, not most fashion, elsewhere the search stops with a free row; Flipkart showed no sponsored products under the price and newest orders and some under popularity and discount on 2026-10-20), minPrice and maxPrice in whole rupees, minRating (0 to 5; 0 asks for no minimum and also clears a pasted link's own rating filter; at exactly 3 or 4 Flipkart's own rating filter is used as well, and an organic product without a rating on its card, as on most fashion grids, passes on that filter's echo; otherwise a product with no rating on its row does not pass), minDiscount (1 to 95 percent), brands and colours (as Flipkart writes them in its filters), genders (men, women, boys, girls, unisex, on fashion and footwear pages), flipkartAssuredOnly, inStockOnly, includeWords and excludeWords (whole words of the title, any case), includeSponsored (sponsored products flagged with their rank among the sponsored slots) and acceptSpellingCorrections (on by default; the coverage row names the words Flipkart searched for). Every filter holds on every row: product links, reviews links and product ids are checked on their product page (a product that fails is not delivered or charged, and one free filtered row names them); a product without a brand or a rating on its page does not pass a brand or rating filter. genders and colours are Flipkart search filters that no product page shows, so they cannot be combined with product links, reviews links or ids (the run is refused, free), and product links inside a file of links are not read under them (a free row names them).

How much to read

maxItemsPerSearch (1 to 1,000, default 100), maxItems (the whole run, up to 100,000), startPage (1 to 41) and maxPagesPerSearch (1 to 41; a page holds 24 or 40 products).

Add-ons

includeDetails, includeAllSellers, pincode (the last two need includeDetails), includeReviews, maxReviewsPerProduct (1 to 1,000, default 20), reviewsSort (most_helpful, newest, positive_first, negative_first or all), includeSellerLeads (needs includeDetails), includePersonalData (default false: a seller's registered name and pickup street).

Monitor

monitorName, monitorMode (new_only or changes), resetMonitor.

Run settings

maxRequestRetries (1 to 5, default 3), requestTimeoutSecs (5 to 60, default 15; a request that runs into it is asked again on a fresh proxy session), maxConcurrency (how many products are read at the same time, 1 to 4, default 3), proxyConfiguration (leave it as it is: Apify datacenter sessions on networks Flipkart answers; a Residential choice runs on them too and the run says so in a note; your own proxy links are used as given, each an http or https link with host and port and, when it has one, a password of at least 8 characters with letters and digits; a run with every proxy turned off is refused, because Flipkart refuses the platform's own addresses on product pages).

Examples

A search with filters, cheapest first:

{ "searchTerms": ["tshirt"], "brands": ["PUMA"], "minPrice": 500, "maxPrice": 2000, "sort": "price_low_to_high", "maxItemsPerSearch": 200 }

Product links and ids with details, every seller and a pincode:

{ "startUrls": [{ "url": "https://www.flipkart.com/samsung-a36-5g-dark-blue-128-gb/p/itm2efbf47502056?pid=MOBHNJ8FRCKPXUAS" }], "productIds": ["9781847941831"], "includeDetails": true, "includeAllSellers": true, "pincode": "560001" }

Reviews in all four orders:

{ "productIds": ["MOBHNJ8FRCKPXUAS"], "includeReviews": true, "reviewsSort": "all", "maxReviewsPerProduct": 500 }

A daily price and stock watch (schedule it once a day):

{ "productIds": ["MOBHNJ8FRCKPXUAS", "9781847941831", "ACCHFSVMRU4ZGNSY"], "monitorName": "my-price-watch", "monitorMode": "changes" }

Use it from the API

The Actor id is automation_craft/flipkart-scraper (automation_craft~flipkart-scraper in REST paths). Each call runs the Actor and returns its dataset: product rows plus the free coverage and summary rows, so filter on type. Replace <YOUR_APIFY_TOKEN> with your Apify API token.

curl

The synchronous endpoint waits up to 300 seconds, so keep these runs small or start a normal run for large ones.

curl -X POST "https://api.apify.com/v2/acts/automation_craft~flipkart-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer <YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["running shoes"], "maxItemsPerSearch": 50}'

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('automation_craft/flipkart-scraper').call({
startUrls: [{ url: 'https://www.flipkart.com/mobiles/pr?sid=tyy,4io' }],
maxItemsPerSearch: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const products = items.filter((row) => row.type === 'product');
console.log(products.length, products[0]?.price);

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("automation_craft/flipkart-scraper").call(
run_input={"searchTerms": ["refrigerator"], "minRating": 4, "maxItemsPerSearch": 50, "includeDetails": True}
)
rows = client.dataset(run["defaultDatasetId"]).list_items().items
products = [row for row in rows if row["type"] == "product"]
print(len(products))

Use it from AI agents (MCP)

An AI agent connected to the Apify MCP server can call this Actor by its name, automation_craft/flipkart-scraper, with the same input JSON as above. The dataset's field descriptions and views tell the agent what each column holds, and the free coverage row tells it what was read and why each search stopped.

FAQ

Is there a Flipkart API for product data?

This Actor works as one: call it through the Apify API with search words, Flipkart links or product ids and read the rows as JSON, CSV or Excel. It needs no Flipkart account, login or key; the API examples above show the calls.

How do I scrape Flipkart?

Put search words, Flipkart links (search, category, brand, product or reviews pages) or product ids into the input, pick filters and add-ons, and start the run. Each product comes back as one row with its price, MRP, discount, stock and rank, and a free coverage row per search says how far Flipkart let it read.

This Actor reads only what flipkart.com shows a logged out visitor: no login, no account, no cart or checkout. Review rows carry the reviewer's name and city, as Flipkart shows them (the content's author); a seller's registered name and pickup street can be personal data and come only with Personal data on (off by default). Whether your use is lawful depends on your purpose, your country and Flipkart's terms of use, so check them for your case.

How do I check Flipkart price history?

This Actor reads the price Flipkart shows at read time, so the history starts with your first run. Set a Monitor name with mode changes and schedule it daily: every run delivers one row per watched product with its price, MRP and stock, and changes gives the old and new value of what moved.

How do I download Flipkart reviews to Excel or CSV?

Turn on Buyer reviews (or paste a product's reviews page link), choose the order and how many reviews per product, and start the run. Open the Reviews view of the dataset and export it as CSV or Excel: one row per review with rating, title, text, reviewer name, city, certified buyer flag, votes, photos and the variant reviewed.

Why does this Actor run with limited permissions?

It follows least privilege: it only writes its own run's dataset and key-value store. A monitor's memory is a named key-value store the Actor creates itself under your account.

What this Actor does not do

  • No Flipkart Grocery and no Flipkart Minutes: it reads Flipkart's main store; a Grocery or Minutes link is refused with a free row.
  • No customer rating sort: Flipkart's sort orders here are relevance, popularity, price low to high, price high to low, newest and, on some categories, discount. Use Minimum rating to filter by stars instead.
  • No stock per size or colour: the product page does not show it. inStock is the stock of the product id read; each variant carries its own product id, which can be read as an input of its own.
  • No questions and answers from product pages.
  • Nothing behind a login: no account, order, cart, wishlist or seller dashboard data. Prices and offers are those flipkart.com shows a logged out visitor at read time.
  • No reviews beyond what Flipkart lets be read: about ten full pages per order, then thinner pages until Flipkart ends the list.
  • No watch that bills only changed products: every watched product is delivered and billed as a Product check, changed or not.
  • No Apify residential proxy, not even as a retry: with the Apify proxy the Actor runs on datacenter sessions only, on networks Flipkart answers, and replaces a refused or slow session with a fresh one (on 2026-10-20 Flipkart refused no datacenter session on a search, category or reviews page in 90 runs); a product page is about 200 KB, which costs more on residential traffic than a product row is priced at. Your own proxy links are used as given.
  • No AI generated names, titles or attributes: every field is Flipkart's own, as Flipkart serves it; no AI model is called.
  • No price history before your first run: history comes only from the runs of a monitor.

Changelog

See the Changelog tab. 0.1 (2026-10-20): first release.

More data tools by Automation Craft