# Amazon Wishlist Scraper (`truenorth/amazon-wishlist-scraper`) Actor

Extract Amazon wishlist, shopping-list, wedding-list, and baby-list products with ASINs, prices, ratings, images, and quantities.

- **URL**: https://apify.com/truenorth/amazon-wishlist-scraper.md
- **Developed by:** [TrueNorth](https://apify.com/truenorth) (community)
- **Categories:** E-commerce, Other, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$0.90 / 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.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Wishlist Scraper

Turn public Amazon wishlists, registries, and baby lists into clean product datasets. Amazon Wishlist Scraper helps e-commerce teams, market researchers, brands, gift-tech products, and AI builders extract structured wishlist product data without manually scrolling lists or maintaining a custom Amazon scraper.

Use it to collect ASINs, product titles, prices, images, ratings, review counts, quantities, priority labels, product URLs, and list positions from supported Amazon marketplaces. Export the results as JSON, CSV, Excel, or connect the dataset to your API, analytics, or automation pipeline.

### Key Features

- Scrapes public Amazon wishlists, registries, and baby-list style URLs.
- Accepts a required full Amazon list URL and derives marketplace/list identifiers internally.
- Supports multiple Amazon marketplaces: `com`, `ca`, `co.uk`, `in`, `de`, `fr`, `it`, `es`, `co.jp`, `com.au`, `com.br`, `nl`, `se`, `com.mx`, and `ae`.
- Handles browser-based infinite scroll and lazy-loaded wishlist products.
- Deduplicates products by ASIN first, then wishlist item ID.
- Extracts product-level fields including ASIN, item ID, title, URL, image, price, currency, byline, rating, review count, variant, quantities, priority, marketplace domain, wishlist ID, and position.
- Locale-aware parsing for prices, ratings, and review counts across Amazon marketplaces.
- Supports `maxItems` and `maxScrolls` controls to manage runtime and event-based cost.
- Optional Apify proxy configuration for more reliable browser access.
- CSV/JSON-ready output for analytics, dashboards, enrichment, and AI workflows.

### How it Works

1. Enter a public Amazon wishlist, registry, or baby-list URL.
2. Choose extraction limits such as `maxItems`, `maxScrolls`, filter, sort order, and optional proxy settings.
3. Run the Actor on Apify and download results as JSON, CSV, Excel, or connect them to an API or automation workflow.

### Input Example

```json
{
  "url": "https://www.amazon.com/hz/wishlist/ls/1DRTPQAHX87VA",
  "maxItems": 500,
  "maxScrolls": 100,
  "filter": "unpurchased",
  "sort": "date-added",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
````

### Input Fields

- `url` — Required full Amazon wishlist, registry, or baby-list URL. The Actor derives the internal wishlist ID and marketplace from this URL.
- `maxItems` — Maximum number of unique products to save.
- `maxScrolls` — Safety limit for browser infinite-scroll rounds.
- `filter` — Wishlist filter. Supported values: `unpurchased`, `all`.
- `sort` — Wishlist sort order. Supported values: `date-added`, `price-asc`, `price-desc`, `priority`.
- `proxyConfiguration` — Optional Apify proxy configuration.

### Output Sample (JSON format)

```json
{
  "asin": "B0CWZYRC4G",
  "itemId": "I2JDDGKSMEUU3X",
  "title": "Glow Recipe Hue Drops Bronzing Drops, Tinted Face Serum, Glow Primer + Liquid Highlighter, Niacinamide + Hyaluronic Acid, Radiant Warm Glow, Sunglow (40ml)",
  "url": "https://www.amazon.com/dp/B0CWZYRC4G/?coliid=I2JDDGKSMEUU3X&colid=1DRTPQAHX87VA&psc=1&ref_=list_c_wl_lv_vv_lig_dp_it",
  "image": "https://m.media-amazon.com/images/I/315+pYzomZL._SS135_.jpg",
  "currentPrice": 30.92,
  "textPrice": "EUR 30.92",
  "currency": "EUR",
  "byline": "by Glow Recipe (Health and Beauty)",
  "priority": "> medium",
  "quantityWanted": 1,
  "quantityReceived": 0,
  "rating": 4.5,
  "reviewCount": 894,
  "variant": "Size : 1.4 Fl Oz (Pack of 1)",
  "domain": "com",
  "wishlistId": "1DRTPQAHX87VA",
  "position": 1
}
```

### What You Can Do With This Data

- Analyze which products appear in public wishlists and registries.
- Monitor desired products, price ranges, ratings, and review counts.
- Compare wishlist demand signals across Amazon marketplaces.
- Build internal dashboards for gift-list, baby-registry, or product-category intelligence.
- Export wishlist products into spreadsheets for research, merchandising, or reporting.
- Enrich product catalogs using ASINs, product URLs, byline text, images, and marketplace metadata.

### AI & LLM Integration (RAG-Ready)

Amazon Wishlist Scraper produces clean JSON records that can be used directly in AI and automation workflows:

- Feed product titles, byline text, prices, ratings, review counts, and variants into LLM-based summarization or classification pipelines.
- Store wishlist product records in vector databases for retrieval-augmented generation (RAG), product discovery, or market-research assistants.
- Use the dataset as a source for Model Context Protocol (MCP) tools that answer questions about wishlist products, prices, brands, and list positions.
- Build AI-powered workflows for product clustering, gift recommendation analysis, competitor monitoring, or assortment research.
- Combine ASINs and product URLs with downstream enrichment tools for deeper product intelligence.

### Notes and Limitations

- The Actor is designed for public Amazon wishlists, registries, and baby-list style pages. Private or restricted lists may not be accessible.
- Amazon can vary page layout, language, currency formatting, and anti-bot behavior by marketplace, session, IP, and browser environment.
- Date-added fields are not reliably available in anonymous public DOM sessions and are not emitted by this Actor.
- Longer lists require more browser scrolling, runtime, and proxy traffic. Use `maxItems` and `maxScrolls` to control cost.

# Actor input Schema

## `url` (type: `string`):

Full Amazon wishlist, registry, or baby-list URL, for example https://www.amazon.com/hz/wishlist/ls/1DRTPQAHX87VA

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

Stops after this many unique wishlist products. Important for controlling event-based cost.

## `maxScrolls` (type: `integer`):

Safety limit for Amazon lazy-loaded lists.

## `filter` (type: `string`):

Amazon wishlist filter parameter for lazy-loaded batches.

## `sort` (type: `string`):

Amazon wishlist sort parameter.

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

Optional Apify proxy configuration.

## Actor input object example

```json
{
  "maxItems": 500,
  "maxScrolls": 100,
  "filter": "unpurchased",
  "sort": "date-added"
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset items emitted by the Actor.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("truenorth/amazon-wishlist-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("truenorth/amazon-wishlist-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call truenorth/amazon-wishlist-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=truenorth/amazon-wishlist-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Wishlist Scraper",
        "description": "Extract Amazon wishlist, shopping-list, wedding-list, and baby-list products with ASINs, prices, ratings, images, and quantities.",
        "version": "1.0",
        "x-build-id": "ImFM5WShFkEoczC3s"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/truenorth~amazon-wishlist-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-truenorth-amazon-wishlist-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/truenorth~amazon-wishlist-scraper/runs": {
            "post": {
                "operationId": "runs-sync-truenorth-amazon-wishlist-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/truenorth~amazon-wishlist-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-truenorth-amazon-wishlist-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "url"
                ],
                "properties": {
                    "url": {
                        "title": "Wishlist URL",
                        "type": "string",
                        "description": "Full Amazon wishlist, registry, or baby-list URL, for example https://www.amazon.com/hz/wishlist/ls/1DRTPQAHX87VA"
                    },
                    "maxItems": {
                        "title": "Maximum items",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Stops after this many unique wishlist products. Important for controlling event-based cost.",
                        "default": 500
                    },
                    "maxScrolls": {
                        "title": "Maximum infinite-scroll requests",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Safety limit for Amazon lazy-loaded lists.",
                        "default": 100
                    },
                    "filter": {
                        "title": "Wishlist filter",
                        "enum": [
                            "unpurchased",
                            "all"
                        ],
                        "type": "string",
                        "description": "Amazon wishlist filter parameter for lazy-loaded batches.",
                        "default": "unpurchased"
                    },
                    "sort": {
                        "title": "Sort order",
                        "enum": [
                            "date-added",
                            "price-asc",
                            "price-desc",
                            "priority"
                        ],
                        "type": "string",
                        "description": "Amazon wishlist sort parameter.",
                        "default": "date-added"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional Apify proxy configuration."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
