Amazon Bestsellers Scraper
codemaster devops · @codemasterdevops
Capture Amazon Best Sellers rankings and displayed prices by category.

About
What does Amazon Bestsellers Scraper do?
Amazon Bestsellers Scraper captures ranked product listings from public Amazon Best Sellers pages. Use it for category research, competitor monitoring, and snapshots of displayed prices over time.
What Amazon Best Sellers data can you extract?
Each dataset row represents one product listing in one category.
positionis the product’s 1-based position in the captured category results.categoryandcategoryUrlidentify the category page.namecontains the product title.priceandcurrencycontain the displayed price and currency when available.numberOfOfferscontains the parsed offer count or defaults to 1 when the page supplies no count.urlandthumbnailcontain the product link and thumbnail URL when available.
How to use Amazon Bestsellers Scraper
- Paste one or more public Amazon Best Sellers category URLs into
categoryUrls. To discover categories from a marketplace landing page, clearcategoryUrlsand choosedomain. - Use
depthOfCrawl: 1for the starting categories or2to follow another level of category links. - Set
maxItemsPerCategoryto control how many rows each category can save. Run the actor, open its dataset, and export JSON or CSV.
Example input
{
"categoryUrls": [
{ "url": "https://www.amazon.com/best-sellers-books-Amazon/zgbs/books/" }
],
"depthOfCrawl": 1,
"maxItemsPerCategory": 5,
"proxy": { "useApifyProxy": false }
}
Example dataset row
{
"position": 1,
"category": "Amazon Best Sellers: Best Books",
"categoryUrl": "https://www.amazon.com/best-sellers-books-Amazon/zgbs/books/",
"name": "Dog Man: A Sprinkle in Time: A Graphic Novel (Dog Man #15): From the Creator of Captain Underpants (15)",
"price": 10.97,
"currency": "$",
"numberOfOffers": 1
}
Coverage and limits
The marketplace selector includes Amazon US, UK, Germany, France, Spain, and Italy. Amazon determines which products and prices appear for the connection’s location. The actor visits up to two pages per category and saves up to the requested cap. Omit the cap to collect all rows the actor can read within those pages. A cap of 0 saves no rows.
The actor reads public category pages directly and requires no Amazon login or API key. Amazon can restrict automated access or change page layouts. If a category fails after retries, the run reports a failure and the dataset can still contain rows saved for other categories.
FAQ
- What does the actor collect?
- It collects Amazon Best Sellers listing positions, product titles, categories, product links, thumbnails, and displayed prices when available.
- How do I scrape one category?
- Add its public Amazon Best Sellers URL to categoryUrls, set depthOfCrawl to 1, and choose a small maxItemsPerCategory for your first run.
- Can I scrape several categories in one run?
- Yes. Add one URL entry per category to categoryUrls. The row cap applies separately to each category.
- Which Amazon marketplaces are in the selector?
- The domain selector includes the US, UK, Germany, France, Spain, and Italy. Clear categoryUrls to use the selected marketplace's Best Sellers landing page.
- How do I include subcategories?
- Set depthOfCrawl to 2 to follow one more level of category links exposed by Amazon.
- Will I always get the number of rows I request?
- The maxItemsPerCategory value is an upper limit. The actor reads up to two pages per category, and Amazon can show fewer available listings.
- Why is a price missing or in a different currency?
- The actor saves the price and currency shown on the page when it can parse them. Amazon can hide a price or display one based on the connection location.
- Does the actor need an Amazon account or API key?
- No Amazon account or API key is required. The actor reads public pages and connects directly by default. A compatible custom proxy is optional.
- How do I export my data?
- Open the run's default dataset to export JSON or CSV, or read the dataset through the Bytewells API.
- How much does it cost?
- The monthly rental is $19.99 with a 3-day trial. Bytewells compute is billed separately. Your proxy provider bills any custom proxy usage.
Input
Preview of the input form. Rent the Actor to fill it in and start runs from the console.
Fields
domainSelect the URL of the Amazon Best Sellers page you want to extract. The value is ignored if 'categoryUrls' is specified instead
categoryUrlsChoose specific categories to scrape. If this field is empty, top level results are chosen.
depthOfCrawlUse 1 for the selected categories or 2 to also follow another level of category links.
maxItemsPerCategoryCap rows per category across the first two pages. Omit for no cap within those pages, or use 0 to save no rows.
proxyConnect directly by default or supply compatible proxy URLs. Apify Proxy settings require access to Apify Proxy.
API
Bytewells speaks the Apify API. Existing integrations keep working: point apify-client at https://bytewells.com/api and use your Bytewells API token (Console → Settings → API access). The Actor ID is codemasterdevops/amazon-bestsellers-crawler (or codemasterdevops~amazon-bestsellers-crawler in URLs).
JavaScript · apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.BYTEWELLS_TOKEN,
baseUrl: 'https://bytewells.com/api',
});
const input = {
"domain": "https://www.amazon.com/Best-Sellers/zgbs",
"categoryUrls": [
{
"url": "https://www.amazon.com/best-sellers-books-Amazon/zgbs/books/"
}
],
"depthOfCrawl": 1,
"maxItemsPerCategory": 20,
"proxy": {
"useApifyProxy": false
}
};
const run = await client.actor('codemasterdevops/amazon-bestsellers-crawler').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Python · apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["BYTEWELLS_TOKEN"], api_url="https://bytewells.com/api")
run_input = {
"domain": "https://www.amazon.com/Best-Sellers/zgbs",
"categoryUrls": [
{
"url": "https://www.amazon.com/best-sellers-books-Amazon/zgbs/books/"
}
],
"depthOfCrawl": 1,
"maxItemsPerCategory": 20,
"proxy": {
"useApifyProxy": False
}
}
run = client.actor("codemasterdevops/amazon-bestsellers-crawler").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)HTTP · curl
curl -X POST "https://bytewells.com/api/v2/acts/codemasterdevops~amazon-bestsellers-crawler/runs" \
-H "Authorization: Bearer $BYTEWELLS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain":"https://www.amazon.com/Best-Sellers/zgbs","categoryUrls":[{"url":"https://www.amazon.com/best-sellers-books-Amazon/zgbs/books/"}],"depthOfCrawl":1,"maxItemsPerCategory":20,"proxy":{"useApifyProxy":false}}'Runs are billed as compute from your credit balance. Paid Actors need an active rental or trial; otherwise the API answers 402 rental-required.
Related
More Actors from the same publisher.

