# Free Amazon Product Scraper — Prices & Search Results (`memo23/free-amazon-product-scraper`) Actor

Free Amazon product scraper — search any keyword, ASIN or category across 18 marketplaces and get up to 50 clean product rows per run: numeric prices, discounts, ratings, reviews, Prime and sponsored flags. JSON/CSV export. Need more rows, price monitoring or webhook alerts? See the full actor.

- **URL**: https://apify.com/memo23/free-amazon-product-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** E-commerce, AI, Agents
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-usage

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

## Free Amazon Product Scraper — Prices & Search Results

Scrape Amazon search results into clean, analysis-ready product rows — **completely free, up to 50 rows per run**. Numeric prices, real list prices, discounts, ratings, review counts, monthly-bought signals, sponsored flags, badges and Prime status, across 18 marketplaces. You pay only standard Apify platform usage; there is no per-result fee.

Need more than 50 rows, scheduled **price monitoring**, or **webhook price-drop alerts** to Slack/Zapier? That's the full [Amazon Search Scraper](https://apify.com/memo23/amazon-search) — same engine, $0.50/1K on Bronze, no cap.

![How the Free Amazon Product Scraper works](https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/how-it-works-free-amazon-products.png)

### Why use it

- **Actually free** — no trial countdown, no per-result charge; the 50-row cap is the only limit.
- **Numbers, not strings** — `priceValue`, `listPriceValue`, `discountPercentage`, `ratingValue`, `reviewsCount` come parsed; no spreadsheet cleanup.
- **18 marketplaces** — US, UK, DE, FR, IT, ES, CA, JP, AU, NL, SE, PL, BE, IE, MX, BR, IN, SG, each fetched with correct local pricing.
- **Any listing input** — keywords, bare ASINs, search URLs (filters kept), best-seller lists, category browse pages.
- **Pure HTTP** — no headless browser; fast starts, low platform usage cost.

### Supported inputs

- **Keywords** — `"usb c cable"` — paginated search on every selected marketplace.
- **Bare ASINs** — `"B082Z1YYRK"` — searched directly; the matching card is returned.
- **Search URLs** — `https://www.amazon.com/s?k=gaming+mouse&rh=...` — filters/sort in the URL are kept.
- **Best-seller lists** — `https://www.amazon.com/gp/bestsellers/electronics/172282`.
- **Category browse pages** — `https://www.amazon.de/b?node=3468301`.

### Input configuration

| Field | Type | Notes |
|---|---|---|
| `queries` | array | Keywords or ASINs. |
| `marketplaces` | array | TLDs, e.g. `["com", "de", "co.uk"]`. Default `["com"]`. |
| `startUrls` | array | Amazon listing URLs, mixed freely. |
| `sortBy` | enum | `relevance`, `price-asc`, `price-desc`, `reviews`, `newest`, `bestsellers`. |
| `minPrice` / `maxPrice` | number | Price bounds in marketplace currency. |
| `maxItems` | integer | Row cap for the run — **free tier max 50**. |

```json
{
  "queries": ["wireless earbuds"],
  "marketplaces": ["com"],
  "sortBy": "bestsellers",
  "maxItems": 50
}
```

### Output sample

```json
{
  "asin": "B0ABC12345",
  "title": "Wireless Earbuds, Bluetooth 5.3 …",
  "url": "https://www.amazon.com/dp/B0ABC12345",
  "price": "$29.99",
  "priceValue": 29.99,
  "listPriceValue": 49.99,
  "discountPercentage": 40,
  "currencyCode": "USD",
  "ratingValue": 4.6,
  "reviewsCount": 12840,
  "monthlyBought": "5K+ bought in past month",
  "isPrime": true,
  "isSponsored": false,
  "marketplace": "amazon.com",
  "page": 1,
  "position": 3
}
```

Export as JSON, CSV or Excel straight from the run's dataset.

### When you outgrow the free tier

