Amazon India Reviews Scraper avatar

Amazon India Reviews Scraper

Pricing

from $2.99 / 1,000 reviews

Go to Apify Store
Amazon India Reviews Scraper

Amazon India Reviews Scraper

Scrapes public Amazon India customer reviews with direct HTML extraction and explicit access diagnostics.

Pricing

from $2.99 / 1,000 reviews

Rating

0.0

(0)

Developer

w3crawler

w3crawler

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

7 days ago

Last modified

Categories

Security

Limited permissions

Share

Collect public Amazon.in customer reviews from product or review URLs. Each saved row combines review content, rating, reviewer identity and public profile link, date and country, verified-purchase status, helpful votes, attached images, and product-level rating context when Amazon publishes it.

Get started

  1. Open the Actor Store page and select Try for free or open the Input tab.
  2. Add one or more Amazon.in product or customer-review URLs to productUrls; the Actor extracts the ASIN and requests the public review pages.
  3. Set maxReviewsPerProduct and maxPages to the depth you need; the defaults keep 10 reviews from up to 5 review pages per product.
  4. Start the Actor, open the dataset, and export the rows as JSON, CSV, or Excel. Open Run summary (OUTPUT_SUMMARY) to check the outcome and counts.

Input

productUrls is required. The other fields are optional and use the defaults below; unsupported field names and out-of-range values are rejected before requests start.

FieldTypeRequired?DefaultMeaning
productUrlsstring arrayRequiredNot suppliedAmazon.in product or review URLs. The Actor extracts the ASIN from each URL and requests its public review pages.
maxReviewsPerProductintegerOptional10Maximum live reviews to save for each product, from 1 to 50.
maxPagesintegerOptional5Maximum public review pages requested per product, from 1 to 10.
requestDelayMsintegerOptional0Delay between review-page requests, 0–10,000 ms. No retry or proxy rotation is performed.
requestTimeoutMsintegerOptional60000Timeout for each direct public request, 5,000–120,000 ms.
headlessbooleanOptionaltrueCompatibility field; this direct-only Actor does not launch a browser.
proxyConfigurationobjectOptional{}Compatibility field; this Actor never configures or uses a proxy.

Example input with the required productUrls field supplied. The remaining values are the schema defaults.

{
"productUrls": ["https://www.amazon.in/dp/B0HFWYS1SZ"],
"maxReviewsPerProduct": 10,
"maxPages": 5,
"requestDelayMs": 0,
"requestTimeoutMs": 60000,
"headless": true,
"proxyConfiguration": {}
}

The Actor reads public Amazon.in review and product pages through serialized direct HTTPS requests. It does not sign in, use a proxy, or launch a browser. headless and proxyConfiguration are retained only so older saved inputs continue to start. A URL that contains a recognizable ASIN is normalized to that ASIN; review pages are requested directly, and the product page supplies the product title and rating context.

Output

The dataset contains one row per public review saved for each requested product. Only reviews visible on the requested public pages become rows. Optional values are omitted when Amazon does not publish them; no diagnostic or placeholder rows are written.

FieldTypeAvailabilityMeaning
sourceUrlstringAlwaysProduct URL supplied in the input, normalized to the Amazon.in product page.
canonicalUrlstringAlwaysCanonical public URL for the review row.
positionintegerWhen publishedOne-based position of the row in the run output.
inputModestringWhen publishedInput path used for the row; productUrls for normal runs.
reviewIdstringAlwaysAmazon review identifier parsed from the public review page.
ratingnumberWhen publishedReview star rating, from 1 to 5.
reviewTitlestringWhen publishedReview headline with embedded star text removed.
reviewTextstringWhen publishedVisible review body text as displayed publicly.
reviewerNamestringWhen publishedPublic reviewer display name.
reviewerProfileUrlstringWhen publishedPublic Amazon profile URL for the reviewer.
reviewerProfileIdstringWhen publishedAccount identifier parsed from the reviewer profile URL.
reviewDatestringWhen publishedReview date text as displayed by Amazon.in, including the displayed country.
reviewCountrystringWhen publishedCountry parsed from the review date text, such as India.
verifiedPurchasebooleanWhen publishedWhether Amazon displays a verified-purchase badge for the review.
helpfulVotesintegerWhen publishedHelpful-vote count shown for the review.
reviewImagesstring arrayWhen publishedPublic image URLs attached to the review.
hasImagesbooleanWhen publishedWhether at least one review image URL was extracted.
reviewBodyLengthintegerWhen publishedCharacter count of the normalized review body.
productAsinstringAlwaysASIN extracted from the input URL.
productTitlestringWhen publishedProduct title shown on the public Amazon.in page.
productRatingstringWhen publishedOverall product rating text, such as 2.5 out of 5.
productRatingValuenumberWhen publishedNumeric value parsed from the overall product rating text.
totalReviewsintegerWhen publishedProduct review or rating count shown by Amazon.in.
ratingBreakdownobjectWhen publishedPercentage distribution across the five star levels as displayed.
productUrlstringWhen publishedInput product URL for the review's product.
reviewUrlstringAlwaysPublic Amazon.in URL for the individual review.
reviewPositionintegerWhen publishedOne-based position of the review on the extracted review page.
pageNumberintegerWhen publishedReview page number inferred from the request URL.
sourceDomainstringWhen publishedSource domain; amazon.in for this Actor.
localestringWhen publishedLocale associated with the Amazon.in extraction.
currencystringWhen publishedCurrency associated with the Amazon.in extraction.
scrapedAtstringAlwaysTime the review row was created, in ISO UTC.

