Flipkart Product Reviews Scraper avatar

Flipkart Product Reviews Scraper

Pricing

from $0.96 / 1,000 review exporteds

Go to Apify Store
Flipkart Product Reviews Scraper

Flipkart Product Reviews Scraper

Export individual public Flipkart product reviews with text, ratings, reviewer names, displayed dates, variant attributes, purchase flags and helpful votes from product URLs.

Pricing

from $0.96 / 1,000 review exporteds

Rating

0.0

(0)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Turn public Flipkart product reviews into a structured customer-feedback dataset. Supply product URLs to export individual review text, titles, star ratings, displayed reviewers and dates, purchase-verification flags, variant attributes and helpfulness counts.

Built for ecommerce analysts, brand teams and researchers who want recurring snapshots for downstream sentiment analysis—not another table of product cards or aggregate ratings. The Actor does not generate sentiment scores, discover products or access private accounts.

Why use this Actor?

  • Keep stable review IDs for comparing separate snapshots.
  • Distinguish the requested product from the reviewed variant when Flipkart shares a review feed across colors or storage options.
  • Preserve displayed dates rather than inventing exact timestamps.
  • Export typed rows to the default Apify dataset for JSON, CSV or Excel downloads.
  • Bound collection by a global review limit and a per-product page cap.

Who is it for?

Brand teams can compare recurring feedback snapshots; ecommerce analysts can group complaints by reviewed variant; researchers can build bounded public-review datasets for downstream analysis. It is not a product search or reviewer-contact tool.

Getting started

  1. Copy a full public Flipkart product URL, including its pid query parameter.
  2. Paste it into Flipkart product URLs.
  3. Choose the maximum reviews per run and maximum pages per product.
  4. Start the Actor and wait for its terminal status.
  5. Open the default dataset and download the required format.

No login, customer API key or proxy subscription is required. Requests run directly without an automatic paid proxy fallback.

Input example

{
"startUrls": [{
"url": "https://www.flipkart.com/apple-iphone-15-black-128-gb/p/itm6ac6485515ae4?pid=MOBGTAGPNRQA7CS3"
}],
"maxItems": 25,
"maxPagesPerProduct": 3
}

Input parameters

ParameterDefaultBehavior
startUrlsRequired1–20 full HTTPS flipkart.com or www.flipkart.com product or product-reviews URLs with pid. Use { "url": "..." } entries in the request list.
maxItems100Global maximum unique review rows across all products, in input order. Integer 1–10000.
maxPagesPerProduct10Maximum review pages for each normalized product URL. Integer 1–100.

Zero is invalid, not unlimited. Duplicate normalized input URLs are fetched once. Page size is controlled by Flipkart, currently about ten reviews. Source exhaustion, timeouts or spending limits can yield fewer records than requested.

Extra URL parameters—including filters, sorting and page—are discarded. Collection always begins at page 1 using the source's default helpfulness order. The Actor has no rating/date/text filters or recent-first mode. Short links, search URLs and bare product IDs are not accepted.

Extracted data

FieldMeaning
reviewIdStable source review identifier, deduplicated within the run.
reviewUrlIndividual source review link.
productId, productUrlRequested product identity.
reviewProductIdReviewed variant identity when exposed in the review link.
title, text, ratingSource review headline, body and 1–5 star rating.
reviewerPublic displayed name or generic customer label.
displayedDateOriginal date label, often month/year; not a precise publication time.
certifiedBuyer, verifiedPurchaseSource flags, not independent verification by this Actor.
helpfulCount, unhelpfulCountDisplayed upvote/downvote counts.
variantArray of exposed attribute names and values, such as Color and Storage.
sourceUrl, scrapedAtListing page and UTC extraction timestamp.

Unavailable optional fields are null; absent variant attributes produce an empty array. Flipkart can pool reviews across a product family. Do not assume every row describes exactly the requested color or storage capacity. reviewProductId and variant preserve that distinction.

Output example

This shortened example follows the current emitted structure; reviewer and review ID are anonymized.

{
"reviewId": "00000000-0000-4000-8000-000000000001",
"productId": "MOBGTAGPNRQA7CS3",
"reviewProductId": "MOBGTAGPE4F2HAW7",
"title": "Great product",
"text": "Go for it without any hesitation\nCamera and battery are just awesome",
"rating": 5,
"reviewer": "Example Customer",
"displayedDate": "Apr, 2024",
"certifiedBuyer": true,
"verifiedPurchase": true,
"helpfulCount": 356,
"unhelpfulCount": 67,
"variant": [{"name": "Color", "value": "Blue"}, {"name": "Storage", "value": "128 GB"}]
}

The full dataset also contains the review URL, product URL, source page and extraction time. The SUMMARY key-value record contains saved rows, pages, requests, response bytes, retries and configured limits. It is an operational summary, not a billed review.

How much does it cost to export Flipkart product reviews?

Pay per event: $0.0005 per started run, plus each unique review delivered. No item fee is charged for duplicates, invalid inputs or failed pages. A valid run with no reviews can still incur the start fee.

Apify Store spend tierPer review
FREE$0.0018308
BRONZE$0.001592
SILVER$0.0012418
GOLD / PLATINUM / DIAMOND$0.0009552

At BRONZE, estimates including one start are $0.002092 for one review, $0.01642 for ten, and $0.1597 for 100. At FREE, 100 reviews cost an estimated $0.18358. Spend tiers depend on qualifying aggregate monthly Apify Store spending, not review volume in this Actor. The live pricing panel is authoritative. These are usage estimates, not guaranteed invoices; billing adjustments and refunds can apply.

