
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Extract public Amazon product reviews from product URLs, including the star rating, title, full text, images, and helpful votes.
Paste Amazon product URLs and get the public customer reviews as clean rows: star rating, title, text, date, country, verified-purchase flag, product variant, and review images. No Amazon account or cookies needed, and reviews cost $4.00 per 1,000.
a.co and amzn.to are followed.https://www.amazon.com/dp/B0CWXNS552.| Field | Key | What it does |
|---|---|---|
| Amazon product URLs | productUrls | Product URLs to read reviews from. The store in the URL selects the marketplace. |
| Max reviews per product | maxReviews | Stop after this many reviews per URL. Default 10. |
| Sort reviews by | sort | helpful (top reviews) or recent (most recent). |
| Filter by ratings | filterByRatings | allStars, fiveStar to oneStar, positive, or critical. |
| Newer than | reviewsCutoffDate | YYYY-MM-DD or a relative value such as 30 days. |
| Search by keywords | reviewsFilterByKeywords | Keep reviews whose title or text contains one of the words. |
| Include personal information | includeGdprSensitive | Save the reviewer name and avatar. Off by default. |
| Scrape a single product variant | reviewsUseProductVariantFilter | Ask for reviews of the variant in the URL when that listing is public. |
| Proxy configuration | proxyConfiguration | Datacenter by default, residential is used automatically if a datacenter exit is blocked. |
{
"productUrls": [
{ "url": "https://www.amazon.com/dp/B0CWXNS552" }
],
"maxReviews": 10,
"sort": "helpful",
"filterByRatings": ["allStars"],
"includeGdprSensitive": false,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": ["DATACENTER"]
}
}
One dataset row per review.
| Field | Description |
|---|---|
reviewId, reviewUrl | Review id and link. |
ratingScore | Stars from 1 to 5. |
reviewTitle, reviewDescription | Review headline and text. |
date, reviewedIn | Review date and the original "Reviewed in ..." line. |
country, countryCode | Where the review was written. |
isVerified, isAmazonVine | Verified purchase and Vine flags. |
variant, variantAttributes | Style, size, or color the reviewer bought. |
reviewImages | Image URLs attached to the review. |
productAsin, variantAsin, input | Product the review belongs to and the URL you gave. |
totalCategoryRatings, totalCategoryReviews | Counts shown by Amazon for the filter. |
userId, userProfileLink | Reviewer profile id and link. |
{
"productAsin": "B0CWXNS552",
"ratingScore": 5,
"reviewTitle": "Saved my purse/passport/wallet/ME!!",
"reviewDescription": "I was in Europe when I was going to dinner and realized I didn't have my purse ...",
"date": "2026-10-07",
"country": "United States",
"countryCode": "US",
"isVerified": true,
"isAmazonVine": false,
"reviewId": "R1ECRZ6N9OAPOC",
"reviewUrl": "https://www.amazon.com/gp/customer-reviews/R1ECRZ6N9OAPOC",
"variant": "Style: Single",
"variantAttributes": [{ "key": "Style", "value": "Single" }],
"reviewImages": [],
"position": 1,
"totalCategoryReviews": 11828,
"input": "https://www.amazon.com/dp/B0CWXNS552"
}
(Trimmed. Reviewer names and avatars appear only when includeGdprSensitive is on.)
You pay $0.004 per review saved, which is $4.00 per 1,000 reviews. Platform usage (compute and proxy) is billed on top.
Worked example: a product with 8 public reviews costs 8 × $0.004 = $0.032 in events plus about $0.005 of platform usage, around $0.037 in total.
The actor reads only what is public without signing in. You are responsible for using the data in line with Amazon's terms and applicable law.
No account. Datacenter proxy is built in and used by default.
Public product pages show only a featured set of reviews (about 8 in our tests). The full reviews listing needs an Amazon sign-in, so it is not available.
An unknown product, or a keyword or filter with no match, saves no row and is never charged: the run's status message and the OUTPUT record (failedInputs) say which URL failed and why.
Not by default. Turn on Include personal information to save names and avatars. Profile links are always saved.
Yes, from the console or through the API.
totalCategoryReviews comes from the product page and can differ from other sources.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
productUrlsarrayRequiredAmazon product URLs
Product URLs to read reviews from. Example: https://www.amazon.com/dp/B0CWXNS552. A store such as amazon.de selects that marketplace. Short links on a.co and amzn.to are followed.
maxReviewsintegerOptionaldefault 10Max reviews per product
Stop after this many reviews for each product URL.
Narrow the reviews after they are read. Overlapping star filters are saved once.
sortenumOptionaldefault "helpful"Sort reviews by
Top reviews follows the order on the public product page. Most recent reorders by date, and asks Amazon for that order when the reviews listing is public.
filterByRatingsarrayOptionaldefault ["allStars"]Filter by ratings
Keep reviews with these star ratings. All stars keeps every review.
reviewsCutoffDatestringOptionalNewer than
Keep reviews on or after this date. Use YYYY-MM-DD or a relative value such as 30 days or 3 months. Dates are compared in UTC.
reviewsFilterByKeywordsarrayOptionalSearch by keywords
Keep reviews whose title or text contains one of these words. Each word is applied together with the star filter. Example: Good, Quality.
Optional fields. The default run saves the review text without the reviewer name.
includeGdprSensitivebooleanOptionaldefault falseInclude personal information
Save the reviewer display name and avatar. Profile links are saved either way. Leave this off unless you have a reason to store names.
reviewsUseProductVariantFilterbooleanOptionaldefault falseScrape a single product variant
Ask Amazon for reviews of the variant in the product URL, such as one color or size, when that listing is public.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter addresses are the default. Residential is used automatically when a datacenter exit is blocked.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| productAsin | string | null | ASIN of the product whose reviews were read |
| ratingScore | number | null | Star rating on the review |
| reviewTitle | string | null | Review headline |
| reviewDescription | string | null | Review text |
| date | string | null | Publication date, YYYY-MM-DD |
| country | string | null | Country named in the review date line |
| isVerified | boolean | null | Verified purchase |
| reviewUrl | string | null | Review page URL |
| reviewReaction | string | null | Helpful vote count |
| variant | string | null | Variant the reviewer bought |
| reviewImages | array | null | Image URLs attached to the review |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Review | One review saved to the dataset. | $0.004 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('shelfbright/amazon-reviews-scraper').call({
"productUrls": [
{
"url": "https://www.amazon.com/dp/B0CWXNS552"
}
],
"maxReviews": 10,
"sort": "helpful",
"filterByRatings": [
"allStars"
],
"includeGdprSensitive": false,
"reviewsUseProductVariantFilter": false,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run shelfbright/amazon-reviews-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=shelfbright/amazon-reviews-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Newest five-star reviews for one Amazon product.
Reviews of a product on the German store.
Helpful reviews including reviewer profile data.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.