Amazon Ranked Keywords Analyzer
Pricing
from $0.17 / 1,000 results
Amazon Ranked Keywords Analyzer
Discover What Keywords Your Products Rank For on Amazon Instantly find all the search keywords an Amazon product ranks for — along with search volume, ranking positions, and competitive insights. Perfect for product research, competitor analysis, and Amazon SEO optimization.
Pricing
from $0.17 / 1,000 results
Rating
0.0
(0)
Developer
wang wei
Maintained by CommunityActor stats
1
Bookmarked
26
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
Amazon Ranked Keywords Analyzer — find every keyword your product ranks for
Discover all the search keywords an Amazon ASIN ranks for, along with monthly search volume, ranking positions, ratings, pricing, badges (Best Seller / Amazon's Choice), and competitive metrics. Cursor-paginates upstream results via numeric offset (up to 1,000 keywords per run).
Why Use This Actor
| Problem | How This Actor Solves It |
|---|---|
| Need to know what keywords an ASIN ranks for? | Run the Actor with the ASIN — get the full list of ranked keywords in one shot. |
| Need more than 100 keywords? | Set limit up to 1,000 (upstream cap). To go beyond, run again with offset set to the previous run's _nextOffset. |
| Tracking multiple products? | Pass up to 10 ASINs in one run (comma or newline separated). |
| Need competitive context? | Each keyword row includes rank position, the SERP item's title/price/rating/badges, and the SERP URL for manual inspection. |
What You Get
For every ranked keyword you receive:
- Keyword: text, monthly
searchVolume,keywordLastUpdated - Ranking:
rankGroup,rankAbsolute,position(left/right),serpItemType(organic vs paid) - SERP Item:
domain,title,url,asin,imageUrl,priceFrom/priceTo,currency - Signals:
isBestSeller,isAmazonChoice,rating/ratingMax/ratingVotes,boughtPastMonth,specialOffers - Context:
seResultsCount(competing results count),checkUrl(the search that returned this row),serpItemTypes,deliveryInfo - Provenance:
query(echo),totalCount,nextOffset(for pagination)
Quick Start
1. Run with Example Input
{"asin": "B0C2JXSHSK","marketplace": "United States","language": "English","limit": 250}
Returns up to 250 ranked keywords for that ASIN on Amazon US.
2. Export Your Results
- Open the run in Apify Console.
- Click the Dataset tab → Export → JSON / CSV / Excel.
- Or fetch the API:
GET https://api.apify.com/v2/acts/<ACTOR_ID>/runs/<RUN_ID>/dataset/items
Input Reference
Top-Level Structure
{"asin": "B0C2JXSHSK\nB08N5WRWNW","marketplace": "United States","language": "English","limit": 100,"offset": 0,"ignore_synonyms": false}
asin — Amazon ASINs
| Required | Type | Default | Description |
|---|---|---|---|
| No | string (textarea) | B0C2JXSHSK (test ASIN) | One or more ASINs, separated by commas or newlines. Up to 10 per run. |
Examples:
B0C2JXSHSKB08N5WRWNWB09G3HRMVB
marketplace — Amazon Marketplace
| Required | Type | Default | Description |
|---|---|---|---|
| No | select | United States | Amazon marketplace. Currently only US is supported by the upstream API — other markets return Invalid Field: 'location_code'. |
language — Result Language
| Required | Type | Default | Description |
|---|---|---|---|
| No | select | English | Language for keyword data. Only English is currently wired up. |
limit — Keyword Limit (per ASIN)
| Required | Type | Default | Min | Max | Description |
|---|---|---|---|---|---|
| No | integer | 100 | 1 | 1000 | How many keywords to retrieve per ASIN. |
offset — Pagination Offset
| Required | Type | Default | Description |
|---|---|---|---|
| No | integer | 0 | Skip the first N keywords. To paginate: first run returns up to limit keywords with nextOffset on each row. Second run sets offset to that value to get the next batch. |
ignore_synonyms — Ignore Synonyms
| Required | Type | Default | Description |
|---|---|---|---|
| No | boolean | false | If true, the upstream API skips highly similar keyword variants and returns only core keywords. |
Output Reference
Keyword Object — one row per ranked keyword
| Field | Type | Description |
|---|---|---|
keyword | string | The search keyword the ASIN ranks for. |
searchVolume | number | Monthly search volume. |
keywordLastUpdated | string|null | ISO timestamp of last keyword data update. |
serpItemType | string|null | amazon_serp (organic) or amazon_paid (sponsored). |
serpItemTypes | string[] | All SERP types this keyword returns. |
rankGroup | number | Ranking position group. |
rankAbsolute | number | Absolute ranking position. |
position | string|null | left or right placement. |
domain | string | Always www.amazon.com for Amazon results. |
title | string | SERP item title. |
url | string | SERP item URL. |
asin | string | The ASIN of the SERP item. |
imageUrl | string|null | Product image URL. |
priceFrom | number|null | Lowest price in the price range. |
priceTo | number|null | Highest price (null for fixed-price items). |
currency | string | Currency code, e.g. USD. |
isBestSeller | boolean | Best Seller badge flag. |
isAmazonChoice | boolean | Amazon's Choice badge flag. |
rating | number | Product rating (0–5). |
ratingMax | number | Maximum rating value (always 5). |
ratingVotes | number | Total ratings count. |
boughtPastMonth | number|null | Estimated units bought in the past month. |
deliveryInfo | object|null | Delivery info (free shipping, Prime, etc). |
specialOffers | string|null | Special offer text. |
seResultsCount | number | Total competing results for this keyword on Amazon. |
serpLastUpdated | string|null | Last SERP data update. |
serpPreviousUpdated | string|null | Previous SERP data update. |
checkUrl | string|null | The Amazon search URL that produced this row. |
query | object | Echo of the input that produced this row (asin, marketplace, language, etc). |
totalCount | number | Total keywords upstream found for this ASIN. |
nextOffset | number|null | Pass this into the next run's offset to fetch the next batch. null when exhausted. |
Run Summary
Stored under the SUMMARY key in the default key-value store. Shape:
{"ok": true,"query": {"asins": ["B0C2JXSHSK"],"marketplace": "United States","locationCode": 2840,"language": "English","languageCode": "en","limit": 100,"offset": 0,"ignoreSynonyms": false},"perAsin": {"B0C2JXSHSK": { "totalCount": 5005, "collected": 100, "hasMore": true }},"result": { "totalCollected": 100, "rowsReturned": 100 },"errors": [],"paying": false,"freeRunsToday": 1,"apiRequests": 1,"completedAt": "2026-07-21T08:00:00.000Z"}
Pagination — How It Works
Each ASIN returns up to limit keywords (default 100). To paginate:
Run 1: offset=0 → 100 keywords (1-100), nextOffset on rows = 100Run 2: offset=100 → 100 keywords (101-200), nextOffset on rows = 200Run 3: offset=200 → 100 keywords (201-300), nextOffset on rows = 300...
When nextOffset is null, the upstream has no more results for this ASIN.
Upstream cap: limit is capped at 1000 per request. The Amazon Labs endpoint does not impose a hard offset + limit ceiling (unlike some other DataForSEO endpoints) — verified up to offset=9900.
Marketplace Coverage
The upstream DataForSEO Labs Amazon endpoint supports 4 marketplaces, each with a fixed list of Amazon-supported languages:
| Marketplace | Location Code | Amazon-Supported Languages |
|---|---|---|
| United States | 2840 | English, Spanish |
| Egypt | 2818 | Arabic |
| Saudi Arabia | 2682 | Arabic |
| United Arab Emirates | 2784 | Arabic |
Combining a marketplace with a non-supported language returns Invalid Field: 'language_code' (e.g. United States + Arabic). The Actor auto-falls-back to the marketplace's first Amazon-supported language when the user-supplied language is unsupported for the chosen marketplace.
If the upstream gains more locations, they'll be added to src/constants.js and the input schema in a single release.
Pricing & Limits
- Free tier: 5 runs/day (capped via Actor-scoped KV store).
- Hard cap per run: 1,000 keywords per ASIN (upstream limit).
- Hard cap on ASINs per run: 10.
- Default
limit: 100. - Marketplaces: United States, Egypt, Saudi Arabia, UAE.
FAQ
Q: Why are all rows in my old runs empty/null?
A: If you ran the previous version (v0.1.x), it read the wrong upstream fields (items[i].keyword_info, items[i].serp_item) — those nested paths don't exist, so rows came out as null. v1.2 fixes the parser. Re-run the Actor to get real data.
Q: Why only 4 marketplaces?
A: That's all the upstream DataForSEO Labs Amazon endpoint currently exposes (verified against /dataforseo_labs/locations_and_languages — Amazon's available_sources field only marks these 4 as Amazon-supported). The endpoint docs say the same: https://docs.dataforseo.com/v3/dataforseo_labs/amazon/ranked_keywords/live/
Q: Can I use Arabic in the United States marketplace? A: No. Each marketplace has a fixed set of Amazon-supported languages. United States only accepts English and Spanish. If you submit a non-supported pairing (e.g. United States + Arabic), the Actor falls back to the marketplace's first supported language (English in this case).
Q: Can I get more than 1000 keywords per ASIN?
A: Yes — use offset pagination. Run 1 with offset=0, limit=1000, run 2 with offset=1000, limit=1000, etc.
Q: How does ignore_synonyms work?
A: It tells the upstream API to deduplicate highly similar keyword variants (e.g. "running shoes" vs "running shoe"). Useful for getting core keyword counts, not the long-tail.
Support
- Console run page: open the run for live logs + retry options.
- Email: sam.wang0420@gmail.com
License
MIT License — free to use and modify.