Amazon Product Search Scraper: Rank, Price & Details avatar

Amazon Product Search Scraper: Rank, Price & Details

Pricing

from $1.40 / 1,000 product founds

Go to Apify Store
Amazon Product Search Scraper: Rank, Price & Details

Amazon Product Search Scraper: Rank, Price & Details

Search Amazon by keyword or URL across 18 marketplaces and see where every product ranks: page position, organic rank and sponsored flag, plus price, rating and reviews. Add detail pages for brand, Best Sellers Rank, bullets, images and seller.

Pricing

from $1.40 / 1,000 product founds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

1

Bookmarked

425

Total users

192

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

What is Amazon Product Search Scraper?

Amazon Product Search Scraper returns the products Amazon shows for a keyword or search URL, one dataset row per product, with where each one ranks. Every row has the ASIN, title, price, list price and discount, rating, review count, a Prime flag (shown only when Amazon displays the badge), position on the results page, organic rank and whether the placement is sponsored. Turn on detail pages and the same row adds brand, Best Sellers Rank, category path, feature bullets, all images, availability, buy-box seller and product details. Amazon sellers, brand managers, PPC teams and AI agents use it to see who wins a search result on 18 Amazon marketplaces, with no Amazon account. It costs $0.002 per product returned (plus $0.003 more when a detail page is added), and the optional price, rating and Prime filters mean you pay only for the products you want.

Example row (search results only)

{
"recordType": "product",
"asin": "B09W2HKC37",
"title": "Furmax 55 Inches Electric Height Adjustable Standing Desk Home Office Desk",
"url": "https://www.amazon.com/dp/B09W2HKC37",
"marketplace": "US",
"searchQuery": "standing desk",
"searchUrl": "https://www.amazon.com/s?k=standing+desk",
"sourceType": "keyword",
"page": 1,
"positionOnPage": 11,
"organicRank": 2,
"globalPosition": 11,
"isSponsored": false,
"price": 89.99,
"listPrice": 109.99,
"currency": "USD",
"discountPercent": 18,
"rating": 4.4,
"reviewCount": 5,
"boughtInPastMonth": "1K+ bought in past month",
"isPrime": false,
"badgeText": "Ends in",
"deliveryText": "FREE delivery Mon, Nov 16",
"couponText": null,
"availabilityText": null,
"scrapedAt": "2026-11-09T18:09:32.567Z",
"detailScraped": false
}

Why Amazon sellers use it

  • Rank signals, not just products. positionOnPage, organicRank and isSponsored show who wins the organic results and who pays for placement.
  • Search and detail in one pass. Already have ASINs? Start with Amazon Product Details Scraper instead. Otherwise enrichDetails opens each product page and adds Best Sellers Rank, brand, category path and more to the same row.
  • 18 marketplaces. US, UK, Germany, France, Canada, Spain, Italy, Japan, Australia, India, Mexico, Brazil, Netherlands, Sweden, Poland, Türkiye, UAE and Singapore.
  • A second route when Amazon pushes back. If a search returns a block or challenge instead of products, the Actor retries that search through Apify's unblocking proxy (useUnblockerFallback, on by default).

How to use it

One keyword with full product details:

{
"searchQuery": "wireless earbuds",
"country": "US",
"maxResults": 50,
"enrichDetails": true
}

Several keywords, search results only (faster and cheaper):

{
"searchQueries": ["gaming mouse", "mechanical keyboard", "usb microphone"],
"country": "UK",
"maxResults": 100,
"enrichDetails": false,
"includeSponsored": false
}

Only the products you want (price, rating, Prime on the US store):

{
"searchQuery": "wireless earbuds",
"country": "US",
"maxResults": 50,
"minPrice": 15,
"maxPrice": 60,
"minRating": 4,
"primeOnly": true,
"enrichDetails": false
}

Filters are applied before a product is saved or charged, so you pay only for products that match (Prime only is requested from Amazon itself). organicRank and positionOnPage still show where each product really appeared on Amazon. Filters look at the search pages the Actor reads (maxSearchPages), so a tight filter can return fewer products than maxResults; raise maxSearchPages to look deeper. A product with no listed price or rating cannot match a price or rating filter and is skipped.

A filtered Amazon URL you already use:

