# Amazon Keyword Search Volume & Reverse ASIN Tool (`memo23/amazon-keyword-volume-reverse-asin`) Actor

Monthly Amazon.com search volume for your keyword lists, plus reverse ASIN, product competitors, ASIN rank overview and shared keywords between products. From $1.25 per 1,000 keywords, pay per lookup with no subscription or large minimum. Covers amazon.com (US) only.

- **URL**: https://apify.com/memo23/amazon-keyword-volume-reverse-asin.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** E-commerce, SEO tools
- **Stats:** 2 total users, 1 monthly users, 50.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $25.00 / 1,000 keyword volume blocks

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/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 Keyword Search Volume & Reverse ASIN Tool

Get **monthly Amazon search volume** for your keyword lists, see **which keywords a product ranks for** (reverse ASIN), find the **products competing for the same keywords**, compare **keyword counts across ASINs**, and list the **keywords several products share**. **From $1.25 per 1,000 keywords.** No subscription, pay per lookup. All data covers **amazon.com (US) only**.

![How the Amazon keyword volume actor works](https://api.apify.com/v2/key-value-stores/zIllObWz7xZIkKVwj/records/how-it-works-amazon-keyword-volume.png)

```json
{
  "mode": "searchVolume",
  "keywords": ["yoga mat", "air fryer", "wireless earbuds"]
}
```

| Mode | Input | You get |
|---|---|---|
| Search volume | Keywords | Estimated monthly searches per keyword |
| Reverse ASIN | Up to 25 ASINs per run | Up to 100 keywords per product, with volume, position, organic or sponsored, and product details |
| Competitors | ASINs | Up to 100 products sharing the most keywords with each one, with overlap numbers |
| ASIN overview | ASINs | Keywords in the top 1, 3 and 10, organic and sponsored, and volume totals |
| Shared keywords | 2-10 ASINs | Up to 90 keywords all of them rank for, with each product's position |

### Why Use This Actor?

- **Search volume numbers, not autocomplete guesses.** Each keyword comes back with an estimated monthly search count.
- **Small lists stay cheap.** Three keywords cost $0.03 in total, with no large per-run minimum.
- **You don't pay for thin products.** Before a reverse ASIN lookup, the actor checks how many keywords the product ranks for and skips it without a lookup charge if that is under your minimum.
- **Competitor and overlap data in the same actor.** Find rival products by shared keywords, then compare them.
- **Sorted by what matters.** Reverse ASIN and shared keyword rows come highest volume first.
- **Every ASIN is accounted for.** An ASIN without data gets a free row saying why.

### Use Cases

- **Keyword prioritization:** rank a list of ideas by monthly searches before writing a listing.
- **Listing optimization:** see the terms a rival product places for and work them into titles, bullets and backend terms.
- **PPC planning:** build Sponsored Products lists from real demand, and see where a rival shows as sponsored.
- **Competitor discovery:** find the products that fight for the same searches as yours, including ones you did not know about.
- **Product research:** size demand around an idea, and compare how well the current sellers cover it.
- **Agency reporting:** a keyword overview per client ASIN, on a schedule.

### How It Works

1. Pick a mode and paste keywords or ASINs. Product links work too.
2. Keywords and ASIN overviews go in blocks of 20. Other modes look up one ASIN, or one comparison, at a time.
3. Before each paid lookup, the actor checks that your spending limit can pay for it. If it cannot, the run stops cleanly with what it has.
4. You are charged only when a lookup returns rows.

### Input Configuration

| Field | Type | Description |
|---|---|---|
| `mode` | string | `searchVolume` (default), `reverseAsin`, `competitors`, `asinOverview` or `sharedKeywords`. |
| `keywords` | array | For search volume. Up to 5,000 per run, each at most 80 characters and 10 words. |
| `asins` | array | For the other modes. ASINs or amazon.com product links. Reverse ASIN takes 25 per run, shared keywords 2-10, the others 200. |
| `minKeywords` | integer | Reverse ASIN only. Skip products ranking for fewer keywords than this. 1-100, default 10. |

An empty input runs the search volume example above, and the log says so.

### Output Samples

Search volume:

```json
{
  "type": "keyword-volume",
  "keyword": "yoga mat",
  "monthlySearchVolume": 76183,
  "marketplace": "amazon.com",
  "scrapedAt": "2026-11-01T10:00:00.000Z"
}
```

Reverse ASIN:

```json
{
  "type": "reverse-asin",
  "status": "ok",
  "asin": "B086BNZTSF",
  "keyword": "gaiam",
  "monthlySearchVolume": 3141,
  "position": 33,
  "resultType": "organic",
  "positionWithinType": 32,
  "competingResults": 547,
  "rankedAt": "2026-08-26T03:41:18+00:00",
  "keywordsReturned": 42,
  "keywordsTotal": 42,
  "title": "Premium Yoga Mat, 6mm Thick Print Mat",
  "price": 27.99,
  "currency": "USD",
  "rating": 4,
  "ratingCount": 22100,
  "isAmazonChoice": false,
  "isBestseller": false,
  "boughtPastMonth": 300,
  "url": "https://www.amazon.com/dp/B086BNZTSF",
  "marketplace": "amazon.com"
}
```

Competitor:

```json
{
  "type": "competitor",
  "status": "ok",
  "targetAsin": "B01LP0U5X0",
  "competitorAsin": "B0D9MWTQ9K",
  "sharedKeywords": 1480,
  "averagePosition": 15.39,
  "sharedOrganicKeywords": 1480,
  "sharedOrganicTop10Keywords": 715,
  "sharedOrganicSearchVolume": 396793,
  "url": "https://www.amazon.com/dp/B0D9MWTQ9K"
}
```

### Key Output Fields

| Field | Meaning |
|---|---|
| `monthlySearchVolume` | Estimated monthly searches on amazon.com for the whole keyword, not traffic to one product. `0` means very low. `null` means not enough searches to report. |
| `position` | Place on the results page, counting organic and sponsored together. |
| `resultType` | `organic` or `sponsored`. |
| `competingResults` | Total results for the keyword, a rough measure of competition. |
| `rankedAt` | When the position was seen. It can be several weeks old and differs per keyword. |
| `keywordsReturned`, `keywordsTotal` | How many keywords this row set holds, out of how many the product ranks for. |
| `status` | `ok`, `no-data`, `too-few-keywords` or `lookup-failed`. Rows other than `ok` are free. |

### Pricing

| Event | When | Price |
|---|---|---|
| Actor start | Once per run | $0.005 |
| Keyword volume block | Each block of up to 20 keywords | $0.025 |
| ASIN overview block | Each block of up to 20 ASINs. Reverse ASIN uses it as its check. | $0.025 |
| Competitor lookup | Each ASIN, up to 100 competitors | $0.05 |
| Shared keywords lookup | Each comparison, up to 90 keywords | $0.05 |
| Reverse ASIN lookup | Each ASIN, up to 100 keywords | $0.49 |

Examples: 3 keywords = $0.03. 1,000 keywords = 50 blocks = $1.255. Reverse ASIN on 1 product = $0.005 + $0.025 + $0.49 = $0.52.

A block is charged in full even when it is not full, and a lookup costs the same however many rows it returns. An unknown keyword still counts as part of its block.

### FAQ

**Which Amazon stores are covered?**
amazon.com (US) only. A link to another store is looked up by its ASIN on amazon.com, and the log warns you.

**Are the volumes exact?**
No. Amazon does not publish search counts, so every tool estimates. Use them to compare keywords. Different tools can differ a lot on the absolute numbers.

**Does reverse ASIN return every keyword?**
No, up to 100 per product, and they are the keywords where the product places best, not the highest-volume ones. Products ranking for under 100 keywords get all of them. For a large product with thousands of keywords, `keywordsTotal` shows the full count, and many of the 100 rows are low-volume terms. Use ASIN overview to see the totals first.

**Why was my product skipped?**
It ranks for fewer keywords than `minKeywords` (default 10). Set it to 1 to look it up anyway.

**What am I charged when there is no data?**
Nothing for that lookup. You get a free `no-data` row. Only the start fee, and in reverse ASIN mode the overview block when at least one ASIN in it has data, apply.

**Why did a run stop early?**
Your spending limit could not pay for the next lookup. No lookup is sent that the limit cannot cover.

### Support

Found a bug or need a field? Open an issue on the actor's Issues tab and include the run link.

### ⚠️ Disclaimer

This actor returns aggregated keyword and ranking estimates and public product details for amazon.com. It is not affiliated with or endorsed by Amazon. You are responsible for using the data in line with Amazon's terms and the laws that apply to you.

### SEO Keywords

amazon keyword volume, amazon search volume, reverse asin, reverse asin lookup, amazon keyword research, amazon keyword tool, amazon competitor keywords, amazon ranked keywords, asin keywords, amazon ppc keywords, helium 10 cerebro alternative, jungle scout alternative, amazon seo

# Actor input Schema

## `mode` (type: `string`):

Search volume reads the keywords list. Every other mode reads the ASINs list. All data is for amazon.com (US).

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

For search volume. Up to 5,000 per run, each at most 80 characters and 10 words. Billed per block of 20, so a list of 21 pays for 2 blocks.

## `asins` (type: `array`):

For every mode except search volume. ASINs such as B01LP0U5X0 or amazon.com product links. Reverse ASIN takes up to 25 per run, shared keywords 2-10 as one comparison, the others up to 200.

## `minKeywords` (type: `integer`):

A reverse ASIN lookup costs the same for 1 keyword or 100. Products that rank for fewer keywords than this are skipped without a lookup charge, and the dataset says so.

## Actor input object example

```json
{
  "mode": "searchVolume",
  "keywords": [
    "yoga mat",
    "air fryer",
    "wireless earbuds"
  ],
  "asins": [
    "B01LP0U5X0",
    "B0C7SFV8RH"
  ],
  "minKeywords": 10
}
```

# Actor output Schema

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

Rows told apart by `type`: `keyword-volume`, `reverse-asin`, `competitor`, `asin-overview` and `shared-keyword`.

# 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": [
        "yoga mat",
        "air fryer",
        "wireless earbuds"
    ],
    "asins": [
        "B01LP0U5X0",
        "B0C7SFV8RH"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/amazon-keyword-volume-reverse-asin").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": [
        "yoga mat",
        "air fryer",
        "wireless earbuds",
    ],
    "asins": [
        "B01LP0U5X0",
        "B0C7SFV8RH",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("memo23/amazon-keyword-volume-reverse-asin").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": [
    "yoga mat",
    "air fryer",
    "wireless earbuds"
  ],
  "asins": [
    "B01LP0U5X0",
    "B0C7SFV8RH"
  ]
}' |
apify call memo23/amazon-keyword-volume-reverse-asin --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,memo23/amazon-keyword-volume-reverse-asin"
        }
    }
}
```

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/mBrb0cMRvD92xPVSK/builds/wjVuZscyF4N76lKyG/openapi.json
