> ## 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 Best Buy product search

> Searches Best Buy (US) for `query` and returns the products as JSON: `sku`, `title`, `brand`, `model`, `price`, `originalPrice` (when on sale), `currency`, `rating`, `reviewCount`, `image` and a product `url`, plus Best Buy's `totalResults`. Sort with `sort`, filter with `min_price`/`max_price`, and collect up to `max_results` across pages starting at `page`.



## OpenAPI

````yaml /api-reference/openapi.json post /marketplace/bestbuy-search
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/bestbuy-search:
    post:
      tags:
        - Plugins
      summary: Scrape Best Buy product search
      description: >-
        Searches Best Buy (US) for `query` and returns the products as JSON:
        `sku`, `title`, `brand`, `model`, `price`, `originalPrice` (when on
        sale), `currency`, `rating`, `reviewCount`, `image` and a product `url`,
        plus Best Buy's `totalResults`. Sort with `sort`, filter with
        `min_price`/`max_price`, and collect up to `max_results` across pages
        starting at `page`.
      operationId: bestbuy_search_marketplace_bestbuy_search_post
      parameters:
        - name: query
          in: query
          required: true
          schema:
            type: string
            description: What to search, e.g. 'laptop' or 'noise cancelling headphones'.
            title: Query
          description: What to search, e.g. 'laptop' or 'noise cancelling headphones'.
        - name: sort
          in: query
          required: false
          schema:
            type: string
            description: >-
              Ordering: relevance, best_selling, price_low, price_high, rating,
              newest, discount.
            default: relevance
            title: Sort
          description: >-
            Ordering: relevance, best_selling, price_low, price_high, rating,
            newest, discount.
        - name: min_price
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                minimum: 0
              - type: 'null'
            description: Lowest price to include (USD).
            title: Min Price
          description: Lowest price to include (USD).
        - name: max_price
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                minimum: 0
              - type: 'null'
            description: Highest price to include (USD).
            title: Max Price
          description: Highest price to include (USD).
        - name: max_results
          in: query
          required: false
          schema:
            type: integer
            maximum: 500
            minimum: 1
            description: How many products to collect across pages.
            default: 24
            title: Max Results
          description: How many products to collect across pages.
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            description: 1-based results page to start from (48 per page, up to 40).
            default: 1
            title: Page
          description: 1-based results page to start from (48 per page, up to 40).
        - name: proxy_country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Exit-IP country (ISO-2). Leave blank for a smart exit.
            title: Proxy Country
          description: Exit-IP country (ISO-2). Leave blank for a smart exit.
      responses:
        '200':
          description: JSON with a `products` array.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid parameters.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: Blocked by Best Buy or no results 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.