The example below is a real saved row from the 2026-10-25 run. It is limited to fields declared in the dataset schema; no values were changed.

{
"sourceUrl": "https://www.amazon.in/dp/B0HFWYS1SZ",
"canonicalUrl": "https://www.amazon.in/gp/customer-reviews/RIUORKX7CFPDO",
"position": 3,
"inputMode": "productUrls",
"reviewId": "RIUORKX7CFPDO",
"rating": 1,
"reviewTitle": "Don't read if you have filthy money.",
"reviewText": "I usually do not write a review unless things really goes south, the airpods does not pair with the phone properly, even after one successful attempt to connect with different device only one works, it could be one unit faulty, who knows? Nevertheless spend some extra to get a better airdopes available. Manufacturer please note even after tested ok, how could your device be defective? Check the assembly line and ensure entire batch of faulty units to be discarded. It'll save you time and more growth opportunities.",
"reviewerName": "Zulfiqar Ali",
"reviewerProfileUrl": "https://www.amazon.in/gp/profile/amzn1.account.AGM6KPN75ER2DJN2PAO6TDMT2K2A?ref=cm_cr_dp_d_bdcrb_top",
"reviewerProfileId": "AGM6KPN75ER2DJN2PAO6TDMT2K2A",
"reviewDate": "Reviewed in India on 5 September 2026",
"reviewCountry": "India",
"verifiedPurchase": true,
"helpfulVotes": 3,
"reviewImages": [
"https://m.media-amazon.com/images/I/51d3eBkcJwL._SY500_.jpg"
],
"hasImages": true,
"reviewBodyLength": 519,
"productAsin": "B0HFWYS1SZ",
"productTitle": "Linston TWS Wireless Earbuds with Bluetooth, ENC Noise Cancellation, HD Calling, Touch Control, Deep Bass Sound, Fast Charging Case & Comfortable In-Ear Fit – Black",
"productRating": "2.5 out of 5",
"productRatingValue": 2.5,
"totalReviews": 30,
"ratingBreakdown": {
"fiveStar": 23,
"fourStar": 10,
"threeStar": 10,
"twoStar": 9,
"oneStar": 48
},
"productUrl": "https://www.amazon.in/dp/B0HFWYS1SZ",
"reviewUrl": "https://www.amazon.in/gp/customer-reviews/RIUORKX7CFPDO",
"reviewPosition": 3,
"pageNumber": 1,
"sourceDomain": "amazon.in",
"locale": "en-IN",
"currency": "INR",
"scrapedAt": "2026-10-25T20:40:38.289Z"
}

ratingBreakdown contains fiveStar, fourStar, threeStar, twoStar, and oneStar percentages; they describe the product, not the individual review. productRating preserves Amazon's display text, while productRatingValue is the numeric form used for filtering or charts. reviewImages contains only publicly displayed image URLs and is omitted when the review has no images. position counts saved rows across the run, whereas reviewPosition is the position on its review page.

Run summary

Run summary is stored separately from the dataset in the run's key-value store under OUTPUT_SUMMARY.