Best Buy Products Scraper
codemaster devops · @codemasterdevops
Extract Best Buy product names, SKUs, available prices, images, and US reviews for catalog research and price tracking.
E-commerceAutomationDeveloper tools$19.99/mo3-day free trial
Shopify Products Scraper
codemaster devops · @codemasterdevops
Export public Shopify prices, SKUs, stock status, options, and images in one row per variant. Compare catalogs across stores.
E-commerceAutomationDeveloper toolsUsage-based
ZOOT Product Scraper
codemaster devops · @codemasterdevops
Extract ZOOT product names, prices, sizes, availability, and image URLs from category and product pages for fashion catalog research.
E-commerceAutomation$19.99/mo3-day free trial
Google Trending Now Scraper – Trending Searches by Country
codemaster devops · @codemasterdevops
Get current Google trending searches, approximate search traffic, and news links. Monitor up to 10 countries per run without a Google API key.
SEO toolsMarketingAutomationUsage-based
HTML String to PDF - A4 Document Converter
codemaster devops · @codemasterdevops
Convert an HTML string into a downloadable A4 PDF with page numbers for reports, invoices, and other templated documents.
Developer toolsAutomation$19.99/mo3-day free trial
JSON-LD Tag Extractor for Schema.org Audits
codemaster devops · @codemasterdevops
Extract JSON-LD structured data from a list of URLs. Export parsed Schema.org markup for technical SEO audits and data pipelines.
SEO toolsDeveloper toolsAutomation$19.99/mo3-day free trial