# Amazon Product Search Scraper ($0.5/1K) (`igolaizola/amazon-search`) Actor

$0.5/1K 💸 Scrape Amazon search results for product titles, ASINs, prices, images, and URLs. Export clean Amazon product data to JSON, CSV or Excel for price monitoring, competitor research, ecommerce analysis, product discovery, and marketplace reports.

- **URL**: https://apify.com/igolaizola/amazon-search.md
- **Developed by:** [Iñigo Garcia Olaizola](https://apify.com/igolaizola) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 372 total users, 66 monthly users, 76.0% runs succeeded, 2 bookmarks
- **User rating**: 3.00 out of 5 stars

## Pricing

from $0.30 / 1,000 results

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

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Amazon Product Search Scraper - Extract Product Prices, ASINs, Images and URLs

Scrape Amazon search results into a clean dataset for ecommerce research, price monitoring, competitor analysis, product discovery, and marketplace reporting.

### What does Amazon Product Search Scraper do?

**Amazon Product Search Scraper** extracts product listings from Amazon search result pages. Paste an Amazon search URL, choose how many products you want, and get structured product data you can download as JSON, CSV, Excel, XML, or use through the Apify API.

This Amazon scraper collects the key fields most teams need from search results:

- **Product title** - the product name shown in Amazon search results
- **ASIN / product ID** - useful for matching, tracking, and deduplication
- **Price** - the visible listing price when Amazon shows it
- **Product image** - main thumbnail image URL
- **Product URL** - direct link to the Amazon product detail page

Use it to turn Amazon search pages into a spreadsheet or API-ready dataset in minutes.

### Why scrape Amazon search results?

Amazon is one of the largest ecommerce marketplaces in the world. Search result data can help you understand what products are visible, how they are priced, and how competing listings appear for important keywords.

Common use cases include:

- **Price monitoring** - track product prices for a keyword, category, or niche
- **Competitor research** - compare listings, titles, prices, images, and product URLs
- **Market research** - discover products, brands, and offers ranking for search terms
- **Ecommerce lead lists** - build product lists for sourcing, reselling, affiliate sites, or analysis
- **SEO and marketplace analysis** - monitor which products appear for commercial keywords
- **Data enrichment** - collect ASINs and Amazon URLs for matching with internal catalogs

### How to use Amazon Product Search Scraper

1. **Find an Amazon search URL**

   Search on Amazon as usual, then copy the full URL from your browser. For example: `https://www.amazon.com/s?k=wireless+headphones`.

2. **Paste the URL into the actor input**

   Add the URL to the `search` field. The scraper supports common Amazon domains such as `.com`, `.co.uk`, `.de`, `.es`, `.fr`, `.it`, `.ca`, `.com.au`, and more.

3. **Set `maxItems`**

   Choose the maximum number of products to save. Use `0` if you want the scraper to continue until Amazon stops returning more search result pages.

4. **Run the actor**

   Click **Run**. The actor visits the search results, follows pagination, and saves products as it finds them.

5. **Export your Amazon product data**

   Open the **Dataset** tab and download the results as JSON, CSV, Excel, XML, RSS, or access them through the Apify API.

### Input example

```json
{
  "search": "https://www.amazon.com/s?k=rubber+ducks",
  "maxItems": 50
}
```

### Input fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `search` | String | Yes | Full Amazon search results URL to scrape, for example `https://www.amazon.com/s?k=rubber+ducks`. |
| `maxItems` | Integer | Yes | Maximum number of products to save. Set to `0` to scrape all available results until Amazon stops returning more pages. |

The run stops when it reaches `maxItems`, the actor's max results limit, or the end of the Amazon search results, whichever comes first.

### Output data

Each result is saved as one product record. The exact fields depend on what Amazon shows in the search results, but typical output includes:

| Field | Description |
| --- | --- |
| `id` | Amazon ASIN / product ID detected from the listing |
| `name` | Product title |
| `price` | Visible product price from the search result card |
| `image` | Main product image URL |
| `url` | Direct Amazon product page URL |

### Output example

```json
[
  {
    "id": "B0BKTS5R34",
    "name": "JOYIN 30 Pcs Rubber Ducks, Random Assortment Ducks Bulk with Mesh Carry Bag, Mini Rubber Duckies for Baby Bath Toys, Kids Toddler Summer Pool Toys Birthday Gifts Party Favors",
    "price": "$14.99",
    "image": "https://m.media-amazon.com/images/I/81j4mK8R5IL._AC_UL320_.jpg",
    "url": "https://www.amazon.com/JOYIN-Assortment-Birthday-Activity-Carnival/dp/B0BKTS5R34/"
  },
  {
    "id": "B0D2KYN3XG",
    "name": "240pcs Luminous Mini Resin Ducks, Tiny Animals Bulk Glow in The Dark Small Plastic Miniature Ducks Figures for Dollhouse Decor Micro Garden Home Landscape Aquarium Craft Gifts Party Favors Toys",
    "price": "$9.99",
    "image": "https://m.media-amazon.com/images/I/81vqUkwLNuL._AC_UL320_.jpg",
    "url": "https://www.amazon.com/GWAHSA-Luminous-Miniature-Dollhouse-Landscape/dp/B0D2KYN3XG/"
  }
]
```

### Best practices

- Use a specific Amazon search URL for the keyword or category you care about.
- Set a realistic `maxItems` value for faster runs and easier exports.
- Run the actor on a schedule if you want to monitor Amazon prices or rankings over time.
- Export to CSV or Excel for quick analysis, or use JSON/API output for automated workflows.

### Is this an Amazon API?

This actor is an Amazon scraper, Amazon product data extractor, and lightweight Amazon search results API alternative. It is designed for collecting publicly visible product listing data from Amazon search pages and turning it into structured data you can use in spreadsheets, dashboards, reports, or apps.

### Legal considerations

This scraper only extracts publicly available information from Amazon search result pages. Your use of the data should comply with applicable laws and Amazon's terms. If you are unsure whether your use case is allowed, consult a qualified legal professional.

For more background, read Apify's guide: [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

# Actor input Schema

## `search` (type: `string`):

search url to scrape

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

Maximum number of products to save. Set to 0 to scrape all products found before Amazon stops returning more result pages.

## Actor input object example

```json
{
  "search": "https://www.amazon.com/s?k=put+your+search+here",
  "maxItems": 0
}
```

# Actor output Schema

## `results` (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 = {
    "search": "https://www.amazon.com/s?k=put+your+search+here"
};

// Run the Actor and wait for it to finish
const run = await client.actor("igolaizola/amazon-search").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 = { "search": "https://www.amazon.com/s?k=put+your+search+here" }

# Run the Actor and wait for it to finish
run = client.actor("igolaizola/amazon-search").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 '{
  "search": "https://www.amazon.com/s?k=put+your+search+here"
}' |
apify call igolaizola/amazon-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,igolaizola/amazon-search"
        }
    }
}
```

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/myKKbZPxScDexiGz7/builds/HUHHaTnccI96SssKf/openapi.json