Limits and failure behavior

  • This is a bounded public snapshot, not a guarantee of every historical review.
  • Pages are fetched sequentially. Global deduplication keeps the first occurrence of each review ID; it does not persist across runs.
  • A network failure or temporary 429/5xx receives at most one retry. Permanent errors and challenge pages fail clearly, without an empty-success substitute.
  • A completely repeated page fails rather than pretending pagination succeeded.
  • A failure after some successful pages can leave partial rows and corresponding charges. Check run status before treating an export as complete.
  • Public data can change or disappear between pages. The Actor does not translate, infer missing dates, fetch media files, summarize ratings or generate AI content.

Integrations and recurring datasets

Use Apify schedules to refresh the same input. Store exports in your own warehouse and compare reviewId values between runs. Downstream tools can compute sentiment, deduplicate snapshots and group feedback by reviewProductId or variant. The Actor itself does not retain cross-run state, send alerts or identify only-new reviews.

Connect the dataset to Make, Zapier or a spreadsheet workflow after checking terminal success. For large exports, process full files outside an LLM context. Keep personal data access limited to the intended research team.

API usage

Set APIFY_TOKEN in your own secure environment. Never put it in a shared URL or source file.

curl -X POST \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
'https://api.apify.com/v2/acts/automation-lab~flipkart-product-reviews-scraper/runs' \
--data @input.json

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/flipkart-product-reviews-scraper').call(input);
if (run.status !== 'SUCCEEDED') throw new Error(`Partial/failed export: ${run.id}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems({ limit: 25 });
console.log(items);

Python:

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/flipkart-product-reviews-scraper').call(run_input=actor_input)
if run['status'] != 'SUCCEEDED':
raise RuntimeError('Export did not finish successfully: ' + run['id'])
rows = client.dataset(run['defaultDatasetId']).list_items(limit=25).items

For asynchronous starts, retain the returned run ID and inspect that same run until terminal. A run object is metadata, not review rows.

MCP setup

For Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/flipkart-product-reviews-scraper"

Claude Desktop, Cursor and VS Code configuration (for clients supporting remote HTTP MCP):

{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=automation-lab/flipkart-product-reviews-scraper"}}}

Authenticate using the client's supported Apify authorization flow. This scoped endpoint selects this Actor and supporting run/data tools, not exactly one tool. Discover actual names and schemas with read-only tools/list before invocation.

Example prompt: “Export at most 25 public reviews from this full Flipkart product URL. Show ratings, review text and variant context. Do not generate sentiment labels.”

Start once and retain the run/status/storage IDs. If using call-actor, choose waitSecs within 0–45 seconds and set client timeout above that wait plus transport margin. If still running, poll get-actor-run for the same ID with 2/4/8-second backoff capped at 10 seconds and a 120-second overall deadline. On timeout, check the known run instead of restarting; if its ID is unknown, report uncertainty. At the deadline, report pending and stop.

After success, use get-dataset-items with explicit dataset ID, offset, limit and needed fields. Example consumer budget: pages of 20 untransformed source rows, at most 100 rows and 64 KiB serialized UTF-8 admitted to model context. Enforce byte limits host-side, disclose omitted/oversized rows, track source offsets and report continuation offset when truncated. If the client cannot intercept oversized responses, do not claim a hard byte guarantee. Full exports remain in storage. Discovery/cache behavior depends on the client; no numeric token savings are promised.

Legality

Use public review data only for purposes permitted by applicable law and source terms. You remain responsible for your use and downstream processing. This is not legal advice or permission to bypass access restrictions.

Privacy, retention and responsible use

Only public product review data is collected. Displayed reviewer names can be personal data; collect only for a lawful purpose, respect source terms and applicable law, and avoid profiling sensitive traits or contacting reviewers. This Actor is not affiliated with or endorsed by Flipkart or Apify. It uses Apify's standard user terms, with no additional end-user terms.

The Actor uses no AI at runtime and sends no review dataset to a model provider. Apify hosts inputs, datasets, run logs and summary records under your account's retention settings; the Actor does not create a private historical cache or fixed global dataset. Delete run storage through Apify when it is no longer needed, and separately delete downloaded/downstream copies. Account backups can follow platform retention policies.

Failed operations send sanitized diagnostic input, exceptions and Actor/build/run IDs to our private GlitchTip service for repair; secret fields and URL queries are removed and reports are retained for 30 days. Successful review bodies and reviewer names are not logged or included in deliberate diagnostic payloads. Diagnostic records are separate from your Apify dataset deletion.

Troubleshooting and FAQ

Why are there fewer reviews than maxItems? The page cap, available public reviews, spending cap or upstream coverage may be smaller. Raise the page cap only when more pages are needed.

Why does a Black product show Blue reviews? Flipkart shares review feeds across variants. Check reviewProductId and variant; this is not a claim that all reviews match the requested variant.

Can I get only recent reviews or filter by rating? Not in this version. Extra source URL parameters do not activate filters. Filter exported rows downstream, understanding that the snapshot starts in default helpfulness order.

What does a blocked-page error mean? The source did not return recognizable public review data. Check the full URL and retry later; repeated failures should be reported through the Actor's Apify Issues tab with a run link and a non-sensitive input example.

This is a standalone Flipkart review dataset tool, not a product-listing scraper. Pair it with your existing product inventory and analytics pipeline; no additional Actor is required. Report bugs through the Apify Issues tab. Do not submit credentials, cookies or private customer data in a public issue.