Amazon Search Results Scraper
Pricing
from $0.50 / 1,000 search result scrapeds
Amazon Search Results Scraper
Collect Amazon search results for any keyword, with sponsored placements flagged and organic rank reported separately. Filter by price, stars and Prime before collecting, pick your Amazon marketplace, and optionally attach the complete product record to every result.
Pricing
from $0.50 / 1,000 search result scrapeds
Rating
0.0
(0)
Developer
Hamza
Maintained by CommunityActor stats
0
Bookmarked
1.5K
Total users
639
Monthly active users
12 days ago
Last modified
Categories
Features
Share
Scrape Amazon search results for any keyword and turn them into clean, structured data: titles, ASINs, prices, ratings, review counts, Prime status, badges, delivery promises and more. Sponsored placements are flagged and the organic position is reported separately, so you always know where a product really ranks once the ads are removed. Works across 22 Amazon marketplaces, from amazon.com to amazon.co.jp, with prices in each marketplace's own currency.
Built for Amazon sellers tracking keyword rankings, agencies auditing sponsored saturation, and product researchers who need Amazon's own search order rather than a guess at it.
What you can do with it
- Track Amazon keyword rankings. See exactly where a product appears for a search term, both as Amazon displays it and as it ranks with ads excluded.
- Audit sponsored placements. Measure how much of a search term is paid placement, and which brands are buying it.
- Research products and niches. Pull hundreds of listings per keyword with price, rating and review volume, ready for a spreadsheet or a model.
- Monitor competitors. Run on a schedule and diff prices, ratings and rank positions over time.
- Filter before you collect. Restrict to a price band, a minimum star rating or Prime-eligible products so you only pay for the rows you want.
What you get
One dataset row per Amazon search result. Abridged sample:
{"keyword": "protein powder","marketplace": "us","page": 1,"position": 49,"organicPosition": null,"isSponsored": true,"asin": "B008QHPVO4","title": "Optimum Nutrition Gold Standard 100% Whey Protein Powder","url": "https://www.amazon.com/dp/B008QHPVO4","image": "https://m.media-amazon.com/images/I/71qVeA8rZ8L._AC_UL320_.jpg","price": 54.99,"currency": "USD","listPrice": 64.99,"rating": 4.6,"ratingsCount": 862,"boughtInPastMonth": "10K+","isPrime": true,"badge": "Best Seller","deliveryText": "FREE delivery Thu, Aug 14","variantCount": 12,"scrapedAt": "2026-08-07T09:14:02.881Z"}
Every row also carries the full set of extra details Amazon showed on the result card - brand line, stock and coupon messages, deal labels, discount percentage, unit price, delivery lines, variant count, every image the card rendered, and the card's raw text lines and links - so nothing Amazon displayed is thrown away.
Input reference
| Setting | Type | Default | Description |
|---|---|---|---|
| Search keywords | list of text | — (required) | Search terms. Each is searched separately and every row says which term found it. |
| Maximum results per keyword | integer | 50 | Stop after this many results for each search term. |
| Sort results by | select | relevance | Relevance, price low to high, price high to low, average customer rating, newest arrivals, or best selling. |
| Exclude sponsored placements | yes/no | no | Drop paid placements. When off they are kept and flagged. |
| Minimum price | integer | — | Only return products at or above this price, in the selected marketplace's own currency. |
| Maximum price | integer | — | Only return products at or below this price. |
| Minimum star rating | integer | — | Only return products rated at least this many stars (whole stars, 1 to 4). |
| Prime eligible only | yes/no | no | Only return products flagged as Prime eligible. |
| Amazon marketplace | select | us | Which country's Amazon site to read: US, UK, Germany, France, Spain, Italy, Canada, Australia, Japan, India, Mexico, Brazil, Netherlands, Sweden, Poland, UAE, Saudi Arabia, Singapore, Turkey, Egypt, Belgium or Ireland. |
| Parallel targets | integer | 4 | How many search terms to work on at the same time. Higher is faster, but Amazon serves fewer complete results when pushed hard. |
Output fields
| Field | Type | Description |
|---|---|---|
keyword | string | The search term that found this result. |
marketplace | string | The Amazon marketplace this result came from. |
page | integer | Which results page it appeared on. |
position | integer | Position exactly as Amazon displayed it, ads included. |
organicPosition | integer | null | Position with paid placements removed. null for a sponsored result. |
isSponsored | boolean | Whether this is a paid placement. |
asin | string | Amazon's product identifier. |
title | string | Full product title, not the shortened version. |
url | string | Clean link to the product, free of tracking parameters. |
image | string | Product image shown in the results. |
imageLarge | string | Full-size original of the result image. |
images | string[] | Every image found on the result card, de-duplicated. |
price | number | null | Current price. null when Amazon shows no price for that product. |
currency | string | null | Currency the price was published in, read from Amazon itself. |
listPrice | number | null | Struck-through list price, when Amazon shows one. |
typicalPrice | number | null | Amazon's "typical price" market average, kept separate from a real list price so no invented discount appears. |
rating | number | null | Average star rating out of 5. |
ratingsCount | integer | null | How many customers rated the product. |
boughtInPastMonth | string | null | Amazon's "N+ bought in past month" badge text. |
isPrime | boolean | Prime eligibility as shown on the result. |
isAmazonsChoice | boolean | Carries the Amazon's Choice / Overall Pick badge. |
isBestSeller | boolean | Carries the Best Seller badge. |
badge | string | null | Any other badge text on the result. |
brand | string | Brand line shown on the result, when present. |
stockText | string | Stock message such as "Only 3 left in stock". |
couponText | string | Coupon offer shown on the result. |
unitPrice | string | Price per unit, such as "$0.50 / count". |
dealText | string | Deal label (Limited time deal, Lightning Deal...). |
discountPercent | number | Percentage off shown on the result. |
deliveryText | string | null | The delivery promise Amazon printed. |
freeShippingText, fastestDeliveryText | string | Delivery lines as shown. |
variantCount | integer | null | How many size/colour options the listing offers. |
sustainabilityText | string | Climate Pledge Friendly / Small Business style labels. |
subscribeAndSaveText | string | Subscribe & Save offer text. |
otherOffersText | string | "More buying choices" / other offers line. |
soldByText | string | Seller or shipper line, when shown. |
moreOptionsText | string | "+N colors/sizes" style line. |
cardData | object | Raw data attributes of the result card. |
tracking | object | Amazon's content-tracking attributes on the card. |
cardTextLines | string[] | Every text line on the result card, in order. |
ariaLabels | string[] | Every accessibility label on the card. |
links | object[] | Every link on the card (text and full URL). |
scrapedAt | string | ISO timestamp of collection. |
Fields Amazon does not show for a product (for example a list price or a badge) are left out of that row instead of being returned as null.
A run summary is stored alongside the results: rows collected per keyword, pages read, why each keyword stopped, Amazon's own printed estimate of the total (clearly labelled as an estimate), and anything that could not be read.
Pricing
Pay-per-event. You are billed only for the results you actually receive.
Limits & what this actor cannot do
- Amazon publishes a limited set of public results for any one search term - a few hundred at most. A larger limit returns what Amazon actually makes available rather than an unlimited catalogue. Amazon's own printed result count is a rough estimate and is reported as an estimate, never as a total.
- Sponsored placements sit inside Amazon's own results. They are flagged so you can keep or exclude them, but they cannot be removed from the ordering Amazon actually served.
- Prices, ranks, ratings and stock are a snapshot at the moment of collection and keep changing afterwards.
- Prices and availability differ between Amazon marketplaces; results reflect the marketplace you select, in that marketplace's own currency.
- Amazon does not publish a price for every product in a results list. Those products come back with an empty price rather than a guess, and they are not returned at all when a price filter is set.
- Customer reviews, questions and answers are not part of search results and are not returned.
- Speed depends on the size of the job and on Amazon's own response times; no fixed throughput is promised.
- Amazon's terms govern automated access. You are responsible for using the data lawfully and in line with the source site's terms, and for handling any personal data in line with applicable privacy law.
FAQ
Do I need an Amazon account? No. The actor only reads what Amazon publishes to anyone.
Does it need my login or password? No, and there is nowhere to enter one.
Can I schedule it? Yes. Schedule it like any other actor and diff the output over time to watch rank and price move.
Is the data complete? It is complete for what Amazon publicly serves on its search pages. Amazon caps how deep any one search goes, so very large targets return the few hundred results Amazon actually makes available rather than an entire catalogue.
Why do some results have no price? Because Amazon showed none. That happens on real listings, and the actor reports it honestly rather than substituting a delivery fee or a related product's price.
What is the difference between position and organicPosition?
position is where Amazon displayed the result, ads included.
organicPosition counts only unpaid results, so it is the rank your listing
holds on merit. Sponsored results have no organic position.
Which Amazon marketplaces are supported? United States, United Kingdom, Germany, France, Spain, Italy, Canada, Australia, Japan, India, Mexico, Brazil, Netherlands, Sweden, Poland, United Arab Emirates, Saudi Arabia, Singapore, Turkey, Egypt, Belgium and Ireland.