Flipkart Product Scraper · Prices, ratings, specs · $1/1K avatar

Flipkart Product Scraper · Prices, ratings, specs · $1/1K

Pricing

$1.00 / 1,000 results

Go to Apify Store
Flipkart Product Scraper · Prices, ratings, specs · $1/1K

Flipkart Product Scraper · Prices, ratings, specs · $1/1K

Scrape Flipkart product listings from a search phrase or category page for price tracking, catalog analysis and competitor research. Prices, discounts, ratings, availability, images and key specs per product. $1/1K products.

Pricing

$1.00 / 1,000 results

Rating

0.0

(0)

Developer

MLG Data

MLG Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Flipkart Scraper

Scrape Flipkart product listings from a search phrase or a public category URL, then export product data to JSON, CSV, or Excel. This Flipkart product data extractor gives price, discount, ratings, availability, images, and listing links in one row per product for catalog analysis and recurring price checks.

The actor reads public listing pages. It accepts a keyword such as wireless mouse, or a category URL such as the mobile phones listing, and follows result pages until it reaches your requested count or the available listing ends. Each product identifier appears once in the output, even when a large run visits more than one sort order.

What data can you extract from Flipkart?

Every result is a flat product record. A value is null when a public listing card does not expose it. Prices are numeric Indian rupees; the text versions preserve a display friendly rupee format. The ratingBreakdown object uses keys 1 through 5 for star counts. keySpecs and imageUrls are arrays, so they remain usable in JSON exports.

FieldDescriptionExample
idProduct identifierACCHF448XHS2JPEH
itemIdItem identifier from the product URLitm1e15fb3549151
listingIdListing identifierLSTACCHF448XHS2JPEHTIT6IR
titleFull product titlepTron Flick M1 Ambidextrous Optical Mouse...
subtitleVariant or short description2.4GHz Wireless, Bluetooth, Black
brandBrand label, or first title word if no label existspTron
categoryProduct vertical on the listingmouse
priceCurrent numeric price in INR399
priceTextDisplay price₹399
originalPriceCrossed out or original price1499
originalPriceTextDisplay version of original price₹1,499
discountPercentDisplayed percentage discount73
discountAmountDisplayed amount saved1100
discountTextDiscount label73% off
ratingAverage customer rating4.3
ratingCountNumber of ratings1096
reviewCountNumber of reviews119
ratingBreakdownCounts by star rating, if present{"5": 669}
specificationsStructured details, if supplied on the listingnull
keySpecsKey feature bullets in some categoriesnull
warrantySummaryWarranty text where listednull
availabilityStatusListing stock stateIN_STOCK
isAvailableWhether the state is in stocktrue
buyabilityIntentListing purchase statepositive
isFlipkartAdvantageAdvantage flag from the cardtrue
swatchAvailableWhether variant swatches are showntrue
currencyPrice currencyINR
analyticsCategoryBroad category labelComputerAccessory
analyticsSubCategoryCategory detail labelLaptopAccessory
marketplaceMarketplace codeFLIPKART
imageUrlMain image URLhttps://rukmini1.flixcart.com/...
imageUrlsAll image URLs present on the card[...]
urlDirect product linkhttps://www.flipkart.com/.../p/itm...
sourceUrlResult page where the product appearedhttps://www.flipkart.com/search?q=wireless+mouse
positionPosition within the visited sort order1
isSponsoredWhether an ad marker accompanies the cardtrue
fetchedAtUTC time when the record was made2026-09-26T18:06:10.503377+00:00

This field list distinguishes a product identifier, a listing identifier, and the item identifier in the URL. Keep id as the stable deduplication key when comparing repeated exports. A listing identifier can change when a product is offered through a different listing. The item identifier is useful for joining product links, but a category may expose several listings for the same underlying item.

How to scrape Flipkart products

  1. Enter a search phrase in keyword, or paste a public Flipkart search or category listing into startUrl.
  2. Select a sort order and set results_wanted to the maximum number of unique products you need.
  3. Run the actor. It visits listing pages in sequence and stops as soon as the result limit is reached.
  4. Open the dataset to inspect products, then download JSON, CSV, or Excel for your analysis.

If you provide both a keyword and a URL, the URL is used. To preserve a category, price filter, or other public filter, use the complete listing URL (the keyword is then ignored). The actor accepts HTTPS Flipkart search pages and category paths ending in /pr; a direct product page is not a listing input.

Input

ParameterTypeDefaultDescription
keywordStringEmptySearch phrase. Used when startUrl is empty.
startUrlStringEmptyPublic search or category listing URL. Takes priority over keyword.
sortStringrelevancerelevance, popularity, price_asc, price_desc, or newest.
results_wantedInteger40Maximum number of unique products to return. Minimum is one.
proxyConfigurationObjectAvailable proxy, datacenter firstConnection settings for listing requests.

