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

# Amazon Search

> Search Amazon products and retrieve parsed results with pricing, ratings, and product details

## Overview

The `/amazon/search` endpoint searches Amazon's product catalog and returns structured product data including pricing, ratings, reviews, and availability. The API handles Amazon's anti-bot measures and provides clean, parsed data.

## Parameters

### Query Parameters

<ParamField query="q" type="string" required>
  The product search query
</ParamField>

<ParamField query="amazonDomain" type="string" default="www.amazon.com">
  Amazon domain to search. Options include:

  * `www.amazon.com` (US)
  * `www.amazon.co.uk` (UK)
  * `www.amazon.de` (Germany)
  * `www.amazon.fr` (France)
  * `www.amazon.co.jp` (Japan)
  * `www.amazon.in` (India)
</ParamField>

<ParamField query="page" type="number" default="1">
  Page number for pagination (starts at 1)
</ParamField>

<ParamField query="department" type="string">
  Department or category filter (e.g., `Electronics`, `Books`, `Clothing`)
</ParamField>

<ParamField query="sortBy" type="string">
  Sort order for results:

  * `relevanceblender` - Relevance (default)
  * `price-asc-rank` - Price: Low to High
  * `price-desc-rank` - Price: High to Low
  * `review-rank` - Average Customer Review
  * `date-desc-rank` - Newest Arrivals
</ParamField>

<ParamField query="priceMin" type="number">
  Minimum price filter
</ParamField>

<ParamField query="priceMax" type="number">
  Maximum price filter
</ParamField>

<ParamField query="prime" type="boolean" default="false">
  Filter for Prime-eligible products only
</ParamField>

<ParamField query="country" type="string" default="us">
  Country code for proxy location (e.g., `us`, `uk`, `de`)
</ParamField>

<ParamField query="rawHtml" type="boolean" default="false">
  Return raw HTML instead of parsed results
</ParamField>

<ParamField query="async" type="boolean" default="false">
  Async mode - returns job ID immediately for later retrieval
</ParamField>

## Example Requests

### Basic Product Search

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.scrapengine.io/api/v1/amazon/search?q=wireless%20headphones&page=1" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const params = new URLSearchParams({
    q: "wireless headphones",
    page: "1",
  });

  const response = await fetch(
    `https://api.scrapengine.io/api/v1/amazon/search?${params}`,
    {
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
      },
    }
  );

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.scrapengine.io/api/v1/amazon/search"
  headers = {"Authorization": "Bearer YOUR_API_KEY"}
  params = {
      "q": "wireless headphones",
      "page": 1
  }

  response = requests.get(url, headers=headers, params=params)
  print(response.json())
  ```
</CodeGroup>

### Filtered Search with Price Range

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.scrapengine.io/api/v1/amazon/search?q=laptop&priceMin=500&priceMax=1500&prime=true&sortBy=review-rank" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const params = new URLSearchParams({
    q: "laptop",
    priceMin: "500",
    priceMax: "1500",
    prime: "true",
    sortBy: "review-rank",
  });

  const response = await fetch(
    `https://api.scrapengine.io/api/v1/amazon/search?${params}`,
    {
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
      },
    }
  );

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.scrapengine.io/api/v1/amazon/search"
  headers = {"Authorization": "Bearer YOUR_API_KEY"}
  params = {
      "q": "laptop",
      "priceMin": 500,
      "priceMax": 1500,
      "prime": True,
      "sortBy": "review-rank"
  }

  response = requests.get(url, headers=headers, params=params)
  print(response.json())
  ```
</CodeGroup>

### Search on Different Amazon Domain

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.scrapengine.io/api/v1/amazon/search?q=headphones&amazonDomain=www.amazon.co.uk&country=uk" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const params = new URLSearchParams({
    q: "headphones",
    amazonDomain: "www.amazon.co.uk",
    country: "uk",
  });

  const response = await fetch(
    `https://api.scrapengine.io/api/v1/amazon/search?${params}`,
    {
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
      },
    }
  );

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.scrapengine.io/api/v1/amazon/search"
  headers = {"Authorization": "Bearer YOUR_API_KEY"}
  params = {
      "q": "headphones",
      "amazonDomain": "www.amazon.co.uk",
      "country": "uk"
  }

  response = requests.get(url, headers=headers, params=params)
  print(response.json())
  ```
</CodeGroup>

## Response

### Success Response (200)

Returns parsed product search results:

```json theme={null}
{
  "searchInfo": {
    "query": "wireless headphones",
    "totalResults": 10000,
    "page": 1
  },
  "products": [
    {
      "position": 1,
      "asin": "B0BXY4SQ6X",
      "title": "Sony WH-1000XM5 Wireless Noise Canceling Headphones",
      "link": "https://www.amazon.com/dp/B0BXY4SQ6X",
      "image": "https://m.media-amazon.com/images/I/51aXvjzcukL._AC_SL1500_.jpg",
      "price": {
        "current": 328.0,
        "currency": "USD",
        "original": 399.99,
        "discountPercent": 18
      },
      "rating": {
        "value": 4.6,
        "count": 12543
      },
      "isPrime": true,
      "isSponsored": false,
      "badge": "Best Seller"
    },
    {
      "position": 2,
      "asin": "B09XS7JWHH",
      "title": "Apple AirPods Pro (2nd Generation)",
      "link": "https://www.amazon.com/dp/B09XS7JWHH",
      "image": "https://m.media-amazon.com/images/I/61SUj2aKoEL._AC_SL1500_.jpg",
      "price": {
        "current": 189.99,
        "currency": "USD"
      },
      "rating": {
        "value": 4.7,
        "count": 89234
      },
      "isPrime": true,
      "isSponsored": false
    }
  ],
  "pagination": {
    "currentPage": 1,
    "totalPages": 400,
    "nextPage": "https://api.scrapengine.io/api/v1/amazon/search?q=wireless+headphones&page=2"
  }
}
```

### Response Headers

| Header                | Description                       |
| --------------------- | --------------------------------- |
| `x-remaining-credits` | Number of API credits remaining   |
| `x-trace-id`          | Unique identifier for the request |

### Error Responses

| Status | Description                               |
| ------ | ----------------------------------------- |
| `400`  | Bad Request - Invalid query parameters    |
| `401`  | Unauthorized - Invalid or missing API key |
| `500`  | Internal Server Error                     |

## Use Cases

* **Price monitoring**: Track product prices and discounts over time
* **Competitor analysis**: Monitor competitor product listings and pricing
* **Market research**: Analyze product trends and bestsellers
* **Inventory tracking**: Monitor product availability and stock levels
* **Review analysis**: Collect product ratings and review counts
* **Product discovery**: Find new products in specific categories
