Amazon Search Scraper
Pricing
$0.80 / 1,000 results
Amazon Search Scraper
Scrape public amazon.com search results by keyword or search URL with prices, ratings, badges, delivery details, sponsored flags, and rank positions.
Pricing
$0.80 / 1,000 results
Rating
0.0
(0)
Developer
MLG Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
Scrape amazon.com search results by keyword or by a saved Amazon search URL. Export public product cards to CSV, JSON, or Excel with ASINs, prices, ratings, badges, sponsored placement, and search positions. This Amazon search data alternative is built for repeatable product research and ranking checks on the United States marketplace.
Each dataset row represents a product card in one search. The same product can appear again under a different keyword because its rank, badge, price, and delivery message can differ between searches. Keep the query and position columns when combining exports.
What data can you extract from Amazon?
The actor reads the information visible on public search result cards. Fields remain null when a card omits that information. Prices are objects with a numeric value, the displayed currency symbol, and the original raw text. A result does not require a product detail page visit.
| Field | Description | Example |
|---|---|---|
asin | Product identifier | B0HDBKFHKK |
title | Search card title | XIAOWTEK Wireless Earbuds... |
url | Canonical product page | https://www.amazon.com/dp/B0HDBKFHKK |
marketplace | Marketplace code | US |
searchQuery | Keyword that produced the row | wireless earbuds |
sortBy | Requested sort order | relevance |
page | Search page number | 1 |
positionOnPage | Product card slot on the page | 1 |
positionOverall | Product card slot across retrieved pages | 1 |
isSponsored | Whether the card says Sponsored | false |
isAmazonChoice | Whether the card carries an Amazon Choice label | true |
isBestSeller | Whether the card carries a Best Seller label | false |
isPrime | Prime signal visible on the card | true |
price | Displayed offer price | {"value":19.99,"currency":"$","raw":"$19.99"} |
listPrice | Displayed reference price, if any | {"value":199.99,"currency":"$","raw":"$199.99"} |
stars | Displayed rating out of five | 4.8 |
reviewsCount | Number of ratings displayed | 869 |
thumbnailImage | Product image URL | https://m.media-amazon.com/images/I/61aSuH86kYL._AC_UY218_.jpg |
deliveryText | Primary delivery message on the card | Join Prime to get FREE delivery Tue, Sep 29... |
fastDeliveryText | Secondary fast delivery message, when separate | null |
badgeText | Displayed badge text | Overall Pick |
couponText | Coupon message, when shown | null |
prevPurchased | Whether a recent purchase volume message appears | false |
purchaseVolumeText | Recent purchase volume message | 1K+ bought in past month |
variantHint | Visible color, size, or style hint | null |
input | Original keyword or search URL | wireless earbuds |
searchUrl | Search page that produced the card | https://www.amazon.com/gp/aw/s?k=wireless+earbuds |
scrapedAt | UTC time of the collection | 2026-09-27T12:58:57+00:00 |
price is the current amount displayed on the search card. listPrice is a separate reference amount that appears on some cards. A list price alone does not establish that every buyer receives a discount. reviewsCount describes the count shown beside the rating; cards without a rating can leave both values null. The isPrime flag comes from a visible search card signal and is a best effort indicator, not an eligibility check for a particular account or delivery address.
How to scrape Amazon search results
- Enter one or more phrases in
searchQueries, or paste publicamazon.com/sURLs intostartUrls. - Set
maxResultsPerQuery,maxResults, andmaxPagesfor the amount of data you need. - Optionally choose a sort order, price bounds, the four-star filter, the Prime filter, or sponsored result handling.
- Run the actor and inspect the default dataset. Download the rows as CSV, JSON, or Excel.
Start with one keyword and two or three pages when checking a new research topic. Save that input if you intend to repeat the search later. A run returns the result cards Amazon served at that time, so product order and card details can change between runs. Use asin to identify a product, and use searchQuery, page, and positionOnPage together to describe where it appeared.
Input
You can mix keyword searches and direct search URLs in one run. Keyword searches use the United States marketplace. Direct URLs must be public HTTPS amazon.com/s or amazon.com/gp/aw/s pages with a k or keywords value. Existing URL filters are carried into the request. The actor uses the same output format for both input types.
| Name | Type | Default | Description |
|---|---|---|---|
searchQueries | array of strings | Prefill: wireless earbuds | Keywords, one separate search per string. |
startUrls | array of URLs | Empty | Direct search URLs with an existing keyword and optional URL filters. |
maxResultsPerQuery | integer | 50 | Maximum rows per input; 0 removes this limit. |
maxResults | integer | 0 | Maximum rows across the entire run; 0 removes this limit. |
maxPages | integer | 5 | Maximum search pages per input; accepted range is 1 to 20. |
sortBy | string | relevance | Relevance, ascending or descending price, average customer review, newest arrivals, or featured. |
minPrice | integer | 0 | Lower price bound in US dollars; 0 disables it. |
maxPrice | integer | 0 | Upper price bound in US dollars; 0 disables it. |
primeOnly | boolean | false | Apply the source's Prime filter. |
includeSponsored | boolean | true | Include or omit cards marked Sponsored. |
fourStarsOnly | boolean | false | Apply the source's 4 Stars & Up filter. |
proxyConfiguration | object | Proxy enabled | Optional proxy configuration. |
A realistic, bounded search:
{"searchQueries": ["wireless earbuds"],"maxResultsPerQuery": 35,"maxResults": 35,"maxPages": 3,"includeSponsored": true}
A direct URL is useful when you have already selected a category or filter in a browser. For example, an entry with https://www.amazon.com/s?k=wireless+earbuds&rh=p_72%3A1248879011 retains the four-star source filter. If a direct URL already contains a sort order, that order takes precedence over sortBy. Price and Prime inputs are added to the source URL when requested. When both input types are present, the total result cap applies across their combined output.
Output example
This item came from a successful 35-result run for wireless earbuds. The long title is shortened here; the dataset stores the full title.
{"asin": "B0HDBKFHKK","title": "XIAOWTEK Wireless Earbuds, 2026 Bluetooth 5.4 Headphones...","url": "https://www.amazon.com/dp/B0HDBKFHKK","marketplace": "US","searchQuery": "wireless earbuds","sortBy": "relevance","page": 1,"positionOnPage": 1,"positionOverall": 1,"isSponsored": false,"isAmazonChoice": true,"isBestSeller": false,"isPrime": true,"price": {"value": 19.99, "currency": "$", "raw": "$19.99"},"listPrice": {"value": 199.99, "currency": "$", "raw": "$199.99"},"stars": 4.8,"reviewsCount": 869,"thumbnailImage": "https://m.media-amazon.com/images/I/61aSuH86kYL._AC_UY218_.jpg","deliveryText": "Join Prime to get FREE delivery Tue, Sep 29 Or Non-members get FREE delivery Fri, Oct 2","fastDeliveryText": null,"badgeText": "Overall Pick","couponText": null,"prevPurchased": false,"purchaseVolumeText": null,"variantHint": null,"input": "wireless earbuds","searchUrl": "https://www.amazon.com/gp/aw/s?k=wireless+earbuds","scrapedAt": "2026-09-27T12:58:57.390926+00:00"}
The example is a snapshot, not a current offer. The observed run returned 35 rows from three search pages. Every row contained an ASIN, URL, query, page, and page position. In that sample, 94.3% had a parsed price, 94.3% had a star rating, and all had a thumbnail image. These are observations from one search, not guaranteed rates for every keyword or category.
Use cases
- Search rank tracking: repeat a keyword search and compare each ASIN's position across saved runs. Keep the search phrase and sort order fixed for a meaningful comparison.
- Price monitoring: export current offer prices for a category and compare the same ASINs over time. Check the linked product page before making a purchasing decision.
- Sponsored placement analysis: count cards marked Sponsored and inspect where they appear among public result slots.
- Category research: compare ratings, rating counts, purchase volume messages, and badges in a keyword set.
- Merchandising review: find products carrying Best Seller, Choice, deal, or coupon messages in the search view.
- Delivery comparison: record delivery promises shown to the browsing session for products in a chosen search.
A product can legitimately produce several rows when it appears in several searches. If you need a product-level table, group by asin after export while retaining each query's rank as a separate observation. If you need a ranking table, preserve every query-specific row instead of collapsing them.
How much does it cost to scrape Amazon search results?
The configured result price is $0.80 per 1,000 output rows, or $0.0008 per row. At that rate, 35 rows are $0.028, 500 rows are $0.40, and 2,000 rows are $1.60 in result charges. These examples count rows actually delivered, not the maximum specified in input. The platform may display other usage charges according to the account's billing settings.
Search depth also affects runtime. A page with fewer visible product cards requires more page requests to reach a high row cap. A narrowly filtered search may run out of public pages before reaching its requested maximum. Set maxPages and maxResultsPerQuery together so the possible result count and runtime fit the research task.
Tips for best results
Use a specific keyword when you want a comparable group of products. A broad term may mix categories, accessories, bundles, and sponsored placements. Run category-specific phrases separately and compare the outputs using searchQuery and asin. Search URLs are useful for filters that are already represented in Amazon's public URL. Verify a few source links before relying on a large export.
To monitor organic placement, set includeSponsored to false. Sponsored card slots still count in positionOnPage and positionOverall; filtering their rows does not renumber the page. This keeps the slot positions tied to the public result layout. An ASIN appearing twice on the same query is emitted once, while the slot counter still advances across product cards.
To compare prices, use the same sort order and price bounds each time. minPrice and maxPrice are source filters, not a later cleanup step. The result price is what the card displays to the browsing session; it may differ by location, time, seller, or eligibility. Treat listPrice as a displayed reference amount rather than a historical price series.
Start with maxPages: 2 or 3 for a quick sample, then increase it if the source keeps returning relevant cards. Search results are usually around 16 to 18 product cards per page in the tested layout, including some sponsored cards. Actual counts vary. A 35-result run required three pages in the verified sample.
Limits
This actor currently covers amazon.com and the US marketplace only. It does not claim support for other national domains, a signed-in account, personalized delivery, or product detail fields. Search cards can omit prices, rating counts, coupons, delivery details, variant hints, or Prime indicators. fastDeliveryText is null when the page does not provide a separate secondary message. Prime detection uses visible card signals and can miss eligible products.
The actor requests up to 20 pages per input and stops when the source provides no next page or no product cards. A maximum is a stop condition, not a promise of that many results. Amazon can change search ordering, show duplicate products, change card markup, or present a verification page. The actor rotates the proxy session and can try a browser challenge when a page is blocked. A failed page stops that query; other queries in the same run can continue.
Search positions describe card slots in the pages actually retrieved. They are not a stable global rank outside the requested search, sort order, filters, and browsing context. The same ASIN can occupy a different slot on another run. The search page URL and timestamp let you trace the context of each row. For fields that matter commercially, inspect the live product page before acting on an exported value.
Automated workflows
The actor's input and output schemas support repeatable requests from a connected workflow. For example: “Collect the first 35 amazon.com results for wireless earbuds and return each ASIN with its page, position, price, and rating.” Another useful request is: “Collect two pages for three headphone keywords, omit Sponsored rows, and compare products that appear under more than one keyword.”
Keep these requests bounded so the output is easy to review. Save the exact input alongside each dataset when measuring change. If a downstream report requires a field that is null for some rows, leave it missing instead of filling in an assumption. Match repeated products by ASIN, and match repeated search observations by ASIN plus query and collection time.
FAQ
Is it legal to use the collected data? The actor reads public search cards. Follow Amazon's terms, applicable law, and data protection rules. Do not misuse personal data or republish content without the rights to do so.
Do I need to configure a proxy? No. A proxy is enabled by default. You can provide your own proxy configuration if your account and workflow require it. The actor starts with datacenter traffic and escalates if it encounters a block.
How fast is a run? It depends on page count, source response time, filters, and any verification challenge. The verified 35-row sample took about 27 seconds. Treat that as one observation rather than a service guarantee.
Can I schedule and monitor repeat runs? Yes. Save the input and run it on a schedule, then monitor result count and field completeness. Compare snapshots by ASIN and query, because search positions and offers change.
Can I export to a spreadsheet? Yes. Download the dataset as CSV or Excel, or use JSON for nested price and listPrice objects. The export contains the same result rows shown in the dataset.
Why is a field empty? Some cards do not display that detail. A missing price can mean that the card asks shoppers to see options; a missing rating can mean the card has no visible rating. Null does not mean zero.
Why did I receive fewer rows than the limit? A filter may expose fewer results, the public page sequence may end, duplicate ASINs may be removed, or a later page may fail. Check the run log and lower the requested page depth for a narrower search.
Integrations
Use the dataset through the API, webhooks, scheduling, or a spreadsheet connector. Automation platforms can take each row into a price tracker, a catalog comparison sheet, or a ranking history table. Keep asin, searchQuery, page, positionOnPage, and scrapedAt in downstream records so changes remain attributable to a specific search and run.
Support
Open an issue on the Issues tab; we reply within 24 hours and add fields on request.