The full [Amazon Search Scraper](https://apify.com/memo23/amazon-search) adds, at $0.50/1K on Bronze:

- **No 50-row cap** — thousands of rows per run.
- **Monitor mode** — schedule the same input and receive only new ASINs and price/rating/review movements, with previous values and deltas attached. Quiet days push zero billable rows.
- **Webhook price-drop alerts** — changed rows POSTed to Slack, Zapier, Make or your own endpoint the moment a monitor run finds them.
- Higher concurrency for large multi-marketplace crawls.

### FAQ

**Is it really free?** Yes — no per-result charge. You pay only Apify's standard platform usage for the compute, like any free actor.

**Why is there a 50-row cap?** Full-page Amazon fetches cost real proxy bandwidth. 50 rows keeps this actor free forever; the [full actor](https://apify.com/memo23/amazon-search) removes the cap.

**Does it scrape product detail pages?** No — it parses search-result cards, which carry price, rating, reviews, badges and more. That's what makes it fast and cheap.

**Which marketplaces?** 18: .com, .co.uk, .de, .fr, .it, .es, .ca, .co.jp, .com.au, .nl, .se, .pl, .com.be, .ie, .com.mx, .com.br, .in, .sg.

### Support

- **Issues tab** for bugs and feature requests — response usually within 24h.
- **Finding it useful?** A quick rating on this page helps other buyers find it — thank you! ⭐

### Explore more scrapers

More e-commerce and lead-gen actors: [apify.com/memo23](https://apify.com/memo23) — including the [Amazon Search Scraper](https://apify.com/memo23/amazon-search) (full version of this actor) and the [Amazon Seller Contact Scraper](https://apify.com/memo23/amazon-sellers-scraper) (the sellers behind these products, with emails/VAT/ratings).

### 🤖 For AI Agents & LLM Apps

Compact reference for AI agents calling this actor via the [Apify MCP server](https://mcp.apify.com) or the Apify API (actor: `memo23/free-amazon-product-scraper`).

**Purpose:** turn Amazon searches (keywords, ASINs, category/best-seller URLs) into typed product rows with numeric prices, discounts, ratings and rank across 18 marketplaces — free, capped at 50 rows per run.

**Minimal input:** `{ "queries": ["<keyword or ASIN>"], "marketplaces": ["com"], "maxItems": 50 }`

**Key output fields:** `asin`, `title`, `url`, `priceValue`, `listPriceValue`, `discountPercentage`, `currencyCode`, `ratingValue`, `reviewsCount`, `isPrime`, `isSponsored`, `page`, `position`, `marketplace`.

**Uncapped runs + change monitoring + webhook alerts:** use `memo23/amazon-search` instead.

### ⚠️ Disclaimer

This actor collects only publicly visible listing data from Amazon search pages. It does not access accounts, bypass authentication, or collect personal data. Users are responsible for how they use the data and for compliance with applicable laws and Amazon's terms in their jurisdiction.

### SEO keywords

free amazon scraper, free amazon product scraper, amazon price scraper free, scrape amazon without coding, amazon search results scraper, amazon product data free, amazon asin lookup free, amazon bestsellers scraper free, amazon price checker bulk, export amazon search to csv free

# Actor input Schema

## `startUrls` (type: `array`):

Paste any Amazon search URL (amazon.com/s?k=…) and go. Best-seller lists, category pages and product /dp/ links work too. The domain in the URL picks the marketplace. Keywords and ASINs below are optional extras.

## `queries` (type: `array`):

Keywords or bare ASINs to search on Amazon. Each entry runs its own paginated crawl on every selected marketplace. Example: "usb c cable", "yoga mat", "B082Z1YYRK". Leave empty if you already pasted a URL above.

## `marketplaces` (type: `array`):

Which Amazon marketplaces the queries run on. Prices come back in the marketplace currency with the ISO code attached. Start URLs ignore this and use the domain in the URL.

## `sortBy` (type: `string`):

Result ordering for keyword queries (start URLs keep whatever sort their URL carries).

## `minPrice` (type: `integer`):

Lower price bound in the marketplace currency (applies to keyword queries).

## `maxPrice` (type: `integer`):

Upper price bound in the marketplace currency (applies to keyword queries).

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

Hard ceiling of product rows for the whole run — the free tier caps at 50. Need more? The full actor has no free-tier cap: https://apify.com/memo23/amazon-search

## `maxItemsPerQuery` (type: `integer`):

Upper bound of product rows per search query or start URL (free tier max 50). One search page yields ~20–48 products.

## `proxy` (type: `object`):

Leave unset for the built-in residential setup (recommended — Amazon blocks datacenter IPs). Set only to route traffic through your own Apify proxy groups instead.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.amazon.com/s?k=usb+c+cable"
    }
  ],
  "queries": [],
  "marketplaces": [
    "com"
  ],
  "sortBy": "relevance",
  "maxItems": 50,
  "maxItemsPerQuery": 50
}
```

# Actor output Schema

## `products` (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 = {
    "startUrls": [
        {
            "url": "https://www.amazon.com/s?k=usb+c+cable"
        }
    ],
    "queries": [],
    "marketplaces": [
        "com"
    ],
    "maxItems": 50,
    "maxItemsPerQuery": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/free-amazon-product-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 = {
    "startUrls": [{ "url": "https://www.amazon.com/s?k=usb+c+cable" }],
    "queries": [],
    "marketplaces": ["com"],
    "maxItems": 50,
    "maxItemsPerQuery": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("memo23/free-amazon-product-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 '{
  "startUrls": [
    {
      "url": "https://www.amazon.com/s?k=usb+c+cable"
    }
  ],
  "queries": [],
  "marketplaces": [
    "com"
  ],
  "maxItems": 50,
  "maxItemsPerQuery": 50
}' |
apify call memo23/free-amazon-product-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,memo23/free-amazon-product-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/DLE7K9TgcKn6zNXYa/builds/Cf4r23GsxPmqqVqIR/openapi.json
