# Amazon  Product Search Scraper (`alpha-scraper/amazon-product-search-scraper`) Actor

Amazon Product Search Scraper extracts structured Amazon product data from keyword searches, including ASINs, titles, prices, ratings, reviews, categories, product URLs, and images for product research and market analysis.

- **URL**: https://apify.com/alpha-scraper/amazon-product-search-scraper.md
- **Developed by:** [Alpha Scraper](https://apify.com/alpha-scraper) (community)
- **Categories:** E-commerce, Other, Real estate
- **Stats:** 23 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### 🔍 Amazon Product Search Scraper – Overview

The **Amazon Product Search Scraper** extracts structured product information from Amazon search results based on the keywords you provide. It is designed for product research, price monitoring, catalog discovery, market analysis, competitive research, and other workflows that require organized Amazon product data.

Instead of manually opening Amazon search pages and copying product details, you can enter one or more search keywords and let the Actor collect matching product pages and extract useful information such as product titles, ASINs, URLs, prices, categories, ratings, review counts, descriptions, and product images.

> **💡 Amazon Product Search Scraper at a glance**
>
> - Search Amazon using one or multiple keywords.
> - Collect up to the configured `maxItems` for each keyword.
> - Extract product-level information from discovered product pages.
> - Return structured records directly to the Apify dataset.
> - Configure proxy usage through the Actor input.
> - Export collected results through Apify's dataset interface.

This Actor is particularly useful when you need repeatable **Amazon product search data** rather than manually browsing individual search pages.

The easiest workflow is simple: enter your desired keywords, choose the maximum number of products, configure the proxy settings, and run the Actor.

***

### 🛍️ Amazon Product Search Scraper – Key Features

The **Amazon Product Search Scraper** focuses on turning Amazon keyword searches into structured product datasets.

#### 🔎 Keyword-Based Amazon Search

Provide one or more search phrases through the `keywords` input. Examples include:

- `gaming laptop`
- `iphone 15 case`
- `wireless headphones`
- `running shoes`
- `coffee maker`

The Actor processes each keyword separately and discovers product listings from Amazon search pages.

#### 📦 Product Information Extraction

For each successfully processed product page, the Actor can collect:

- ASIN
- Product title
- Product URL
- Product description from available feature bullets
- Breadcrumb category path
- Rating text
- Current/available price
- Original price
- Discount percentage when available
- Review count
- Product image URLs
- Product thumbnail

#### 🔢 Configurable Result Limit

The `maxItems` input controls how many products are collected for each keyword.

For example, with three keywords and `maxItems` set to `10`, the Actor attempts to process up to 10 products for each keyword.

> **⚠️ Important:** The supplied code resets the item counter for every keyword. Therefore, `maxItems` behaves as a per-keyword limit rather than a single global limit across all keywords.

#### 🌐 Proxy Configuration

The Actor accepts an Apify proxy configuration through the `proxyConfiguration` input. This allows the run to use the proxy settings selected in the Actor interface.

The provided input configuration is prefilled to use a residential proxy group, but the exact availability and cost of proxy usage depend on the Apify account and configuration being used.

***

### 📊 Amazon Product Search Scraper – What Data You Can Extract

The **Amazon Product Search Scraper** produces structured product records suitable for analysis, storage, filtering, and downstream processing.

> **📋 Output data available**
>
> - **ASIN** — Amazon Standard Identification Number extracted from the product URL when available.
> - **Title** — Product title.
> - **URL** — Product page URL.
> - **Description** — Product feature bullet content combined into a text value when available.
> - **Categories** — Breadcrumb-style category path.
> - **Stars text** — Available Amazon rating text.
> - **Discount price** — Current product price when available.
> - **Discount percent** — Displayed discount percentage when available.
> - **Available price** — Current price detected from the product page.
> - **Currency** — Currency value returned by the Actor.
> - **Original price** — Original or struck-through price when available.
> - **Review count** — Customer review count text.
> - **Images** — Collected product image URLs.
> - **Thumbnail** — First available product image URL.

The Actor returns `"Not Available"` when a supported field cannot be found on a particular product page. This makes the output more predictable when Amazon presents different page structures or incomplete product information.

The `images` field can contain multiple image URLs, making it useful for product cataloging and visual product research.

***

### 🧭 Amazon Product Search Scraper – How to Use It

Using the **Amazon Product Search Scraper** requires only a few configuration steps.

#### 1. Enter Search Keywords

Open the Actor input and add one or more phrases to the `keywords` list.

Example:

```json
{
  "keywords": [
    "gaming laptop",
    "iphone 15 case"
  ]
}
```

Each keyword is processed independently.

#### 2. Set the Maximum Number of Products

Use `maxItems` to specify how many products the Actor should attempt to collect for each keyword.

Example:

```json
{
  "maxItems": 20
}
```

A larger value allows the Actor to continue through additional Amazon search result pages when available.

#### 3. Configure the Proxy

The Actor accepts the Apify `proxyConfiguration` object.

Example:

```json
{
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

The available proxy choices depend on the Apify environment and your account configuration.

#### 4. Start the Actor

After entering your keywords, result limit, and proxy settings, start the run.

The Actor searches Amazon, discovers product listings, visits product pages, extracts supported fields, and stores the resulting records in the Actor dataset.

***

### 🧾 Amazon Product Search Scraper – Input

The Actor currently supports three input properties.

| Input                | Type             | Required | Purpose                                     |
| -------------------- | ---------------- | -------: | ------------------------------------------- |
| `keywords`           | Array of strings |      Yes | Amazon search phrases to process            |
| `maxItems`           | Integer          |       No | Maximum products processed for each keyword |
| `proxyConfiguration` | Object           |      Yes | Apify proxy configuration                   |

#### 🔍 `keywords`

This is the main search input.

Example:

```json
{
  "keywords": [
    "gaming laptop",
    "mechanical keyboard",
    "usb c hub"
  ]
}
```

You can provide several keywords in the same run.

#### 🔢 `maxItems`

This integer controls the product limit for each keyword.

The Actor configuration specifies a default of `5`.

Example:

```json
{
  "maxItems": 5
}
```

The Actor can continue across multiple search-result pages until the per-keyword limit is reached or no further results can be processed.

#### 🌐 `proxyConfiguration`

This object defines the proxy configuration used by the Actor.

A residential proxy configuration is provided as the default prefill in the Actor configuration. Users can adjust the proxy selection according to their available Apify proxy setup.

> **✅ Input note:** The current Actor schema supports `keywords`, `maxItems`, and `proxyConfiguration`. It does **not** expose `startUrls` as an input field, so Amazon product searches should be initiated through keywords.

***

### 🧪 Amazon Product Search Scraper – Input Example

A complete example configuration can look like this:

```json
{
  "keywords": [
    "gaming laptop",
    "iphone 15 case",
    "wireless headphones"
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

This configuration tells the Actor to process three independent Amazon searches and attempt to collect up to 10 products for each keyword.

***

### 📤 Amazon Product Search Scraper – Output Example

A typical dataset record follows this structure:

```json
{
  "asin": "B0XXXXXXXXXX",
  "title": "Example Gaming Laptop",
  "url": "https://www.amazon.com/dp/B0XXXXXXXXXX",
  "description": "High-performance processor\n16GB RAM\n512GB SSD",
  "categories": "Computers > Laptops",
  "stars_text": "4.5 out of 5 stars",
  "discount_price": "$999.99",
  "discount_percent": "-10%",
  "available_price": "$999.99",
  "currency": "$",
  "original_price": "$1,099.99",
  "review_count": "1,234 ratings",
  "images": [
    "https://example.com/product-image.jpg"
  ],
  "thumbnail": "https://example.com/product-image.jpg"
}
```

The exact values depend on what information is available on the Amazon product page during the run.

> **📌 Data consistency note:** Some fields may contain `"Not Available"` when the corresponding information cannot be found. The `discount_percent` field is populated when a discount percentage is detected; otherwise it remains unavailable.

***

### 🔎 How to Scrape Amazon Products by Keyword

To perform **Amazon product search scraping by keyword**, add your target product terms to the `keywords` array.

For example:

```json
{
  "keywords": [
    "best office chair",
    "standing desk",
    "desk lamp"
  ],
  "maxItems": 15
}
```

The Actor searches Amazon for each term and extracts product records from the available results.

This approach is useful when your research starts with product categories rather than known product URLs. You can search broad categories, specific product types, brands, use cases, or shopping phrases and then analyze the returned catalog.

The Actor may continue to later Amazon result pages when additional products are needed to reach the configured per-keyword limit.

***

### 🧩 Can You Use Amazon Product Search Scraper for Product Research?

Yes. The structure of the output makes the Actor useful for several product-data workflows.

#### 💰 Price and Market Research

Collect product prices, original prices, ratings, reviews, and category information for market comparisons.

#### 🏪 Product Catalog Discovery

Search product categories and build structured inventories containing product titles, ASINs, URLs, images, and pricing information.

#### 🧑‍💻 Competitive Research

Research competing products and compare visible product attributes such as price, ratings, review counts, images, and category placement.

#### 🔍 Shopping Search Analysis

Use keyword-driven Amazon product searches to understand which products appear for particular product terms.

#### 📈 Data Collection Pipelines

Send Amazon product search results into a broader data workflow for filtering, analysis, transformation, or storage.

> **🎯 Practical use cases**
>
> - Product market research
> - Competitor product discovery
> - Price comparison datasets
> - Product catalog building
> - E-commerce research
> - Keyword-to-product analysis
> - Amazon listing research
> - Product image collection
> - Review and rating analysis
> - Category-level product discovery

***

### 📦 What Happens During an Amazon Product Search Scrape?

The **Amazon Product Search Scraper** follows a straightforward user-facing workflow.

#### Step 1: Search

Your keyword is used to create an Amazon product search.

#### Step 2: Discover Products

The Actor identifies product entries available in the search results and obtains their product links.

#### Step 3: Collect Product Details

The discovered product pages are processed to extract the supported product information.

#### Step 4: Store Structured Results

Each successfully processed product is pushed into the Apify dataset as a structured record.

This makes the resulting Amazon product search data easier to inspect and process than manually collected search results.

***

### 💵 Amazon Product Search Scraper – Pricing

No fixed Actor price is specified in the provided `actor.json` or source code.

The supplied files also do not define a custom per-result, per-event, or subscription price for this Actor. Therefore, a specific dollar amount should not be claimed in this README.

> **💡 Pricing note:** Your actual run cost can depend on the Apify platform, compute usage, and proxy resources selected for the run. Check the current pricing displayed in your Apify account and Actor interface before large-scale scraping.

The Actor itself does not provide enough configuration information to establish a fixed price per product.

***

### ⚙️ Tips and Best Practices for Amazon Product Search Scraper

For reliable **Amazon product search** workflows, use focused keywords and an appropriate result limit.

#### 🎯 Use Specific Keywords

Specific phrases generally make the resulting product dataset easier to analyze.

For example:

```text
gaming laptop 16gb
wireless noise cancelling headphones
iphone 15 silicone case
```

are more targeted than a very broad term such as:

```text
electronics
```

#### 🔢 Choose a Practical `maxItems`

Start with a smaller result count when testing a new keyword set. Increase the value when you need a broader product sample.

Remember that the current implementation applies the item counter separately for each keyword.

#### 🌐 Review Proxy Settings

The Actor requires `proxyConfiguration`. Make sure your selected proxy configuration is available and suitable for the intended workload.

#### 🧹 Handle Missing Values

Not every Amazon product exposes the same information. Your downstream workflow should expect fields containing `"Not Available"`.

#### 📊 Validate Results Before Large Runs

Run a small test with a few products first. Review titles, URLs, prices, categories, images, and other fields before increasing the result volume.

***

### ❓ Frequently Asked Questions

#### 🔍 What is Amazon Product Search Scraper?

The **Amazon Product Search Scraper** is an Apify Actor that searches Amazon using supplied keywords and extracts structured product information such as ASIN, title, URL, prices, ratings, reviews, categories, descriptions, and images.

#### 🛒 How do I scrape Amazon product search results by keyword?

Add your desired search phrases to the `keywords` array, set `maxItems`, configure the proxy settings, and start the Actor. Each keyword is processed independently.

#### 🔢 Does `maxItems` apply to all keywords combined?

No. In the current implementation, the counter is reset for every keyword. Therefore, `maxItems` acts as a maximum target for each keyword rather than one global total.

#### 📋 What data does Amazon Product Search Scraper extract?

The Actor can return ASIN, title, product URL, description, categories, rating text, discount price, discount percentage, available price, currency, original price, review count, images, and thumbnail.

#### 💲 Can it extract Amazon product prices?

Yes. The Actor attempts to collect the available current price and original price when those values are present on the product page.

#### ⭐ Can it extract Amazon ratings and review counts?

Yes. The output includes `stars_text` and `review_count` when the corresponding information is available.

#### 🖼️ Does Amazon Product Search Scraper collect product images?

Yes. The `images` field contains collected product image URLs, and `thumbnail` contains the first available image URL when one is found.

#### 🌐 Does it support multiple search keywords?

Yes. The `keywords` input is an array, so multiple Amazon product searches can be processed in a single Actor run.

#### 🔗 Does this Actor accept Amazon start URLs?

The current input schema does not provide a `startUrls` field. The supported search method is keyword-based through the `keywords` input.

#### 📦 Does it scrape single Amazon product pages?

This Actor is designed around Amazon product search. A separate single-product Actor is referenced in the supplied Actor configuration for workflows focused on individual Amazon product pages.

#### ⚠️ What happens when product information is unavailable?

Supported fields that cannot be extracted are generally returned as `"Not Available"`. This allows the dataset structure to remain consistent even when Amazon product pages have missing information.

***

### 🛠️ Amazon Product Search Scraper – Support

The **Amazon Product Search Scraper** is intended for users who need structured Amazon search data without manually collecting product information from search pages and product listings.

For best results, provide clear keywords, choose an appropriate `maxItems` value, configure your proxy settings, and validate a small run before larger data-collection jobs.

- Contact me by email : <alphascraper69@gmail.com>

# Actor input Schema

## `keywords` (type: `array`):

List of keywords to search for on Amazon.

## `maxItems` (type: `integer`):

Maximum number of products to scrape in total.

## `proxyConfiguration` (type: `object`):

Select proxies to be used by your crawler.

## Actor input object example

```json
{
  "keywords": [
    "gaming laptop",
    "iphone 15 case"
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "keywords": [
        "gaming laptop",
        "iphone 15 case"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("alpha-scraper/amazon-product-search-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 = {
    "keywords": [
        "gaming laptop",
        "iphone 15 case",
    ],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("alpha-scraper/amazon-product-search-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 '{
  "keywords": [
    "gaming laptop",
    "iphone 15 case"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call alpha-scraper/amazon-product-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,alpha-scraper/amazon-product-search-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/YcgJR1WP1cHJhHzvH/builds/VBoqpVGtvfJ1fIUCc/openapi.json
