> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scrapeunblocker.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scrape Amazon Best Sellers lists

> Returns an Amazon ranked list for a category on any regional marketplace: Best Sellers (default), New Releases, Movers & Shakers, Most Wished For or Gift Ideas (`list_type`). The response carries the `category` (`name`, `slug`, `nodeId`, `url`, `parents`, `subcategories` - each with a url you can pass back as `category`) and up to `max_results` ranked `items`: `rank`, `asin`, `title`, `url`, `image`, `price` + `currency`, `offersCount`, `rating`, `reviewsCount`, and on Movers & Shakers `salesRank`, `previousSalesRank` and `salesRankChangePct`.

Pass `category` as a department slug (`electronics`), slug plus browse-node id (`electronics/172541`) or a pasted Amazon list url; leave it empty for the all-departments root (department list, no items). A list holds up to 100 items over two pages of 50, and each page fetched is billed as one request. When Amazon has no list for a category it says so, and that text is returned in `message` with an empty `items` array. An item whose card Amazon did not load (it loads ranks 31-50 of each page lazily) comes back with only `rank`, `asin` and `url`; `itemsWithDetails` counts the complete ones.

`proxy_country` defaults to the marketplace's home country (amazon.com -> US) so prices are in the store's currency.



## OpenAPI

````yaml /api-reference/openapi.json post /marketplace/amazon-bestsellers
openapi: 3.1.0
info:
  title: ScrapeUnblocker API
  description: >-
    Public API for the ScrapeUnblocker proxy/anti-bot service. Authenticate
    every request with the `x-scrapeunblocker-key` header. Documented here:
    page-source extraction, Google SERP scraping, image fetch, and the dedicated
    plugin endpoints (search engines, marketplaces, reviews, travel, social and
    more). All other paths exist for internal operations and are intentionally
    hidden from this spec.
  version: 3.0.0
servers:
  - url: https://api.scrapeunblocker.com
    description: Production
security: []
paths:
  /marketplace/amazon-bestsellers:
    post:
      tags:
        - Plugins
      summary: Scrape Amazon Best Sellers lists
      description: >-
        Returns an Amazon ranked list for a category on any regional
        marketplace: Best Sellers (default), New Releases, Movers & Shakers,
        Most Wished For or Gift Ideas (`list_type`). The response carries the
        `category` (`name`, `slug`, `nodeId`, `url`, `parents`, `subcategories`
        - each with a url you can pass back as `category`) and up to
        `max_results` ranked `items`: `rank`, `asin`, `title`, `url`, `image`,
        `price` + `currency`, `offersCount`, `rating`, `reviewsCount`, and on
        Movers & Shakers `salesRank`, `previousSalesRank` and
        `salesRankChangePct`.


        Pass `category` as a department slug (`electronics`), slug plus
        browse-node id (`electronics/172541`) or a pasted Amazon list url; leave
        it empty for the all-departments root (department list, no items). A
        list holds up to 100 items over two pages of 50, and each page fetched
        is billed as one request. When Amazon has no list for a category it says
        so, and that text is returned in `message` with an empty `items` array.
        An item whose card Amazon did not load (it loads ranks 31-50 of each
        page lazily) comes back with only `rank`, `asin` and `url`;
        `itemsWithDetails` counts the complete ones.


        `proxy_country` defaults to the marketplace's home country (amazon.com
        -> US) so prices are in the store's currency.
      operationId: amazon_bestsellers_marketplace_amazon_bestsellers_post
      parameters:
        - name: category
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Which category: a department slug ('electronics', 'books',
              'toys-and-games'), a slug plus browse-node id
              ('electronics/172541' = Headphones), or any Amazon Best Sellers /
              New Releases / Movers & Shakers / Most Wished For / Gift Ideas url
              (its marketplace and list type are then used). Empty = the
              all-departments root, which returns the department list
              (`category.subcategories`) and no items.
            title: Category
          description: >-
            Which category: a department slug ('electronics', 'books',
            'toys-and-games'), a slug plus browse-node id ('electronics/172541'
            = Headphones), or any Amazon Best Sellers / New Releases / Movers &
            Shakers / Most Wished For / Gift Ideas url (its marketplace and list
            type are then used). Empty = the all-departments root, which returns
            the department list (`category.subcategories`) and no items.
        - name: list_type
          in: query
          required: false
          schema:
            type: string
            description: >-
              Which ranked list: bestsellers, new_releases, movers_and_shakers,
              most_wished_for, gift_ideas. Ignored when `category` is a list
              url.
            default: bestsellers
            title: List Type
          description: >-
            Which ranked list: bestsellers, new_releases, movers_and_shakers,
            most_wished_for, gift_ideas. Ignored when `category` is a list url.
        - name: marketplace
          in: query
          required: false
          schema:
            type: string
            description: >-
              Regional Amazon site. Ignored when `category` is a url. One of:
              amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it,
              amazon.es, amazon.nl, amazon.se, amazon.pl, amazon.com.be,
              amazon.com.tr, amazon.ca, amazon.com.mx, amazon.com.br,
              amazon.co.jp, amazon.in, amazon.ae, amazon.sa, amazon.sg,
              amazon.com.au.
            default: amazon.com
            title: Marketplace
          description: >-
            Regional Amazon site. Ignored when `category` is a url. One of:
            amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it,
            amazon.es, amazon.nl, amazon.se, amazon.pl, amazon.com.be,
            amazon.com.tr, amazon.ca, amazon.com.mx, amazon.com.br,
            amazon.co.jp, amazon.in, amazon.ae, amazon.sa, amazon.sg,
            amazon.com.au.
        - name: max_results
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            description: >-
              How many ranked items to return (1-100). Amazon lists hold up to
              100 items, 50 per page; each page fetched is billed as one
              request. Amazon's page HTML carries full details for the first 30
              of each page; the rest load while scrolling, so asking for them
              adds a browser render (slower, ~10-25 s).
            default: 30
            title: Max Results
          description: >-
            How many ranked items to return (1-100). Amazon lists hold up to 100
            items, 50 per page; each page fetched is billed as one request.
            Amazon's page HTML carries full details for the first 30 of each
            page; the rest load while scrolling, so asking for them adds a
            browser render (slower, ~10-25 s).
        - name: proxy_country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Exit-IP country (ISO-2). Defaults to the marketplace's home
              country so prices come back in the store's currency.
            title: Proxy Country
          description: >-
            Exit-IP country (ISO-2). Defaults to the marketplace's home country
            so prices come back in the store's currency.
      responses:
        '200':
          description: JSON with `category` and a ranked `items` array.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid or unknown category, list type or marketplace.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: Blocked by Amazon or no list page returned.
        '504':
          description: Fetch timed out.
      security:
        - ScrapeUnblockerKey: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ScrapeUnblockerKey:
      type: apiKey
      in: header
      name: x-scrapeunblocker-key
      description: Your ScrapeUnblocker API key. Apply on every request.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.