A keyword search for a manageable price sample:

{
"keyword": "wireless mouse",
"sort": "relevance",
"results_wanted": 40
}

A category run with the URL's own category selection:

{
"startUrl": "https://www.flipkart.com/mobiles/pr?sid=tyy,4io&marketplace=FLIPKART",
"sort": "price_asc",
"results_wanted": 120
}

The actor applies the selected sort to the URL. newest corresponds to the site's descending recency order. Some categories do not offer that order, so results may appear in the site's fallback order. For exact category or price filters, check the listing in a browser and paste the resulting full URL. Search terms are encoded before the first request, so spaces and punctuation can be entered normally.

Output example

This is a shortened record from a successful 40 product run for wireless mouse. The actual dataset row also contains every field listed above, including all available image links.

{
"id": "ACCHF448XHS2JPEH",
"itemId": "itm1e15fb3549151",
"listingId": "LSTACCHF448XHS2JPEHTIT6IR",
"title": "pTron Flick M1 Ambidextrous Optical Mouse High Precision,4 Buttons, Plug&Play",
"subtitle": "2.4GHz Wireless, Bluetooth, Black",
"brand": "pTron",
"category": "mouse",
"price": 399,
"originalPrice": 1499,
"discountPercent": 73,
"rating": 4.3,
"ratingCount": 1096,
"reviewCount": 119,
"ratingBreakdown": {"1": 88, "2": 24, "3": 78, "4": 237, "5": 669},
"availabilityStatus": "IN_STOCK",
"isAvailable": true,
"currency": "INR",
"isSponsored": true,
"url": "https://www.flipkart.com/ptron-flick-m1-ambidextrous-optical-mouse-high-precision-4-buttons-plug-play/p/itm1e15fb3549151?pid=ACCHF448XHS2JPEH",
"sourceUrl": "https://www.flipkart.com/search?q=wireless+mouse",
"position": 1,
"fetchedAt": "2026-09-26T18:06:10.503377+00:00"
}

The timestamp describes the extraction, not a product's publication or last price change. Store successive runs with their timestamps to create your own price history. Discount values come from the public card at that moment; they are not recomputed against an external price source.

Use cases

  • Price monitoring: Collect the same category or search daily, join results by id, and highlight price or discount changes. A repeated export is a snapshot, so retain prior runs if you want a historical trend.
  • Competitive catalog research: Compare displayed prices, ratings, and listed features for similar products. Use a narrow keyword or category URL to reduce unrelated search results.
  • Assortment tracking: Count available products by category and brand, then compare the count over time. Keep the same input and sort order for meaningful comparisons.
  • Promotion review: Use originalPrice, discountPercent, and isSponsored to inspect how discounted and promoted products appear in a listing. The ad marker is sourced from the card and may vary between visits.
  • Product discovery: Export titles, links, and images for a shortlist that a team can review. The direct url field makes each row easy to verify before purchasing or publishing a report.
  • Rating analysis: Use average rating, total ratings, review counts, and the five star counts when available to compare product reception across a category.

How much does it cost to scrape Flipkart?

The current event price is $1.00 per 1,000 products delivered. One product row is one result event. A 40 product run is about $0.04 in result charges; 500 delivered products are about $0.50; 2,000 delivered products are about $2.00. These examples count delivered rows, not visited pages or duplicate cards. Check the actor's current pricing before a large scheduled run because Store prices can change.

results_wanted is a hard output cap, which helps bound result charges. If only 80 products are available from a requested 200, the dataset contains 80 rows. A run that visits additional pages to find unique products does not create extra result events for duplicates. Proxy usage and any account level charges are separate from the arithmetic above, so your account's usage view is the source for final billing.

Tips for best results

Start with a narrow phrase such as a product family, product type, or key specification. Broad searches can mix categories and make a price comparison misleading. When a category has useful filters, open that public listing, choose filters there, and paste its complete URL into startUrl. The actor retains its query parameters and updates only page and sort values while paginating.

Use 40 results for a quick first run. Search pages commonly return about 40 cards; some categories return fewer, so the number of page requests depends on the listing. Increase results_wanted after checking that the search returns the product type you need. For a stable recurring dataset, keep the query, category path, filters, and sort order consistent between runs.

The sourceUrl records which listing page supplied an item. Use it when investigating a surprising title, price, or category. isSponsored identifies cards with an ad marker; it does not state the advertising placement, spend, or targeting. brand is sometimes inferred from the first word of the title because the public card omits an explicit brand label. Verify that field before using it for strict brand reporting.

