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

Extract public Amazon Best Seller, New Release, Movers and Shakers, Most Wished For, and Most Gifted lists with rank, price, rating, and product URL.
Get the live top products from Amazon list pages: Best Sellers, New Releases, Movers and Shakers, Most Wished For, and Most Gifted. Each row has the rank, product name, ASIN, price, star rating, review count, thumbnail, and a clean product URL. No login, and just $2 per 1,000 products.
Paste any category list URL, pick how many products you want, and export the results as JSON, CSV, or Excel.
.com, .co.uk, .de, .fr, .es, .it, and more. The domain in your URL picks the store.| Field | Type | Description |
|---|---|---|
categoryUrls | array | Best Sellers, New Releases, Movers and Shakers, Most Wished For, or Most Gifted URLs. |
maxItemsPerStartUrl | integer | Stop after this many products per category URL. At most 100 per category. |
depthOfCrawl | integer | 1 reads only your URLs. 2 also reads the linked subcategories. |
language | string | Storefront language. An unsupported choice falls back to the domain default. |
detailedInformation | boolean | Add brand, features, images, and delivery from each product page. One extra request per product. |
proxyConfiguration | object | Proxy settings. Datacenter is the default. |
{
"categoryUrls": [
"https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"
],
"maxItemsPerStartUrl": 10,
"depthOfCrawl": 1,
"detailedInformation": false,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": ["DATACENTER"]
}
}
Other list URLs follow the same shape, for example https://www.amazon.com/gp/new-releases/electronics or https://www.amazon.co.uk/gp/movers-and-shakers/.
One row per ranked product.
| Field | Description |
|---|---|
position | Rank in the list. |
name, asin, url | Product name, ASIN, and clean product URL. |
price | Value and currency symbol in the store's own currency (for example £ on amazon.co.uk, € on amazon.de), when the card shows a standard price. |
stars, reviewsCount | Star rating and rating count. |
numberOfOffers | Offer count when the list prints it, otherwise null. |
thumbnailUrl | Product thumbnail. |
categoryName, categoryFullName, categoryUrl | The list the product came from. |
subcategories | Subcategory names and URLs shown on the page. |
A trimmed item from a real run:
{
"position": 1,
"name": "Apple AirPods Pro 3 Wireless Earbuds with Active Noise Cancellation | Live Trans…",
"url": "https://www.amazon.com/dp/B0FQFB8FMG",
"asin": "B0FQFB8FMG",
"price": { "value": 199, "currency": "$" },
"numberOfOffers": null,
"stars": 4.4,
"reviewsCount": 16406,
"categoryName": "Headphones & Earbuds",
"categoryFullName": "Best Sellers in Headphones & Earbuds",
"subcategories": [
{ "categoryName": "Earbud Headphones", "categoryUrl": "https://www.amazon.com/Best-Sellers-Electronics-Earbud-In-Ear-Headphones/zgbs/el…" }
]
}
A URL that is not a list, or a category page with no ranked products, saves no row: it is listed with the reason in the run's status message and in the OUTPUT record under failedInputs. The rest of the run continues.
Each saved product row costs $0.002, which is $2.00 per 1,000 products. Platform usage (compute and proxy) is billed on top at the usual rates.
Worked example: a 10-product category costs 10 x $0.002 = $0.02 in event fees. A billed staging run of that size cost about $0.022 in total, including compute. Opening product pages, raising the limit toward 100, or crawling subcategories adds requests.
Best Sellers, New Releases, Movers and Shakers, Most Wished For, and Most Gifted on Amazon storefronts such as .com, .co.uk, .de, .fr, .es, and .it.
It reads public list pages. You are responsible for following Amazon's terms and the laws that apply to your use of the data.
The default datacenter proxy is enough for these public list pages. Switch to residential only if a page does not load.
Some list cards, such as subscription plans, do not show a standard price. The row is still saved. numberOfOffers is null because the current list page does not print offer counts.
Depth 2 opens the subcategory links shown on your start pages, then applies the same result limit to each of them. The run stops after 40 category pages.
Yes. Schedule runs, start them through the API, and read the dataset in any export format.
If you are moving from a similar bestsellers actor on another platform, category URLs can be pasted into Category URLs as they are.
OUTPUT record list them with the reason.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.
categoryUrlsarrayRequiredCategory URLs
Best Seller, New Release, Movers and Shakers, Most Wished For, or Most Gifted URLs. A different Amazon domain, such as amazon.de, selects that store.
maxItemsPerStartUrlintegerOptionaldefault 10Max results per URL
Stop after this many products for each category URL. Amazon publishes at most 100 ranks in a category.
How far to follow the category tree, and which storefront language to request.
depthOfCrawlintegerOptionaldefault 1Subcategory depth
1 reads only the URLs you pasted. 2 also reads the subcategories linked on those pages.
languageenumOptionalLanguage
Storefront language. Each Amazon domain only supports some of these. An unsupported choice falls back to that domain's default.
Leave this off for a faster list of ranks, prices, and ratings.
detailedInformationbooleanOptionaldefault falseOpen each product page
Off by default. Turn it on to add brand, features, images, and delivery from each product page. This sends one extra request per product.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter addresses are the default. Pick residential only when a category page does not load.
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 |
|---|---|---|
| position | number | Rank on the list |
| name | string | Product name from the list |
| title | string | Product title when product pages are opened |
| asin | string | Amazon Standard Identification Number |
| url | string | Product page URL |
| price | object | Current price |
| numberOfOffers | number | Offers shown on the list |
| stars | number | Average star rating |
| reviewsCount | number | Number of ratings |
| thumbnailUrl | string | Thumbnail from the list |
| categoryName | string | Short category name |
| categoryFullName | string | Heading on the list page |
| categoryUrl | string | Category list URL |
| input | string | Start URL for this row |
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 |
|---|---|---|
| Bestseller | One saved row from a bestseller list | $0.002 |
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-bestsellers-scraper').call({
"categoryUrls": [
"https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"
],
"maxItemsPerStartUrl": 10,
"depthOfCrawl": 1,
"detailedInformation": 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-bestsellers-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-bestsellers-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.
Top new book releases on amazon.com.
Best-selling kitchen products on amazon.co.uk.
Best sellers with brand, features and images.
Best sellers on amazon.de in German.
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.