{
"startUrls": [{ "url": "https://www.amazon.com/s?k=running+shoes" }],
"maxSearchPages": 3
}
InputWhat it controls
searchQuery, searchQueriesOne keyword, or a list searched one by one into the same dataset
startUrlsAmazon search or category URLs; the marketplace is read from the domain
countryMarketplace for keyword searches (default US)
maxResultsProducts to return, from 1 to 1,000 (default 50)
maxSearchPagesResult pages per keyword, from 1 to 20 (default 5)
sortByrelevance, priceAsc, priceDesc, avgCustomerReview or newest
enrichDetailsOpen each product page for detail fields (default on)
includeSponsoredKeep sponsored placements, flagged with isSponsored (default on)
proxyTierauto (default) tries cheaper datacenter addresses first for product pages on the US store and moves to residential only when Amazon blocks them; residential always uses residential
minPrice, maxPriceOnly return products inside this price band, in the store's own currency
minRatingOnly return products rated at least this many stars (0 to 5)
primeOnlyOnly Prime-eligible products, filtered by Amazon itself (US store; for other stores paste a search link that already has Amazon's Prime filter)
maxResultsPerQueryOptional cap for each keyword or URL, so one keyword cannot use the whole budget
useUnblockerFallbackRetry challenged searches through Apify's unblocking proxy (default on)

What this Actor will not do

  • It does not log in to Amazon, return review text, or accept single product (/dp/) links (use the ASIN-based Actor for those).
  • Filters look only at the search pages it reads, so a tight filter can return fewer products than maxResults; raise maxSearchPages to look deeper.
  • The isPrime flag is true when the card shows a Prime badge or its delivery or deal text names Prime ("Join Prime to get FREE delivery…"). A search without a login shows no Prime badge, so a Prime product that only says "FREE delivery" can still show false; use primeOnly (US store) to get every Prime-eligible product from Amazon itself.
  • Amazon can change its pages or challenge a request. Blocked searches are reported as failed or partial, never filled with made-up rows, and Amazon varies results a little between requests.

Organic rank versus ads (RANK_REPORT)

Every run saves a RANK_REPORT record in the key-value store. For each keyword or link it lists how many unique products were ads and how many organic, the ad share of the first page, the top 10 organic products and the first ad positions. It is built from every card the run read, before filters and caps.

What's new

  • 2026-11-10: product pages now cost far less to fetch (cheaper addresses first, and the download stops once the product-details table has arrived), and large detail runs no longer run out of memory.
  • 2026-11-09: price, rating and Prime filters and a cap per keyword, the RANK_REPORT, and a clearer title, Store text and README.

Output: Amazon product data you receive

A real row from a wireless earbuds search on amazon.com with detail pages on (long fields such as featureBullets, images and productDetails are left out here):

{
"recordType": "product",
"asin": "B0HDB41H28",
"title": "Wireless Earbuds, Bluetooth 5.3 Headphones HiFi Stereo 50H Playback LED Digital Display Ear Buds with ENC Noise Canceling Headset, IPX7 Waterproof Earphones for Gym/Running/Work(White)",
"url": "https://www.amazon.com/dp/B0HDB41H28",
"marketplace": "US",
"searchQuery": "wireless earbuds",
"page": 1,
"positionOnPage": 3,
"organicRank": 1,
"globalPosition": 3,
"isSponsored": false,
"price": 19.98,
"listPrice": 249.99,
"currency": "USD",
"discountPercent": 92,
"rating": 5,
"reviewCount": 52,
"isPrime": false,
"badgeText": "Limited Prime deal",
"scrapedAt": "2026-09-30T07:15:22.560Z",
"detailScraped": true,
"brand": "Fhumsh",
"imageCount": 9,
"breadcrumbs": ["Electronics", "Headphones, Earbuds & Accessories", "Headphones & Earbuds", "Earbud Headphones"],
"bestSellersRank": [
{ "rank": 488, "category": "Electronics" },
{ "rank": 68, "category": "Earbud & In-Ear Headphones" }
],
"availability": "In Stock",
"hasAplusContent": true
}

Reading the rank fields: positionOnPage is where the product sits on its results page, counting sponsored placements. organicRank counts organic results only, and is empty for sponsored rows. globalPosition is the product's order in this run's dataset. In the row above, the product is the first organic result but the third item on the page, so two sponsored placements sit above it.

Example workflow: tracking your share of a search result

A brand manager for an earbuds brand runs wireless earbuds on amazon.com every Monday with maxResults at 60 and detail pages on. They filter rows by brand to see where their products sit in organicRank, count how many of the first 20 page positions are sponsored, and compare price, rating and bestSellersRank against the brands above them. Then they pass the competitor ASINs to Amazon Reviews Scraper to read what buyers praise and complain about, and export the weekly snapshot to a dashboard.

Pricing

This Actor uses Pay per event, and the Actor covers the Apify platform usage of every run, so you pay only the events. You pay one product event per product returned, one detail event on top for each product whose page is opened, plus a start event. The live Pricing tab on this page shows the current prices.

  • 50 products, search results only = 50 product events.
  • 50 products with detail pages = 50 product events + 50 detail events.
  • maxResults stops the run at your cap, so it doubles as a cost ceiling.
  • Volume discount: the product event drops with your Apify plan: $0.002 on Free and Starter, $0.0017 on Scale, $0.0014 on Business and above. The detail event stays $0.003.
  • Worked example (Free or Starter plan): 100 products with detail pages = 100 x $0.002 + 100 x $0.003 = $0.50 plus the start event; 100 products without detail pages = $0.20 plus the start event.
  • The Actor now runs with 2 GB of memory so large runs with detail pages (50 products or more) finish. The start event is charged once per GB, so it is $0.0001 per run.
  • Price and rating filters are applied before charging, so products that do not match are never billed. Prime only asks Amazon for Prime-eligible products.

Amazon research with AI agents (MCP)

Connect this Actor to an AI agent through Apify MCP. Set it up once in Claude Code, Claude Desktop or Cursor:

$claude mcp add apify --transport http "https://mcp.apify.com?tools=khadinakbar/amazon-product-search-scraper"

Sign in to Apify when asked, then ask in plain language:

Search amazon.com for "wireless earbuds" and return the top 20 organic results with ASIN, brand, price, rating, review count and Best Sellers Rank. Tell me how many of the first 20 page positions are sponsored, and the run outcome.

More example prompts:

  • "Find US wireless earbuds rated 4 stars or more, Prime-eligible and under 40 dollars, and list the 10 cheapest with their Best Sellers Rank."
  • "For 'standing desk' and 'desk lamp' on amazon.com, tell me what share of the first page is ads, using the RANK_REPORT."

Agent checklist:

  1. Put the keyword in searchQuery and the marketplace in country.
  2. Turn enrichDetails off when the task needs only prices and ranks, to keep cost down.
  3. Read rows with get-dataset-items; use organicRank for organic position and isSponsored to separate ads.
  4. Read OUTPUT.outcome for the terminal state and OUTPUT.unblocker to see whether the fallback was used.

API example

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~amazon-product-search-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQuery": "wireless earbuds", "country": "US", "maxResults": 20, "enrichDetails": false}'
Your next stepUseWhy
When you then want reviews for the ASINs you foundAmazon Reviews ScraperStar ratings, review text and verified-purchase flags
When you only want a lean list of rank and price rows, no detail pagesAmazon Search ScraperThe same search results as this Actor with detail pages left out
When you already have ASINs and want full detailsAmazon Product Details ScraperPrice, BSR, seller and FBA status by ASIN
When you want to monitor competitor prices over timeAmazon Competitor Price TrackerPrice gaps, Buy Box winner and alerts against your ASIN
When you want to discover what sells best in a categoryAmazon Bestsellers ScraperBest Sellers, New Releases and Movers & Shakers lists
When you want to check the seller behind a listingAmazon Seller ScraperSeller name, address, feedback and storefront

Best results

Starting situationHelpful actionExpected outcome
Rank trackingKeep sortBy on relevance and includeSponsored onThe order shoppers actually see
A price scan across many keywordsTurn enrichDetails offFaster runs at the lower price
A category you browse on AmazonPaste its URL into startUrlsProducts from that exact view
Non-US researchSet country, such as DE or JPLocal prices and currency

Builder's note

I found that sellers care as much about where a product ranks as about its price, so every row keeps the page position and organic rank next to the sponsored flag. I learned that Amazon occasionally answers a search with a challenge page instead of results, which is why a challenged search gets one more try through Apify's unblocking proxy before the run reports it.

FAQ

What is the difference between positionOnPage and organicRank?

positionOnPage counts everything on the results page, including sponsored placements. organicRank counts organic results only.

How many products can I get per keyword?

Up to 1,000 per run, across up to 20 result pages per keyword. Each Amazon result page holds roughly 16–60 products.

Can I scrape Amazon UK, Germany or Japan?

Yes. Set country to UK, DE, JP or any of the 18 supported marketplaces.

Do I need detail pages?

Only for brand, Best Sellers Rank, bullets, images and product details. Search results alone give ASIN, price, rating, reviews and rank.

How do the price, rating and Prime filters work?

Each search result card is checked against your price and rating filters before it is saved or charged. minPrice and maxPrice use the price shown on the card in the store's own currency, and minRating uses the star rating on the card. Products with no listed price or rating are skipped when that filter is on. primeOnly is different: a search shown to a visitor who is not logged in carries no Prime badge, so on the US store the Actor asks Amazon itself for Prime-eligible products and marks those rows isPrime: true. On other stores it stops with a clear message; paste a search link that already has Amazon's Prime filter applied instead. If nothing matches, the run ends as a valid empty result with no product fees.

What does this Actor not do?

It does not log in to Amazon, return review text, or accept single product (/dp/) links (use the ASIN-based Actor for those). Filters only look at the search pages it reads, and Amazon can change its pages or challenge a request; blocked searches are reported honestly instead of returning made-up rows.

Do I need an Amazon account?

No. The Actor reads public search and product pages.

Responsible use

This Actor collects public Amazon product listings, which contain no personal data. Use it in line with Amazon's terms, and respect product-image and trademark rights when reusing content. Read Apify's guide on whether web scraping is legal for more context. Amazon is a trademark of Amazon.com, Inc. This independent Actor is not affiliated with, associated with, or endorsed by Amazon. For questions or bugs, open a ticket in the Issues tab.