# Amazon Best Sellers API

> Fetch any Amazon Best Sellers list as JSON: ranked positions with ASIN, title, price, rating and review count for every category and marketplace.

- URL: https://everydata.io/amazon-best-sellers-api
- Updated: 2026-09-20
- Publisher: everydata.io (https://everydata.io)

Amazon's Best Sellers lists are updated hourly and rank the top 100 products of every category and sub-category by recent sales. They are the closest public proxy to actual demand on the platform. The everydata.io Amazon Best Sellers API takes the URL of any of these lists – electronics, toys, a deep sub-node, on any marketplace – and returns the ranked products as JSON, position by position, so you can archive the movement of a category over time or find what is selling right now without visiting the page.

## Key facts

- Platform: [Amazon Product Data API](https://everydata.io/apis/amazon) (live)
- Main endpoint: `GET /amz/amazon-best-sellers-list`
- Quota: A call to the Amazon API counts as 1 request against the monthly quota.
- Pricing: 100 free requests a month; paid plans from €30 a month for 5,000 requests (€1.00–€6.00 per 1,000 requests). One quota is shared across all 34 platforms; failed requests (5xx, blocked pages) are not counted.

## What you get

The response is compact by design. category is the list title Amazon shows, domainCode is derived from the URL you passed, and countProducts states how many entries were parsed on the page. products is the ordered array: position is Amazon's own rank string ("#1", "#2" …), followed by productTitle, asin, price as a number, productRating, countReview, the relative product url and imgUrl.

Because the endpoint takes the list URL, it covers every list type that follows Amazon's zgbs structure – Best Sellers by department and by browse node – and works across marketplaces simply by changing the host: amazon.com, amazon.de, amazon.co.uk, amazon.co.jp and the rest. The marketplace currency follows automatically.

- Ranked positions #1–#100 with ASIN, title, price, rating, review count and image
- Works for any Best Sellers URL – top-level departments and deep sub-categories
- Category label and domainCode returned with the list for clean storage
- Two pages per list (page=1 and page=2) cover the full top 100, up to 50 products each
- Marketplace determined by the URL host: com, de, co.uk, fr, it, es, ca, co.jp, in, com.au and more
- Realtime fetch of the live list – no pre-crawled snapshot

## How it works

Call GET /amz/amazon-best-sellers-list with url set to the list as you see it in the browser, for example https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics. page is 1 or 2; Amazon splits each top-100 list into two pages of up to 50 products. Pass the URL URL-encoded in your HTTP client, and make sure it points to an amazon.<tld> host – other hosts are rejected with a 400.

```bash
curl -s "https://api.everydata.io/amz/amazon-best-sellers-list?url=https%3A%2F%2Fwww.amazon.com%2FBest-Sellers-Electronics%2Fzgbs%2Felectronics&page=1" \
  -H "x-api-key: YOUR_API_KEY"
```

Response (shortened):

```json
{
  "responseStatus": "PRODUCT_FOUND_RESPONSE",
  "responseMessage": "Product successfully found!",
  "countProducts": 30,
  "products": [
    {
      "position": "#1",
      "productRating": "4.4 out of 5 stars",
      "countReview": 280340,
      "url": "/Blink-Plus-Plan-monthly-auto-renewal/dp/B08JHCVHTY/ref=zg_bs_g_electronics_d_sccl_1/144-0603979-9778415?psc=1",
      "productTitle": "blink plus plan with monthly auto-renewal",
      "asin": "B08JHCVHTY",
      "price": 10.44,
      "imgUrl": "https://images-na.ssl-images-amazon.com/images/I/31YHGbJsldL._AC_UL300_SR300,200_.png"
    },
    {
      "position": "#2",
      "productRating": "4.5 out of 5 stars",
      "countReview": 18053,
      "url": "/Apple-EarPods-Headphones-Built-Control/dp/B0DCH8VDXF/ref=zg_bs_g_electronics_d_sccl_2/144-0603979-9778415?psc=1",
      "productTitle": "Apple EarPods Headphones with USB-C Plug, Wired Ear Buds with Built-in Remote to Control Music, Phone Calls, and Volume",
      "asin": "B0DCH8VDXF",
      "price": 15.3,
      "imgUrl": "https://images-na.ssl-images-amazon.com/images/I/513OSdW4elL._AC_UL300_SR300,200_.jpg"
    }
  ],
  "category": "Amazon Best Sellers",
  "domainCode": "com",
  "currentPage": 1
}
```

countProducts can be lower than 50 – Amazon renders the first 30 tiles of a page server-side and lazy-loads the remainder, and the API returns what the page delivered at fetch time. If a rank you care about is missing, fetch the same page again or request page 2, where the list continues at #51. Store position as given; it is the authoritative rank even when the array has gaps.

The url of each product includes Amazon's tracking ref (zg_bs_g_electronics …) and a session segment. For canonical storage extract the ASIN and rebuild https://www.amazon.com/dp/<ASIN>. price is the price shown on the list tile; for items with multiple variations Amazon sometimes shows a range, in which case the lower bound is returned.

Best Sellers lists refresh roughly hourly. Fetching a list every hour therefore captures every published state, while a daily fetch is enough for most trend analyses. The same endpoint also accepts sub-category URLs such as /zgbs/electronics/172541 – the deeper the node, the more actionable the ranking for a specific niche.

## What teams build with this

### Trend and demand research

Archive the top 100 of the categories you sell in every day, then compute how long products stay in the list and which new ASINs are climbing fastest.

### Product sourcing for private-label brands

Scan deep sub-category lists across amazon.com, .de and .co.uk for products with high rank but moderate review counts – the classic signal for an under-served niche.

### Competitor rank alerts

Match your own and your competitors' ASINs against the list each hour and notify when someone enters or leaves the top 10.

### Content and affiliate sites

Render an always-current "best selling headphones" table with live price and rating directly from the list instead of hand-curated picks.

## Pricing

One list page is one request, so a full top 100 costs two requests. Tracking 50 categories hourly on one marketplace is about 72,000 requests a month and suits the Business plan (300,000 requests, €300); the same 50 categories daily need roughly 3,000 requests and fit into Starter (5,000 requests, €30). Failed Amazon fetches are never billed.

## FAQ

### Which list URLs are supported?

Any Amazon Best Sellers URL containing /zgbs/ – department lists and sub-category nodes alike – on any Amazon marketplace. The marketplace is read from the host, so you do not pass a domainCode.

### Why does page 1 return fewer than 50 products?

Amazon renders about 30 tiles server-side and loads the rest as you scroll. The API returns what the page delivered at fetch time; positions are preserved, so gaps are visible rather than silently renumbered.

### Can I get New Releases or Movers & Shakers lists too?

The endpoint is built for the /zgbs/ Best Sellers structure. Other Amazon charts use different page layouts and are not covered by this endpoint.

### How often do the lists change?

Amazon states that Best Sellers ranks are updated hourly. Fetch hourly if you want complete history, daily if you are after trends.

### Does the response include sales figures?

No – Amazon publishes rank, not units sold. Combine the rank with the salesVolume badge from the search endpoint or with product-page data if you need a demand estimate.

## Related use cases

- [Amazon Search Results API](https://everydata.io/amazon-search-results-api)
- [Amazon Deals API](https://everydata.io/amazon-deals-api)
- [Amazon Product Data API](https://everydata.io/amazon-product-data-api)

## More

- [All platforms](https://everydata.io/apis) · [Pricing](https://everydata.io/pricing) · [API reference](https://everydata.io/docs) · [Getting started](https://everydata.io/docs/getting-started) · [MCP server](https://everydata.io/docs/mcp) · [Status](https://everydata.io/status)
- Machine-readable: [llms.txt](https://everydata.io/llms.txt), [llms-full.txt](https://everydata.io/llms-full.txt), [OpenAPI](https://api.everydata.io/openapi.json)
