Amazon Search Scraper avatar

Amazon Search Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Amazon Search Scraper

Amazon Search Scraper

Collect Amazon search results by keyword - rank, ASIN, price, rating and sponsored flag - across 7 marketplaces.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

String

String

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Amazon Search Scraper — ranked keyword results, prices and sponsored flags

This Actor scrapes Amazon search results for any keyword and returns one row per result with its on-page rank, asin, title, a numeric price, currency, rating, reviewCount, imageUrl and an isSponsored flag. It searches seven Amazon marketplaces — US, UK, Germany, France, Spain, Japan and Australia.

No Amazon account, API key or cookies are used — the Amazon Search Scraper reads the public results page a logged-out visitor sees. Around 22 results per search term, in about 3.4 seconds per search at the measured median.

What it returns

FieldTypeNotes
querystringThe search term this row came from
ranknumberPosition on the results page, 1-based, ads included
asinstringAmazon's product ID — stable, use it to join or de-duplicate
titlestringThe product title, not the brand line above it
pricenumber24.99, not "$24.99"
priceTextstringThe formatted price as shown, in the marketplace's own currency
currencystringISO code — USD, GBP, EUR, JPY, AUD
ratingnumberStars out of 5. Locale decimals are handled — "4,5" on .de is 4.5
reviewCountnumberExact where the page carries the exact count, e.g. 8157 rather than 8.1K
isSponsoredbooleantrue for an ad placement
imageUrlstringThe result's thumbnail
marketplacestringus, uk, de, fr, es, jp, au
sourceUrl, collectedAtstringProvenance for every row

Input

{
"queries": ["wireless earbuds", "usb c charger"],
"marketplace": "us",
"maxItems": 1000
}
FieldDescription
queriesKeywords to search on Amazon. Required, 1–50.
marketplaceus (default), uk, de, fr, es, jp or au.
maxItemsCap on dataset items. Default 1000. Free plans stop at 250 requests and 250 results — see below.
concurrencySearches fetched in parallel. Default 5, maximum 10.

rank is the position on the page, with ads counted in place. An ad's slot is the point: the isSponsored flag tells you which rows are paid, so you can measure organic rank and sponsored share of the first page from the same dataset.

Each search is fetched from an exit in its own country and carries Amazon's own language parameter, so amazon.de returns German titles and euro prices rather than English titles converted to USD.

How it reads the page

An Amazon search page carries no state blob and runs 1.2–2.5MB, so the Amazon Search Scraper parses the result grid directly. Each result element is sliced by balancing its <div> tags rather than splitting on the next result, which is what keeps an injected comparison table or brand carousel from folding a neighbour's price into a row that has none. Sponsored rows are detected from markup classes rather than the visible "Sponsored" label, so the flag holds in every marketplace's language.

Use cases

  • Keyword rank tracking for your own ASINs over time
  • Measuring sponsored share of the first page for a keyword
  • Competitor discovery — who ranks for the terms you sell against
  • Price benchmarking across a keyword's first page
  • Comparing assortment and pricing for one keyword in seven marketplaces

Frequently asked questions

Do I need an Amazon account or API key to scrape Amazon search results? No. The Amazon Search Scraper reads only the public search results page a logged-out visitor sees.

How many results does one search term return? Around 22 — one Amazon results page per keyword. This Actor does not paginate, so a keyword produces one fetch and one page of rows.

Are sponsored products included? Yes, and they are marked. Every row carries isSponsored, and rank counts ad placements in the position they occupy on the page.

Which Amazon marketplaces can I search? Seven: US, UK, Germany, France, Spain, Japan and Australia. Every row carries its marketplace, so one dataset can hold several.

Is the price a number? Yes. price is numeric with the displayed string in priceText, and currency is read from what the page printed rather than assumed from the storefront.

What happens to a search that returns no results page? That query is recorded under failures in the run's SUMMARY key, and the other queries in the run still return.

Limitations

One results page per keyword: no pagination, no search filters, no sort order, and no department or category restriction. Search rows carry what the grid shows, so there is no product description, availability, seller or variant data — use the Amazon Product Scraper on the returned ASINs for that. Marketplaces outside the seven listed above, including amazon.in, are not supported. Rankings reflect the page at collection time, stamped in collectedAt.

Free plan limit

Runs started from an Apify free plan stop at 250 requests and 250 results, and the run reports that it reached the limit. Any paid plan runs the full input and maxItems you set.

The limit exists because this Actor fetches through our own infrastructure, which Apify does not cover for free-plan runs. It binds on requests as well as results so that a large input list cannot spend those fetches for rows the run will not return.