# Keepa Scraper (`radeance/keepa-scraper`) Actor

Extract Amazon product & deals data from Keepa including Price History, Buy Box, BSR & Sales Ranks, Monthly Sales, Offers Ratings, Reviews and more product metadata. Search by ASIN, Amazon/Keepa URL or Keepa Deals URL across 11 marketplaces. Export to JSON, CSV or Excel for research and automation.

- **URL**: https://apify.com/radeance/keepa-scraper.md
- **Developed by:** [Radeance](https://apify.com/radeance) (community)
- **Stats:** 9 total users, 6 monthly users, 98.9% runs succeeded, 4 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 product 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

## 💎 Keepa Scraper

The **Keepa Scraper** on **Apify** turns **Amazon product data** and **Deals** from [Keepa.com](https://keepa.com/) into structured, export-ready records. Add ASINs, Amazon product URLs, Keepa product URLs, or copied Keepa deals URLs in one run. The Actor recognizes each identifier automatically.

Retrieve **current and historical prices**, **BSR**, **Sales Ranks**, **Monthly Sales estimates**, **Ratings**, **Categories**, product details, and deal price differences across supported Amazon marketplaces. Choose clean, readable output or Keepa's raw fields, and select only the columns your workflow needs.

Results are written to the dataset as they arrive, ready for **product research**, **deal monitoring**, **catalog enrichment**, and Apify API or integration workflows.

### ❶ Key Features

- **📦 Comprehensive Product Data:**<br>
  - ✅ Look up products by **ASIN**, **Amazon URL**, or **Keepa product URL**
  - ✅ Capture **Title**, **Brand**, **Manufacturer**, **Model**, **Categories**, **Images**, and identifiers
  - ✅ Includes all **Available Offers**, **Variations**, and **Monthly Sold estimates** if available

- **💰 Prices, Ranks & History:**<br>
  - ✅ Compare current **Amazon**, **New**, **Used**, **Buy Box**, **Warehouse** and list prices when available
  - ✅ Retrieve price histories, averages, minimums, maximums, and observation times
  - ✅ View **BSR**, **Sales Rank**, **Ratings**, **Review counts**, and **Monthly Sales history**

- **🔎 Keepa Deals Search:**<br>
  - ✅ Paste a Keepa Deals URL to reuse its saved marketplace, categories, price ranges, and other filters
  - ✅ Collect current and average values, price differences, percentages, and source pages
  - ✅ Fetch multiple pages per deals URL, stopping when Keepa has no more results

- **🌍 Multi-Marketplace Support:**<br>
  - ✅ Mix product lookups and deals URLs from supported marketplaces in one run
  - ✅ Infer a product URL's marketplace automatically
  - ✅ Remove duplicate product lookups and duplicate deals selections

- **📊 Flexible Data Output:**<br>
  - ✅ Receive readable records with human-friendly field names and expanded arrays
  - ✅ Choose **raw output** or select specific output fields for specific workflows
  - ✅ Stream results to the dataset for **JSON**, **CSV**, and **Excel** exports

### ❸ Input

#### Search Parameters

| Parameter                | Type           | Default | Description                                                                                             |
| ------------------------ | -------------- | ------- | ------------------------------------------------------------------------------------------------------- |
| `identifiers`            | array (string) | —       | ASINs, Amazon product URLs, Keepa product URLs, and complete Keepa deals URLs. Types can be mixed.      |
| `marketplace`            | string         | `us`    | Marketplace for bare ASINs. Amazon and Keepa URLs supply their own marketplace.                         |
| `max_pages`              | integer        | `1`     | Maximum pages per Keepa deals URL. This does not affect product lookups.                                |
| `raw_output`             | boolean        | `false` | Keep Keepa's native fields and arrays instead of the readable output. Disabled add-ons remain excluded. |
| `include_price_history`  | boolean        | `false` | Add product price histories including Amazon, Buybox, New, Used, Warehouse & more (paid add-on)         |
| `include_offers_sellers` | boolean        | `false` | Add product offers, standalone offer counts, seller lists, and stock quantities (paid add-on).          |
| `output_fields`          | array (string) | `[]`    | Optional fields to include. Empty returns all enabled fields. Metadata fields are always included.      |

#### Supported Identifiers

| Identifier                                                                    | Result         |
| ----------------------------------------------------------------------------- | -------------- |
| `B0C33CHG99`                                                                  | Product search |
| `https://www.amazon.com/dp/B0C33CHG99`                                        | Product search |
| `https://keepa.com/#!product/3-B0FRYBZR91`                                    | Product search |
| `https://keepa.com/#!deals/<Filter Query>` (copy the complete URL from Keepa) | Deals search   |

#### JSON Input

Sample JSON input for the Apify API, CLI, or integrations:

```json
{
    "identifiers": ["B0C33CHG99", "https://keepa.com/#!product/3-B0FRYBZR91"],
    "marketplace": "us",
    "max_pages": 1,
    "raw_output": false,
    "include_price_history": false,
    "include_offers_sellers": false,
    "output_fields": []
}
```

To add deals, paste a complete Keepa deals URL into the same `identifiers` list. The Actor will use the filters saved in that URL.

### ❸ Output

#### Product Search

###### Requires: `ASIN`, `Amazon URL`, or `Keepa product URL`

###### Base fields: `data_captured_at`, `data_type`, `asin`, `title`, `marketplace`, `brand`, `category_tree`, `monthly_sold`, `bsr`, `rating`, `statistics`, `product_url`, current prices, Buy Box details and more.

###### ℹ️ This base-output sample shows selected fields from one product. Long histories are shortened. The dataset contains the full record. For a complete list of fields, see our [Output Schema / JSON Schema](https://apify.com/radeance/keepa-scraper/output-schema)

```json
[
    {
        "data_captured_at": "2026-10-01T12:59:54.989971Z",
        "data_type": "product_search",
        "asin": "B0BN72FYFG",
        "title": "Apple iPhone 14, 128GB, Midnight - Unlocked (Renewed)",
        "marketplace": "us",
        "currency": "USD",
        "brand": "Apple",
        "model": "iPhone 14",
        "product_url": "https://www.amazon.com/dp/B0BN72FYFG",
        "product_image_url": "https://m.media-amazon.com/images/I/61WUSYIQdKL.jpg",
        "new_price": 298.94,
        "used_price": 269.96,
        "new_fba_price": 299.0,
        "new_fbm_price": 298.94,
        "buybox_price": 299.95,
        "list_price": 389.0,
        "buybox_seller_id": "A2ZA9A2J109LFF",
        "buybox_is_fba": false,
        "buybox_shipping": 0.0,
        "buybox_eligible_offer_counts": {
            "new_fba": 9,
            "new_fbm": 32
        },
        "buybox_seller_id_history": [
            { "seen_at": "2026-09-30T14:49:00Z", "seller_id": "A2ZA9A2J109LFF" }
        ],
        "bsr": 1,
        "sales_rank_drops30": 3,
        "rating": 4.0,
        "rating_count": 13859,
        "monthly_sold": 6000,
        "category_tree": [
            { "category_id": 2335752011, "name": "Cell Phones & Accessories" },
            { "category_id": 7072561011, "name": "Cell Phones" }
        ],
        "statistics": {
            "new_price": {
                "current": 298.94,
                "average_30_days": 296.13
            },
            "buybox_price": {
                "current": 299.95,
                "average_30_days": 304.45
            },
            "bsr": {
                "current": 1,
                "average_30_days": 1
            }
        },
        "bsr_history": [{ "seen_at": "2026-09-16T08:32:00Z", "value": 1 }],
        "coupon_history": [
            {
                "seen_at": "2025-10-09T23:32:00Z",
                "one_time": { "discount_type": "percentage", "value": 5 }
            }
        ]
    }
]
```

#### Offers & Seller Data add-on

###### ℹ️ Set `include_offers_sellers` to `true` to add offer, seller, and stock fields to the **same product record**. For example, these additional fields come from the product above (here only one offer shown):

```json
{
    "new_offer_count": 41,
    "total_offer_count": 118,
    "stock_buybox": 188,
    "offers": [
        {
            "offer_id": 385,
            "seller_id": "A2ZA9A2J109LFF",
            "condition_name": "refurbished",
            "is_prime": false,
            "is_fba": false,
            "price": 299.95,
            "shipping": 0.0,
            "total_price": 299.95,
            "is_active": true
        }
    ]
}
```

#### Historical Pricing Data Add-on

###### ℹ️ Set `include_price_history` to `true` to add price histories to the **same product record**. Price statistics and non-price histories are already included in the base output. These additional fields show a shortened history from the product above:

```json
{
    "new_price_history": [
        { "seen_at": "2026-09-30T14:49:00Z", "price": 298.99 },
        { "seen_at": "2026-09-30T15:09:00Z", "price": 298.94 }
    ],
    "used_price_history": [
        { "seen_at": "2026-09-30T14:49:00Z", "price": 269.0 },
        { "seen_at": "2026-09-30T15:09:00Z", "price": 269.96 }
    ],
    "buybox_price_history": [
        { "seen_at": "2026-09-30T14:49:00Z", "price": 299.95, "shipping": 0.0 }
    ]
}
```

#### Deals Search

###### Requires: `Keepa deals URL` copied after setting filters on Keepa (Pro Filters are not supported)

###### Fields: `data_captured_at`, `data_type`, `page`, `asin`, `title`, `marketplace`, `product_url`, `metric`, `current_value`, `average_value`, `difference_from_average`, `difference_percent`, `category_ids`, `source_url`, and more

###### ℹ️ This base-output sample shows selected fields from one deal. The dataset contains the full record. For a complete list of fields, see our [Output Schema / JSON Schema](https://apify.com/radeance/keepa-scraper/output-schema)

```json
[
    {
        "data_captured_at": "2026-09-30T15:31:49.554861Z",
        "data_type": "deal",
        "page": 0,
        "asin": "B0028OA2O0",
        "title": "Justice League: Justice on Trial (DVD) (AT)",
        "marketplace": "us",
        "currency": "USD",
        "product_url": "https://www.amazon.com/dp/B0028OA2O0",
        "category_ids": [2649512011],
        "metric": "buybox_price",
        "price_type_id": 18,
        "date_range": "week",
        "current_value": 5.97,
        "current_since": "2026-09-29T10:26:00Z",
        "average_value": 47.56,
        "difference_from_average": 41.59,
        "difference_percent": 87,
        "deal_created_at": "2026-09-29T10:26:00Z"
    }
]
```

#### Table View Output

##### Overview Table 📦

<img src="https://i.imgur.com/lZxZoNg.png" alt="Keepa Scraper Overview Table Output" style="border-radius: 14px;" />

##### Product Table 📦

<img src="https://i.imgur.com/h14JILg.png" alt="Keepa Scraper Overview Table Output" style="border-radius: 14px;" />

##### Catalog & Media Table 📦

<img src="https://i.imgur.com/wFblGo2.png" alt="Keepa Scraper Overview Table Output" style="border-radius: 14px;" />

##### Statistics Table 📦

<img src="https://i.imgur.com/8jeag2q.png" alt="Keepa Scraper Overview Table Output" style="border-radius: 14px;" />

##### Price & Rank Histories Table 📦

<img src="https://i.imgur.com/7AzfVfC.png" alt="Keepa Scraper Overview Table Output" style="border-radius: 14px;" />

##### Offers Table 📦

<img src="https://i.imgur.com/gfIXuxD.png" alt="Keepa Scraper Overview Table Output" style="border-radius: 14px;" />

##### Deals Table 📦

<img src="https://i.imgur.com/zBMqg8i.png" alt="Keepa Scraper Overview Table Output" style="border-radius: 14px;" />

### ❹ Usage Limits

The Actor's default limits depend on your Apify plan:

| User Type | Run allowance | Unique identifiers per run | Deals pages per Keepa Deals URL | Keepa Deals URLs per run | Reset Period |
| --------- | ------------- | -------------------------- | ------------------------------- | ------------------------ | ------------ |
| **Free**  | 50 trial runs | 5                          | 1                               | 1                        | No reset     |
| **Paid**  | Not limited   | 1000                       | 500                             | No limit                 | N/A          |

#### How Limits Work

- **Free users**: The 50-run trial does not reset. Only the first five unique identifiers (only one Keepa Deals URL) and up to 1 deals pages are processed per run.
- **Paid users**: Can process up to 1000 unique identifiers and request up to 500 pages per deals URL.
- **All users**: Duplicate identifiers are removed before limits are applied. Apify usage charges and any external verification costs are separate.

### ❺ Use Cases

Use the ready-made tasks below to start with a preconfigured Keepa Scraper workflow:

- **[Get Amazon Price History for Any Product](https://apify.com/radeance/keepa-scraper/examples/get-amazon-price-history-for-any-product):**
  Get detailed historical pricing for Amazon products, including Amazon, New, Used, Buy Box, FBA, FBM, Warehouse, Lightning Deal, and other price histories.

- **[Get Amazon Monthly Sales Estimates](https://apify.com/radeance/keepa-scraper/examples/get-amazon-monthly-sales-estimates):**
  Estimate how many units an Amazon product sells per month. Compare demand across ASINs alongside BSR, prices, ratings, reviews, and other product metrics.

- **[Get Amazon Sales Rank & BSR History](https://apify.com/radeance/keepa-scraper/examples/get-amazon-sales-rank-bsr-history):**
  Analyze current and historical Amazon Best Sellers Rank (BSR), category rankings, monthly sold estimates, and sales-rank trends for product research and demand analysis.

- **[Analyze Amazon Buy Box Prices & Sellers](https://apify.com/radeance/keepa-scraper/examples/analyze-amazon-buy-box-prices-sellers):**
  Analyze current and historical Buy Box prices, winning sellers, FBA status, shipping, stock, eligible offers, and Buy Box seller history.

- **[Get Amazon Sellers, Offers, Prices & Stock](https://apify.com/radeance/keepa-scraper/examples/get-amazon-sellers-offers-prices-stock):**
  Extract FBA and FBM offers, seller IDs, prices, shipping, stock quantities, Prime status, offer counts, and other competitive seller data.

- **[Check Amazon Price Drops](https://apify.com/radeance/keepa-scraper/examples/check-amazon-price-drops):**
  Determine whether an Amazon product is currently a good deal by comparing its price with historical averages, minimums, maximums, and previous price levels.
  The **Keepa Scraper** combines product lookups and filtered deals searches in a single, structured dataset.

### ❻ FAQ

#### How do I find the ASIN of a product?

The ASIN is Amazon's 10-character product identifier. It appears after `/dp/` in many Amazon product URLs and in the product details on Amazon.

#### Can I scrape data for multiple products at once?

Yes. Add ASINs, Amazon URLs, Keepa product URLs, and Keepa deals URLs to the same `identifiers` list. The Actor recognizes each type, removes duplicates, and writes records as they arrive. Plan limits still apply.

#### How accurate is the data, especially pricing and seller information?

The Actor returns Keepa's available data at scrape time, which can differ from live Amazon listings. Check `data_captured_at` for the scrape time and the relevant `*_seen_at` or `last_update` fields for Keepa's observation times. Some fields may be null when Keepa has no value.

#### What marketplaces are supported?

The Keepa Scraper supports these Amazon marketplaces:

- United States (us)
- United Kingdom (uk)
- Germany (de)
- France (fr)
- Japan (jp)
- Canada (ca)
- Italy (it)
- Spain (es)
- India (in)
- Mexico (mx)
- Brazil (br)

### ❼ While the scraper is running

During the run, the actor will output log messages letting you know what is going on at any point. Each message always contains specific information about the process including which url / page the actor is working on.

If you provide invalid inputs to the actor, it will immediately stop with a failure state and output log messages explaining what is wrong. If you are unsure what went wrong feel free to open up an issue in the issue tab.

### ❽ Disclaimer

The **Keepa Scraper** is not affiliated with or endorsed by Keepa.com or Amazon.com. The Keepa Scraper is a third-party tool that uses publicly available data from Keepa.com and Amazon.com to provide insights and analysis. We are not responsible for any actions taken by users of the Keepa Scraper, including any violations of Keepa.com's or Amazon.com's terms of service.

The **Keepa Scraper** is designed to ethically extract **only publicly available product data**, and it **does not** scrape private user data such as personal email addresses or personal identifiers.

Our services are ethical and **do not extract any private user data**. They only extract **what individuals or companies chose to share publicly**. We therefore believe that our services, when used for ethical purposes by our users, are safe to use. However, you should be aware that your results could contain personal data. Personal data is protected by the **GDPR** in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. For more information you can read this [Apify blog post](https://blog.apify.com/is-web-scraping-legal/) on the legality of web scraping.

### ❾ Feedback and Support

**Your satisfaction** is **important** to us! Therefore we are constantly striving to enhance the performance of our Actors.

If you have any technical feedback or encounter any bugs with the Keepa Scraper, please create an issue in the Actor’s Issues tab on the Apify Console.

You can also contact us directly for custom integrations or project use cases at business@radeance.com.

# Changelog

This Actor's version history is a separate document: https://apify.com/radeance/keepa-scraper/changelog.md

# Actor input Schema

## `identifiers` (type: `array`):

Add ASINs, Amazon product URLs, Keepa product URLs (keepa.com/#!product/<domainId>-<ASIN>), or Keepa deals URLs (keepa.com/#!deals/ with encoded filters). Product lookups and deals can be mixed in one run; duplicates are removed.

## `marketplace` (type: `string`):

Marketplace used for bare ASINs. Amazon and Keepa product URLs use their own marketplace provided. Keepa Deals URLs infer it from the URL.

## `include_price_history` (type: `boolean`):

Include product price histories. Current prices, price statistics, and non-price histories remain in base output. Charged only when price history is included in a product result.

## `include_offers_sellers` (type: `boolean`):

Include product offers, standalone offer counts, seller lists, and stock quantities. Buy Box seller/status details, eligible-offer counts, and statistics remain in base output. Charged only when add-on data is included in a product result.

## `max_pages` (type: `integer`):

For each Keepa deals URL, fetches up to this many pages. Does not affect product lookups.

## `raw_output` (type: `boolean`):

Return endpoint-native Keepa product or deal fields and compact arrays without clean-output transformations for existing workflow integrations. Disabled product add-ons remain excluded. Actor metadata fields data\_captured\_at and data\_type are still included.

## `output_fields` (type: `array`):

Leave empty to push all product or deal output fields. Select top-level fields to push only those fields; data\_captured\_at and data\_type are always included. Fields absent from a record are omitted. With Raw output enabled, use endpoint-native names; raw-only names are marked (raw).

## Actor input object example

```json
{
  "identifiers": [
    "B0BN72FYFG",
    "https://www.amazon.com/Apple-2025-MacBook-15-inch-Laptop/dp/B0DZDBDCFH/",
    "https://keepa.com/#!deals/%7B%22page%22%3A0%2C%22domainId%22%3A%221%22%2C%22excludeCategories%22%3A%5B%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%5D%2C%22includeCategories%22%3A%5B%5B%5D%2C%5B2625373011%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%5D%2C%22priceTypes%22%3A%5B18%5D%2C%22deltaRange%22%3A%5B100%2C100000%5D%2C%22deltaPercentRange%22%3A%5B80%2C90%5D%2C%22salesRankRange%22%3A%5B-1%2C-1%5D%2C%22currentRange%22%3A%5B500%2C50000%5D%2C%22minRating%22%3A40%2C%22isLowest%22%3Afalse%2C%22isLowest90%22%3Afalse%2C%22isLowestOffer%22%3Afalse%2C%22isOutOfStock%22%3Afalse%2C%22titleSearch%22%3A%22%22%2C%22isRangeEnabled%22%3Atrue%2C%22isFilterEnabled%22%3Atrue%2C%22filterErotic%22%3Afalse%2C%22singleVariation%22%3Afalse%2C%22hasReviews%22%3Afalse%2C%22isPrimeExclusive%22%3Afalse%2C%22mustHaveAmazonOffer%22%3Afalse%2C%22mustNotHaveAmazonOffer%22%3Afalse%2C%22sortType%22%3A4%2C%22dateRange%22%3A%221%22%2C%22warehouseConditions%22%3A%5B1%2C2%2C3%2C4%2C5%5D%2C%22settings%22%3A%7B%22viewTyp%22%3A0%7D%2C%22perPage%22%3A150%2C%22salesRankDisplayGroup%22%3A%5B%5D%2C%22websiteDisplayGroupName%22%3A%5B%5D%2C%22websiteDisplayGroup%22%3A%5B%5D%2C%22type%22%3A%5B%5D%2C%22manufacturer%22%3A%5B%5D%2C%22brand%22%3A%5B%5D%2C%22brandStoreName%22%3A%5B%5D%2C%22brandStoreUrlName%22%3A%5B%5D%2C%22model%22%3A%5B%5D%2C%22color%22%3A%5B%5D%2C%22size%22%3A%5B%5D%2C%22unitType%22%3A%5B%5D%2C%22scent%22%3A%5B%5D%2C%22itemForm%22%3A%5B%5D%2C%22pattern%22%3A%5B%5D%2C%22style%22%3A%5B%5D%2C%22material%22%3A%5B%5D%2C%22itemTypeKeyword%22%3A%5B%5D%2C%22targetAudienceKeyword%22%3A%5B%5D%2C%22edition%22%3A%5B%5D%2C%22format%22%3A%5B%5D%2C%22author%22%3A%5B%5D%2C%22binding%22%3A%5B%5D%2C%22languages%22%3A%5B%5D%2C%22partNumber%22%3A%5B%5D%7D"
  ],
  "marketplace": "us",
  "include_price_history": true,
  "include_offers_sellers": true,
  "max_pages": 1,
  "raw_output": false,
  "output_fields": []
}
```

# 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 = {
    "identifiers": [
        "B0BN72FYFG",
        "https://www.amazon.com/Apple-2025-MacBook-15-inch-Laptop/dp/B0DZDBDCFH/",
        "https://keepa.com/#!deals/%7B%22page%22%3A0%2C%22domainId%22%3A%221%22%2C%22excludeCategories%22%3A%5B%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%5D%2C%22includeCategories%22%3A%5B%5B%5D%2C%5B2625373011%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%5D%2C%22priceTypes%22%3A%5B18%5D%2C%22deltaRange%22%3A%5B100%2C100000%5D%2C%22deltaPercentRange%22%3A%5B80%2C90%5D%2C%22salesRankRange%22%3A%5B-1%2C-1%5D%2C%22currentRange%22%3A%5B500%2C50000%5D%2C%22minRating%22%3A40%2C%22isLowest%22%3Afalse%2C%22isLowest90%22%3Afalse%2C%22isLowestOffer%22%3Afalse%2C%22isOutOfStock%22%3Afalse%2C%22titleSearch%22%3A%22%22%2C%22isRangeEnabled%22%3Atrue%2C%22isFilterEnabled%22%3Atrue%2C%22filterErotic%22%3Afalse%2C%22singleVariation%22%3Afalse%2C%22hasReviews%22%3Afalse%2C%22isPrimeExclusive%22%3Afalse%2C%22mustHaveAmazonOffer%22%3Afalse%2C%22mustNotHaveAmazonOffer%22%3Afalse%2C%22sortType%22%3A4%2C%22dateRange%22%3A%221%22%2C%22warehouseConditions%22%3A%5B1%2C2%2C3%2C4%2C5%5D%2C%22settings%22%3A%7B%22viewTyp%22%3A0%7D%2C%22perPage%22%3A150%2C%22salesRankDisplayGroup%22%3A%5B%5D%2C%22websiteDisplayGroupName%22%3A%5B%5D%2C%22websiteDisplayGroup%22%3A%5B%5D%2C%22type%22%3A%5B%5D%2C%22manufacturer%22%3A%5B%5D%2C%22brand%22%3A%5B%5D%2C%22brandStoreName%22%3A%5B%5D%2C%22brandStoreUrlName%22%3A%5B%5D%2C%22model%22%3A%5B%5D%2C%22color%22%3A%5B%5D%2C%22size%22%3A%5B%5D%2C%22unitType%22%3A%5B%5D%2C%22scent%22%3A%5B%5D%2C%22itemForm%22%3A%5B%5D%2C%22pattern%22%3A%5B%5D%2C%22style%22%3A%5B%5D%2C%22material%22%3A%5B%5D%2C%22itemTypeKeyword%22%3A%5B%5D%2C%22targetAudienceKeyword%22%3A%5B%5D%2C%22edition%22%3A%5B%5D%2C%22format%22%3A%5B%5D%2C%22author%22%3A%5B%5D%2C%22binding%22%3A%5B%5D%2C%22languages%22%3A%5B%5D%2C%22partNumber%22%3A%5B%5D%7D"
    ],
    "output_fields": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("radeance/keepa-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 = {
    "identifiers": [
        "B0BN72FYFG",
        "https://www.amazon.com/Apple-2025-MacBook-15-inch-Laptop/dp/B0DZDBDCFH/",
        "https://keepa.com/#!deals/%7B%22page%22%3A0%2C%22domainId%22%3A%221%22%2C%22excludeCategories%22%3A%5B%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%5D%2C%22includeCategories%22%3A%5B%5B%5D%2C%5B2625373011%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%5D%2C%22priceTypes%22%3A%5B18%5D%2C%22deltaRange%22%3A%5B100%2C100000%5D%2C%22deltaPercentRange%22%3A%5B80%2C90%5D%2C%22salesRankRange%22%3A%5B-1%2C-1%5D%2C%22currentRange%22%3A%5B500%2C50000%5D%2C%22minRating%22%3A40%2C%22isLowest%22%3Afalse%2C%22isLowest90%22%3Afalse%2C%22isLowestOffer%22%3Afalse%2C%22isOutOfStock%22%3Afalse%2C%22titleSearch%22%3A%22%22%2C%22isRangeEnabled%22%3Atrue%2C%22isFilterEnabled%22%3Atrue%2C%22filterErotic%22%3Afalse%2C%22singleVariation%22%3Afalse%2C%22hasReviews%22%3Afalse%2C%22isPrimeExclusive%22%3Afalse%2C%22mustHaveAmazonOffer%22%3Afalse%2C%22mustNotHaveAmazonOffer%22%3Afalse%2C%22sortType%22%3A4%2C%22dateRange%22%3A%221%22%2C%22warehouseConditions%22%3A%5B1%2C2%2C3%2C4%2C5%5D%2C%22settings%22%3A%7B%22viewTyp%22%3A0%7D%2C%22perPage%22%3A150%2C%22salesRankDisplayGroup%22%3A%5B%5D%2C%22websiteDisplayGroupName%22%3A%5B%5D%2C%22websiteDisplayGroup%22%3A%5B%5D%2C%22type%22%3A%5B%5D%2C%22manufacturer%22%3A%5B%5D%2C%22brand%22%3A%5B%5D%2C%22brandStoreName%22%3A%5B%5D%2C%22brandStoreUrlName%22%3A%5B%5D%2C%22model%22%3A%5B%5D%2C%22color%22%3A%5B%5D%2C%22size%22%3A%5B%5D%2C%22unitType%22%3A%5B%5D%2C%22scent%22%3A%5B%5D%2C%22itemForm%22%3A%5B%5D%2C%22pattern%22%3A%5B%5D%2C%22style%22%3A%5B%5D%2C%22material%22%3A%5B%5D%2C%22itemTypeKeyword%22%3A%5B%5D%2C%22targetAudienceKeyword%22%3A%5B%5D%2C%22edition%22%3A%5B%5D%2C%22format%22%3A%5B%5D%2C%22author%22%3A%5B%5D%2C%22binding%22%3A%5B%5D%2C%22languages%22%3A%5B%5D%2C%22partNumber%22%3A%5B%5D%7D",
    ],
    "output_fields": [],
}

# Run the Actor and wait for it to finish
run = client.actor("radeance/keepa-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 '{
  "identifiers": [
    "B0BN72FYFG",
    "https://www.amazon.com/Apple-2025-MacBook-15-inch-Laptop/dp/B0DZDBDCFH/",
    "https://keepa.com/#!deals/%7B%22page%22%3A0%2C%22domainId%22%3A%221%22%2C%22excludeCategories%22%3A%5B%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%5D%2C%22includeCategories%22%3A%5B%5B%5D%2C%5B2625373011%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%2C%5B%5D%5D%2C%22priceTypes%22%3A%5B18%5D%2C%22deltaRange%22%3A%5B100%2C100000%5D%2C%22deltaPercentRange%22%3A%5B80%2C90%5D%2C%22salesRankRange%22%3A%5B-1%2C-1%5D%2C%22currentRange%22%3A%5B500%2C50000%5D%2C%22minRating%22%3A40%2C%22isLowest%22%3Afalse%2C%22isLowest90%22%3Afalse%2C%22isLowestOffer%22%3Afalse%2C%22isOutOfStock%22%3Afalse%2C%22titleSearch%22%3A%22%22%2C%22isRangeEnabled%22%3Atrue%2C%22isFilterEnabled%22%3Atrue%2C%22filterErotic%22%3Afalse%2C%22singleVariation%22%3Afalse%2C%22hasReviews%22%3Afalse%2C%22isPrimeExclusive%22%3Afalse%2C%22mustHaveAmazonOffer%22%3Afalse%2C%22mustNotHaveAmazonOffer%22%3Afalse%2C%22sortType%22%3A4%2C%22dateRange%22%3A%221%22%2C%22warehouseConditions%22%3A%5B1%2C2%2C3%2C4%2C5%5D%2C%22settings%22%3A%7B%22viewTyp%22%3A0%7D%2C%22perPage%22%3A150%2C%22salesRankDisplayGroup%22%3A%5B%5D%2C%22websiteDisplayGroupName%22%3A%5B%5D%2C%22websiteDisplayGroup%22%3A%5B%5D%2C%22type%22%3A%5B%5D%2C%22manufacturer%22%3A%5B%5D%2C%22brand%22%3A%5B%5D%2C%22brandStoreName%22%3A%5B%5D%2C%22brandStoreUrlName%22%3A%5B%5D%2C%22model%22%3A%5B%5D%2C%22color%22%3A%5B%5D%2C%22size%22%3A%5B%5D%2C%22unitType%22%3A%5B%5D%2C%22scent%22%3A%5B%5D%2C%22itemForm%22%3A%5B%5D%2C%22pattern%22%3A%5B%5D%2C%22style%22%3A%5B%5D%2C%22material%22%3A%5B%5D%2C%22itemTypeKeyword%22%3A%5B%5D%2C%22targetAudienceKeyword%22%3A%5B%5D%2C%22edition%22%3A%5B%5D%2C%22format%22%3A%5B%5D%2C%22author%22%3A%5B%5D%2C%22binding%22%3A%5B%5D%2C%22languages%22%3A%5B%5D%2C%22partNumber%22%3A%5B%5D%7D"
  ],
  "output_fields": []
}' |
apify call radeance/keepa-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,radeance/keepa-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/n1AxNvlr6VSEdTcpj/builds/u733dQwFdpBZ4rZCv/openapi.json