FieldMeaning
actorNameActor name recorded by the run.
actorStoreUrlPublic Store URL recorded by the run; omitted from the example below because older summaries wrote a legacy path.
sourceWebsiteAmazon site used for the run; https://www.amazon.in/.
targetKindKind of record collected; amazon_review for this Actor.
statusOverall Actor run status: SUCCEEDED or FAILED.
startedAtTime the run started, in ISO UTC.
finishedAtTime the summary was written, in ISO UTC.
requestCountNumber of public requests made.
pagesFetchedNumber of review or product pages successfully fetched.
productsRequestedNumber of product targets read from the input.
productsProcessedNumber of products that completed processing.
successfulItemsReview rows saved.
invalidReviewCountCandidate reviews skipped because required review content was missing or malformed.
diagnosticCountOperational issues recorded in the summary and log.
diagnosticItemsDiagnostic dataset rows; always 0 because the Actor writes none.
requestErrorCountRequest errors recorded for the run.
blockedCountBlocked or denied source responses.
dataAvailableWhether at least one source-backed review row was saved.
directTransportWhether direct HTTP transport was used; true for this Actor.
usedProxyWhether a proxy was used; false for this Actor.
maxReviewsPerProductReview limit used for the run.
maxPagesReview-page limit used for the run.
runStatusCanonical run status; matches status.
dataStatusCompleteness of the saved review rows.
StatusData statusMeaning
SUCCEEDEDCOMPLETEReviews were saved without an extraction problem.
SUCCEEDEDPARTIALSome reviews were saved, but a later product or page request failed.
SUCCEEDEDNO_RESULTSThe requests completed cleanly and no public review matched the limits.
FAILEDFAILEDA fatal error occurred before any usable review was saved.

Example OUTPUT_SUMMARY from the 2026-10-25 run. The saved actorStoreUrl is omitted from this display.

{
"actorName": "amazon-reviews-scraper",
"sourceWebsite": "https://www.amazon.in/",
"targetKind": "amazon_review",
"status": "SUCCEEDED",
"startedAt": "2026-10-25T20:40:35.580Z",
"finishedAt": "2026-10-25T20:40:38.465Z",
"requestCount": 2,
"pagesFetched": 2,
"productsRequested": 1,
"productsProcessed": 1,
"successfulItems": 3,
"invalidReviewCount": 0,
"diagnosticCount": 0,
"diagnosticItems": 0,
"requestErrorCount": 0,
"blockedCount": 0,
"dataAvailable": true,
"directTransport": true,
"usedProxy": false,
"maxReviewsPerProduct": 3,
"maxPages": 5,
"runStatus": "SUCCEEDED",
"dataStatus": "COMPLETE"
}

Coverage and limitations

The Actor supports Amazon.in only. It reads public review pages and the public product page for each supplied ASIN; it does not sign in, access private accounts, use a browser, use a proxy, solve CAPTCHAs, or fetch reviews from other marketplaces. A review becomes a row only when the public page exposes usable review content. Reviews hidden behind sign-in, deleted, or not present on the fetched pages are not recovered.

maxReviewsPerProduct is capped at 50 and maxPages at 10. The Actor reads pages in their displayed order and does not accept a star filter or sort option, so results are a bounded snapshot rather than every review for a popular product. Review images, helpful votes, and profile links appear only when Amazon publishes them. Product ratings and review totals can change between runs; each row reflects the pages fetched during that run.

Malformed review cards are skipped and counted in invalidReviewCount. Blocked, empty, and failed pages are recorded in logs and summary counters rather than written as dataset rows. The saved summary above is complete for its run; dataStatus reports PARTIAL when some rows are saved but a later page fails.

Usage and support

Cost depends on the number of product URLs, the review pages requested with maxPages, and the number of saved rows; each product normally needs one product-page request plus up to maxPages review-page requests. Start with one product, maxReviewsPerProduct around 10, and maxPages around 2, then inspect the dataset and summary before scaling. See the Actor's Pricing tab for current account rates.

Use the Actor Issues page to report a problem. Include the run ID, the input used, and the run summary; do not include tokens, cookies, or private data. This Actor is not affiliated with Amazon.in. Use it only for public data and in accordance with Amazon.in's terms, robots guidance, and applicable law. Reviews and reviewer profiles contain personal information; use the output only for lawful purposes and do not republish reviewer identities without a valid basis.