# Amazon Bestsellers Scraper: Top 100 Best Sellers, 10 Countries (`themineworks/amazon-bestsellers-scraper`) Actor

Scrape Amazon Best Sellers and New Releases, the top 100 of any category on amazon.com, .co.uk, .de, .fr, .it, .es, .ca, .in, .co.jp and .com.au: rank, ASIN, title, price, rating, ratings count, image and link. Optional subcategory walk. No login. Pay per item.

- **URL**: https://apify.com/themineworks/amazon-bestsellers-scraper.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** E-commerce, Business, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.49 / 1,000 ranked products

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Amazon Bestsellers Scraper: Top 100 Best Sellers, 10 Countries

[![400 Amazon best sellers from 2 countries in 71 seconds](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/amazon-bestsellers-scraper-hero.png)](https://console.apify.com/actors/8vsvbaTfNqdJ6o1Ps/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with over 140,000 runs across 170+ public actors.

### Why choose this actor?

- **The full top 100, not the first 30.** Amazon's Best Sellers page only renders 30 items until you scroll. This actor reads the page the way a visitor's browser does and returns all 100 ranks of every list. Our final test run returned 400 of 400 items from 4 lists in 71 seconds, ranks 1 to 100 with no gaps.
- **10 Amazon sites, Best Sellers and New Releases, any category.** amazon.com, .co.uk, .de, .fr, .it, .es, .ca, .in, .co.jp and .com.au all answered in our tests. Paste a list link, type a category path, or ask for every department of a site in one run. No Amazon account, no cookies, no proxy to set up.
- **You only pay for ranked items you receive.** A refused page, an empty list, a wrong category path and an item without a title are never charged. Every list gets a status line in the run summary, so an empty result always says why.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/8vsvbaTfNqdJ6o1Ps/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works E-commerce and marketplaces family:** [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [AliExpress Scraper](https://apify.com/themineworks/aliexpress-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Kleinanzeigen.de Scraper](https://apify.com/themineworks/kleinanzeigen-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### Try it in one minute

Paste this into the input (JSON view) and press Start. It returns the top 50 Best Sellers in Electronics on amazon.com in about 10 seconds:

```json
{
  "categories": ["https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"],
  "maxItemsPerList": 50
}
```

Each line of `categories` can be:

- a **Best Sellers link** such as `https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/` or `https://www.amazon.co.uk/gp/bestsellers/books/`, with or without `/ref=...` and `?pg=2`;
- a **New Releases link** such as `https://www.amazon.de/gp/new-releases/ce-de/`;
- a **subcategory link** such as `https://www.amazon.com/Best-Sellers-Electronics-Computers-Accessories/zgbs/electronics/541966/`;
- a **category path** read on the `marketplace` you choose: `electronics`, `books`, `kitchen`, or a subcategory by its node id, `electronics/281407`;
- `all`, or the all departments page `https://www.amazon.com/gp/bestsellers/`, for every department of a site.

A link keeps its own site and its own list. Mix links from different Amazon sites freely in one run.

Apify's free plan includes $5 of credit every month, which covers about 1,200 results at this actor's price.

#### Copy to your AI assistant

```text
themineworks/amazon-bestsellers-scraper on Apify. Scrapes Amazon Best Sellers and New Releases lists, the top 100 items of any category on amazon.com, .co.uk, .de, .fr, .it, .es, .ca, .in, .co.jp and .com.au, one row per ranked item with rank, ASIN, title, price, currency, rating, ratings count, image and link. Call ApifyClient("TOKEN").actor("themineworks/amazon-bestsellers-scraper").call(run_input={"categories": ["https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"], "maxItemsPerList": 100}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: categories (Best Sellers or New Releases links, or category paths such as "electronics" or "electronics/281407", or "all"). Optional: marketplace (site for category paths, default "amazon.com"), listType ("bestsellers", "new-releases" or "both", default "bestsellers"), maxItemsPerList (default 100, 50 to 100), subcategoryDepth (default 0, 0 to 3), maxCategoryLists (default 50, 1 to 1000). Full spec: GET https://api.apify.com/v2/acts/themineworks~amazon-bestsellers-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **24 fields per item**: rank, ASIN, title, price, currency, the price as shown, lowest offer count, star rating, number of ratings, author and format for books, full size image, product link, plus the marketplace, list, category name, category path, node id, breadcrumb and list link on every row.
- **All 100 ranks**: page 1 (#1 to #50) and page 2 (#51 to #100), including the items Amazon only loads as you scroll (#31 to #50 and #81 to #100). Choose 50 to 100 items per list.
- **Best Sellers and New Releases**: one list, the other, or both for every category in one run.
- **Subcategory walk**: set `subcategoryDepth` to 1, 2 or 3 and the actor follows Amazon's own category menu down, reading each subcategory's top 100 too. `maxCategoryLists` caps the run (default 50 lists).
- **Every department at once**: `all` reads the department menu of a site (40 departments on amazon.com, 31 on amazon.co.jp in our tests) and the top list of each.
- **A run summary you can audit**: the `OUTPUT` record lists every list's status, pages read, attempts, subcategories found, and the share of page loads each marketplace answered.

### How to use it

#### Basic: one category's top 100

```json
{
  "categories": ["https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"]
}
```

#### Several categories and sites at once

Links keep their own site. Paths are read on `marketplace`. This run reads Books on amazon.co.uk and Home & Kitchen on amazon.in, Best Sellers and New Releases of each, 400 items in all:

```json
{
  "categories": [
    "https://www.amazon.co.uk/Best-Sellers-Books/zgbs/books/",
    "kitchen"
  ],
  "marketplace": "amazon.in",
  "listType": "both",
  "maxItemsPerList": 100
}
```

#### Job: daily rank tracking for your category

Read the same lists every morning and compare `rank` by `asin` from day to day. Save this input as a task and add a daily schedule (Console > Schedules). Each row carries `scraped_at`, so you can stack the runs in one sheet.

```json
{
  "categories": [
    "https://www.amazon.com/Best-Sellers-Kitchen-Dining/zgbs/kitchen/",
    "https://www.amazon.com/Best-Sellers-Electronics-Headphones/zgbs/electronics/172541/"
  ],
  "maxItemsPerList": 100
}
```

#### Job: compare one category across countries

Product research and expansion planning: which items lead the same category in the US, the UK, Germany and Japan. Use links from each site (category paths differ between sites, see the FAQ).

```json
{
  "categories": [
    "https://www.amazon.com/gp/bestsellers/electronics/",
    "https://www.amazon.co.uk/gp/bestsellers/electronics/",
    "https://www.amazon.de/gp/bestsellers/ce-de/",
    "https://www.amazon.co.jp/gp/bestsellers/electronics/"
  ],
  "maxItemsPerList": 100
}
```

#### Job: spot new products early

New Releases ranks the best selling items that came out recently. A weekly run on your categories shows which new products are taking off before they reach the main Best Sellers list.

```json
{
  "categories": ["books", "toys-and-games", "beauty"],
  "marketplace": "amazon.com",
  "listType": "new-releases"
}
```

#### Job: map a whole department, subcategory by subcategory

`subcategoryDepth: 1` reads the department and every subcategory in its menu (Electronics on amazon.com has 18), each with its own top 100. Raise `maxCategoryLists` to fit; 2 and 3 levels grow fast.

```json
{
  "categories": ["electronics"],
  "marketplace": "amazon.com",
  "subcategoryDepth": 1,
  "maxCategoryLists": 20
}
```

#### Job: a snapshot of every department on one site

```json
{
  "categories": ["all"],
  "marketplace": "amazon.co.uk",
  "maxItemsPerList": 50,
  "maxCategoryLists": 50
}
```

### Input parameters

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `categories` | array of strings | `["https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"]` | One category per line: a Best Sellers or New Releases link from a supported Amazon site, a category path (`electronics`, `books`, `electronics/281407`) read on `marketplace`, or `all` for every department. Required. |
| `marketplace` | string | `amazon.com` | The site that category paths are read on: `amazon.com`, `amazon.co.uk`, `amazon.de`, `amazon.fr`, `amazon.it`, `amazon.es`, `amazon.ca`, `amazon.in`, `amazon.co.jp` or `amazon.com.au`. Links keep their own site. |
| `listType` | string | `bestsellers` | `bestsellers`, `new-releases` or `both`. Applies to category paths. A link is read as the list it shows; `both` also adds the other list for every link. |
| `maxItemsPerList` | integer | `100` | Items to read from each list, from #1 down. 50 to 100. Amazon shows the top 100 on two pages of 50. |
| `subcategoryDepth` | integer | `0` | 0 reads only the categories you give. 1 also reads every subcategory in Amazon's category menu under each of them; 2 and 3 go further down. |
| `maxCategoryLists` | integer | `50` | Upper limit on the lists one run reads, given ones and subcategories together. 1 to 1,000. |

### What data do you get?

One row per ranked item per list. The same product in two lists (Best Sellers and New Releases, or two categories) gives two rows, each with its own rank.

**The item**: `rank`, `asin`, `title`, `price`, `price_max` (only for a price range), `currency`, `price_text`, `offer_count`, `rating`, `review_count`, `byline` (author or brand line, mostly books), `format` (Paperback, Hardcover, Kindle Edition), `image_url`, `product_url`, `page`.

**The list**: `marketplace`, `list_type`, `list_name`, `category_name`, `category_path`, `category_node_id` (subcategories only), `category_breadcrumb`, `category_url`, `scraped_at`.

How full the fields were in our final test run (400 rows from 4 lists):

| Field | Filled | Why not always |
|---|---|---|
| `rank`, `asin`, `title`, `image_url`, `product_url` | 100% | |
| `price`, `currency`, `price_text` | 98% | Amazon shows no price on the list for a few items (a subscription plan, an item with no current offer). |
| `rating`, `review_count` | 72% | New releases often have no ratings yet (12 of 100 in UK Books New Releases had any; Home & Kitchen lists on amazon.in had 98 to 100). |
| `byline`, `format` | 45% to 48% | Books and media only: 87% to 99% on the two Books lists, none on Home & Kitchen. |
| `offer_count` | 2% | Only when Amazon shows "N offers from"; this varies by site and visit (48 of 50 items on one amazon.ca page in our tests, 8 of 400 in this run). |

#### Stable fields for automations

These fields were present in every row of our test runs and their names will not change:

| Field | Meaning |
|---|---|
| `marketplace` | Amazon site, for example `amazon.co.uk` |
| `list_type` | `bestsellers` or `new-releases` |
| `list_name` | `Best Sellers` or `New Releases` |
| `category_name` | Category as Amazon names it, for example `Books` |
| `category_path` | Category path, for example `books` or `ce-de/273647011` |
| `category_breadcrumb` | Parent categories and the category, for example `Camera & Photo > Camcorders` |
| `category_url` | The list's page on Amazon |
| `rank` | Position in the list, 1 to 100 |
| `asin` | Amazon product id (ISBN 10 for many books) |
| `title` | Product title as the list shows it |
| `image_url` | Full size product image |
| `product_url` | `https://www.<marketplace>/dp/<asin>` |
| `page` | 1 for ranks 1 to 50, 2 for 51 to 100 |
| `scraped_at` | When the list was read, ISO 8601 UTC |

#### Output examples

Real rows from our test runs on 5 October 2026, unchanged.

**Best Sellers, a book on amazon.co.uk** (author and format filled):

```json
{
  "marketplace": "amazon.co.uk",
  "list_type": "bestsellers",
  "list_name": "Best Sellers",
  "category_name": "Books",
  "category_path": "books",
  "category_breadcrumb": "Books",
  "category_url": "https://www.amazon.co.uk/gp/bestsellers/books/",
  "rank": 1,
  "asin": "1035065517",
  "title": "Gruffalo Granny: The brand new Gruffalo picture book adventure: 3 (The Gruffalo, 3)",
  "price": 7.48,
  "currency": "GBP",
  "price_text": "£7.48",
  "rating": 4.5,
  "review_count": 655,
  "byline": "Julia Donaldson",
  "format": "Hardcover",
  "image_url": "https://images-eu.ssl-images-amazon.com/images/I/91WqizdsBbL.jpg",
  "product_url": "https://www.amazon.co.uk/dp/1035065517",
  "page": 1,
  "scraped_at": "2026-10-05T17:46:24.439Z"
}
```

**New Releases on amazon.in, rank 83** (page 2, one of the items Amazon only loads as you scroll):

```json
{
  "marketplace": "amazon.in",
  "list_type": "new-releases",
  "list_name": "New Releases",
  "category_name": "Home & Kitchen",
  "category_path": "kitchen",
  "category_breadcrumb": "Home & Kitchen",
  "category_url": "https://www.amazon.in/gp/new-releases/kitchen/",
  "rank": 83,
  "asin": "B0H5WWL9KT",
  "title": "TASMAX Ceramic Grater Plate for Baby Food Garlic Grater Crusher for Kitchen",
  "price": 299,
  "currency": "INR",
  "price_text": "₹299.00",
  "rating": 4.2,
  "review_count": 84,
  "image_url": "https://images-eu.ssl-images-amazon.com/images/I/61KdwjrwT9L.jpg",
  "product_url": "https://www.amazon.in/dp/B0H5WWL9KT",
  "page": 2,
  "scraped_at": "2026-10-05T17:46:35.535Z"
}
```

**A subcategory found by the subcategory walk on amazon.de** (node id, breadcrumb from Amazon's menu, lowest of 42 offers):

```json
{
  "marketplace": "amazon.de",
  "list_type": "bestsellers",
  "list_name": "Best Sellers",
  "category_name": "Camcorders",
  "category_path": "ce-de/273647011",
  "category_node_id": "273647011",
  "category_breadcrumb": "Camera & Photo > Camcorders",
  "category_url": "https://www.amazon.de/gp/bestsellers/ce-de/273647011/",
  "rank": 1,
  "asin": "B0CG19QXWD",
  "title": "DJI Osmo Pocket 3 Vlogging Camera with 1-Inch CMOS and 4K/120fps Video, 3-Axis Stabilization, Fast Focus, Face/Object Tracking, Small Video Camera for Photography | 3-Achsen-Stabilisierung, schnelles Scharfstellen, Gesichts-/Objektverfolgung, kleine Videokamera für Fotografie, YouTube",
  "price": 276.48,
  "currency": "EUR",
  "price_text": "€276.48",
  "offer_count": 42,
  "rating": 4.6,
  "review_count": 10504,
  "image_url": "https://images-eu.ssl-images-amazon.com/images/I/61tukvVUMiL.jpg",
  "product_url": "https://www.amazon.de/dp/B0CG19QXWD",
  "page": 1,
  "scraped_at": "2026-10-05T17:46:00.058Z"
}
```

### Pricing

Pay per event: you pay for the ranked item rows you receive, plus a flat $0.005 per run, whatever memory you choose.

| Event | When it is charged | Free plan | Bronze (Starter) | Silver (Scale) | Gold (Business) |
|---|---|---|---|---|---|
| `item-scraped` | Once per item row stored in your dataset | $3.99 per 1,000 | $3.49 per 1,000 | $2.99 per 1,000 | $2.49 per 1,000 |
| `run-start` | Once per run, when it starts | $0.005 | $0.005 | $0.005 | $0.005 |

The price per single item is the price per 1,000 divided by 1,000. A full list of 100 items is 100 events.

Never charged:

- pages Amazon refused, and lists the run could not read;
- empty lists, wrong category paths, and the all departments page itself (only the department lists it leads to);
- an item that shows no title, and a second copy of an item already delivered for the same list;
- the info row at the end of a run;
- anything past your "Max cost per run": the actor stops delivering when your limit is reached instead of sending rows for free.

### FAQ

#### What exactly does this actor read?

Amazon's public Best Sellers and New Releases pages, the same pages anyone sees without signing in. Each list holds the top 100 items of a category on two pages of 50. Amazon renders the first 30 items of a page (sometimes all 50) and loads the rest as you scroll; the actor makes that same follow up request from the same connection, so you get every rank from 1 to 100 without a browser.

#### Which Amazon sites and lists are supported?

amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.ca, amazon.in, amazon.co.jp and amazon.com.au, each with Best Sellers and New Releases. Amazon's Best Sellers pages now only offer those two lists. Links to Movers and Shakers, Most Wished For and Gift Ideas are still accepted, but in every category and site we tried on 5 October 2026 Amazon answered that there are no items available, so the actor reports that list as empty in the run summary and charges nothing for it.

#### How do I find a category path?

Open the category's Best Sellers page and look at the address: the path is the part after `/zgbs/` or `/gp/bestsellers/`, for example `electronics` or `electronics/281407`. Paths differ between sites: Electronics is `ce-de` on amazon.de, and `kitchen` is Kitchen & Dining on amazon.com but Home & Kitchen on amazon.in. When in doubt, paste the link instead of the path. A path a site does not have comes back as `not_found` in the run summary, with no charge.

#### How many items can I get, and how long does it take?

Up to 100 per list. To get more, add categories, read both lists, walk subcategories (`subcategoryDepth`), or use `all` for every department of a site; `maxCategoryLists` allows up to 1,000 lists in one run. One list of 100 took 22 seconds in our tests; four lists of 100 took 34 to 89 seconds (three lists are read at a time; a slow or refused page adds time).

#### How fresh is the data?

Every run reads the lists live. Amazon's list pages say the rankings are updated frequently (hourly, on amazon.co.jp), so a run is a snapshot at `scraped_at`. For a history of ranks, schedule the actor and keep each run's rows.

#### Why is the price, rating or author missing on some items?

The actor returns what the list shows. A few items have no price on the list (subscription plans, items with no current offer), new releases often have no ratings yet, and the author and format lines only exist for books and media. Missing fields are left out of the row rather than filled with zero. When Amazon shows "N offers from", `price` is that lowest offer and `offer_count` is N. For full product details (seller, features, Best Sellers Rank text), run our [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) on the ASINs.

#### Which language and currency do I get?

Pages are read in English. On amazon.de, .fr, .it, .es and .co.jp, Amazon shows its English title where it has one and the local title otherwise (some titles mix both). Prices are in the site's own currency: `currency` gives the ISO code, so the `$` of amazon.ca is `CAD` and the `$` of amazon.com.au is `AUD`.

#### Do I need an Amazon account, cookies or a proxy?

No account, no cookies and nothing to set up. The actor uses Apify's datacenter proxy automatically. Now and then Amazon answers a connection with its CAPTCHA page; the actor never solves it, it drops that connection and loads the page again on a new one. In our tests on 5 October 2026 that happened on 3 of about 80 page loads, and every list still came back complete.

#### What happens with a wrong link or an empty list?

Nothing is charged for it. The run summary (the `OUTPUT` record in the run's key-value store) gives each list a status such as `ok`, `partial`, `not_found`, `amazon_shows_no_items` or `blocked`, with the reason. A run that delivers nothing also ends with one info row that says why.

#### Can I track rankings over time?

Yes. Save your input as a task, add a schedule (daily or hourly), and compare `rank` by `asin` and `category_path` between runs. Each run returns the full list again, so items that drop out of the top 100 are visible as missing.

#### Which formats can I download?

JSON, CSV, Excel, XML, RSS and an HTML table, from the run's dataset in Console or through the API.

#### Can I use it from Claude, ChatGPT or Cursor (MCP)?

- Connector URL: https://mcp.apify.com/?tools=themineworks/amazon-bestsellers-scraper
- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code: `claude mcp add -t http amazon-bestsellers-scraper "https://mcp.apify.com/?tools=themineworks/amazon-bestsellers-scraper"`

#### Is it legal to scrape Amazon Best Sellers?

The actor only reads product rankings that Amazon shows publicly to anyone without signing in; the rows hold product data, not personal data. You are responsible for how you use the data, for Amazon's terms, and for data protection law such as GDPR and CCPA. If in doubt, ask a lawyer about your use case.

### Integrations

- **Google Sheets**: send each run's rows to a sheet with Apify's Google Sheets integration, or import the CSV link of the dataset.
- **Make, Zapier and n8n**: start the actor and read its dataset with the Apify apps and nodes, for example "new #1 in my category to Slack".
- **Webhooks**: have Apify call your URL when a run succeeds, then fetch the dataset.
- **API and SDKs**: run it from Python or JavaScript with the Apify client, or with a plain HTTP call (see "Copy to your AI assistant" above).
- **MCP clients**: Claude, ChatGPT, Cursor and VS Code can run it as a tool through the connector URL in the FAQ.

### More from The Mine Works

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [AliExpress Scraper](https://apify.com/themineworks/aliexpress-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Kleinanzeigen.de Scraper](https://apify.com/themineworks/kleinanzeigen-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Carsales.com.au Scraper](https://apify.com/themineworks/carsales-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [eBay Product Listings Scraper](https://apify.com/themineworks/ebay-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Shopify Store Scraper](https://apify.com/themineworks/shopify-store-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [🛒 TikTok Shop Scraper](https://apify.com/themineworks/tiktok-shop-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Walmart Product & Price Scraper](https://apify.com/themineworks/walmart-product-price-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Vinted Scraper](https://apify.com/themineworks/vinted-listings-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [OpenAlex Scraper](https://apify.com/themineworks/openalex-scholarly-works?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [SEC EDGAR Filings Scraper](https://apify.com/themineworks/sec-edgar-filings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [G2 Reviews Scraper](https://apify.com/themineworks/g2-reviews-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naver Blog Scraper](https://apify.com/themineworks/naver-blog-posts-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [WeChat Article Scraper 微信公众号文章](https://apify.com/themineworks/wechat-article-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Taobao Products Scraper 淘宝 天猫](https://apify.com/themineworks/taobao-products-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### Support

Found a list that should work and does not? Open an issue in the Issues tab with the link and the run ID, and we will look at it. For another Amazon site, a new source or a field you need, email dmineworks@gmail.com.

*Paste Amazon Best Sellers links or category paths from 10 Amazon sites and get the full top 100 of each list back as clean rows with rank, ASIN, title, price, rating and link.*

# Actor input Schema

## `categories` (type: `array`):

One category per line. Either a link to an Amazon Best Sellers or New Releases page on amazon.com, .co.uk, .de, .fr, .it, .es, .ca, .in, .co.jp or .com.au (for example https://www.amazon.de/gp/new-releases/ce-de/), read as the list it shows on its own site; or a category path as it appears in the page address after /zgbs/ or /gp/bestsellers/ ("electronics", "books", "electronics/281407"), read on the marketplace and list chosen below. "all" or the all departments page (https://www.amazon.com/gp/bestsellers/) reads every department.

## `marketplace` (type: `string`):

The Amazon site that category paths are read on. Links keep their own site.

## `listType` (type: `string`):

Which list to read for each category path. A link is always read as the list it shows; "Both" also adds the other list for every link and path.

## `maxItemsPerList` (type: `integer`):

How many ranked items to read from each list, from #1 down. Amazon shows the top 100 (two pages of 50). Minimum 50.

## `subcategoryDepth` (type: `integer`):

0 reads only the categories you give. 1 also reads every subcategory listed in Amazon's category menu under each of them, 2 and 3 go further down. Every subcategory is its own list of up to 100 items and counts toward the list limit below.

## `maxCategoryLists` (type: `integer`):

Upper limit on how many category lists the run reads, given ones and subcategories together. One list is up to 100 items.

## Actor input object example

```json
{
  "categories": [
    "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"
  ],
  "marketplace": "amazon.com",
  "listType": "bestsellers",
  "maxItemsPerList": 100,
  "subcategoryDepth": 0,
  "maxCategoryLists": 50
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "categories": [
        "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"
    ],
    "marketplace": "amazon.com",
    "listType": "bestsellers",
    "maxItemsPerList": 100,
    "subcategoryDepth": 0,
    "maxCategoryLists": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/amazon-bestsellers-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "categories": ["https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"],
    "marketplace": "amazon.com",
    "listType": "bestsellers",
    "maxItemsPerList": 100,
    "subcategoryDepth": 0,
    "maxCategoryLists": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/amazon-bestsellers-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "categories": [
    "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"
  ],
  "marketplace": "amazon.com",
  "listType": "bestsellers",
  "maxItemsPerList": 100,
  "subcategoryDepth": 0,
  "maxCategoryLists": 50
}' |
apify call themineworks/amazon-bestsellers-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/amazon-bestsellers-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/8vsvbaTfNqdJ6o1Ps/builds/cQPZ3wdfiyqIEodv4/openapi.json