For image workflows, use imageUrl for a preview and imageUrls for the full set exposed on the listing card. The URLs use a fixed image size and quality setting. Image availability can change after a run, so archive images separately if you need permanent copies. Numeric prices and counts are easier to aggregate than their display text equivalents.

Limits

A tested search exposed products through page 25 and returned no products at page 26. The actor stops at 25 pages per sort order. When more than roughly 1,000 products are requested, it also visits other public sort orders and deduplicates by product ID to seek additional results. Sort slices can overlap heavily, so a high requested count is not a promise that many unique products exist. Rows after the first sort slice are grouped by the subsequent sorts, not globally ranked under the selected sort.

Product cards vary by category. A mobile phone card can include key specification bullets and warranty text, while an accessory card may have neither. Full specification tables and seller names are usually found on product detail pages rather than listing cards; this actor does not visit every detail page. specifications may therefore be null, and no seller field is promised. Ratings can also be absent on new products.

Availability is the listing state returned during the run. It can change by time, delivery location, or site behavior, and it is not a checkout guarantee. Prices and discounts are likewise point in time values. An inaccessible page may yield fewer results than requested; the actor continues only while valid listing cards and pagination remain available. Public page layout and card data can change, which may require an extractor update.

Automated workflows

Use a descriptive request such as “collect the first 100 wireless mouse listings sorted by price” to choose an input, then inspect the returned dataset before making a buying or pricing decision. For recurring research, save the same category URL and result limit in a schedule and compare exports by product ID and extraction timestamp.

An example analysis request is: “Find products in this export with a rating above 4 and a discount above 30%, then show their titles, current prices, review counts, and URLs.” Another is: “Compare yesterday's and today's exports by id and flag price changes greater than 10%.” These examples work on exported rows; they do not imply that every listing exposes every optional field.

FAQ

The actor accesses public product listing pages. You are responsible for complying with applicable law, site terms, and any privacy obligations in your use of the data. The output is product focused and does not seek account only or private customer information.

Do I need a proxy?

The default connection uses the available datacenter route first and can escalate when a page blocks requests. You can supply your own proxy configuration. Connection reliability depends on the site's current access controls and the account's available proxy resources.

How fast is a run?

A 40 product verification run completed successfully, with the product extraction lasting only a short part of the overall build and run process. Larger runs require more listing pages and can slow down if requests need retries or a browser challenge. Use the run log and dataset count to measure your particular query.

Can I schedule a daily price check?

Yes. Save an input and run it on a daily schedule. Join successive datasets on id; compare price, availabilityStatus, and fetchedAt. Keep the same filters for a fair comparison and account for occasional products leaving the public result set.

Can I export to a spreadsheet?

Yes. Download the dataset as CSV or Excel, or use JSON for a structured pipeline. Arrays and the rating breakdown are best preserved in JSON; a spreadsheet export may render them as serialized values.

Why are key specifications or warranty empty?

Many listing cards omit those details. A category may show only a title, image, price, and rating. The actor leaves absent values as null instead of inventing a specification or warranty. Product detail pages can contain more information than the listing output.

Why did I receive fewer products than requested?

A listing may have too few unique products, end before the requested count, hit the 25 page boundary, repeat products under several sorts, or temporarily return an inaccessible page. Narrower category filters can make the available pool smaller. Review sourceUrl and the run log when diagnosing a short dataset.

Use with AI agents (MCP)

Add this actor to any MCP client (Claude, Cursor, VS Code, n8n and others) with one URL:

https://mcp.apify.com?tools=mlg14/flipkart-scraper

The actor returns one dataset item per Flipkart product (title, price, discount, rating, availability, images, key specs, listing URL). Keep results_wanted small so a run finishes in seconds and costs cents.

Prompt 1: "Get 40 wireless mouse products from Flipkart with prices and ratings."

{
"keyword": "wireless mouse",
"results_wanted": 40
}

Prompt 2: "List the 30 cheapest running shoes on Flipkart."

{
"keyword": "running shoes",
"sort": "price_asc",
"results_wanted": 30
}

Prompt 3: "Scrape 50 mobile phones from this Flipkart category page."

{
"startUrl": "https://www.flipkart.com/mobiles/pr?sid=tyy,4io&marketplace=FLIPKART",
"results_wanted": 50
}

Integrations

The dataset can feed a scheduled report, a webhook, a spreadsheet, or a database. A common workflow runs the same search periodically, stores the rows, joins records by id, and sends a notification only when price or availability changes. Exported JSON keeps nested ratingBreakdown and image arrays intact; CSV is convenient for quick sorting and filtering. Keep fetchedAt and sourceUrl alongside the product fields for auditability.

Support

Open an issue on the Issues tab with the input, a representative product URL, the run time, and the field you expected. We reply within 24 hours and consider field requests for future updates.