Amazon Search Scraper · 20 Marketplaces avatar

Amazon Search Scraper · 20 Marketplaces

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Amazon Search Scraper · 20 Marketplaces

Amazon Search Scraper · 20 Marketplaces

Extract Amazon search results by keyword or /s?k= URL across 20 marketplaces. Returns ASIN, title, price, list price, stars, reviews, sponsored / Prime / Amazon's Choice / Best Seller flags, delivery promise, coupon, purchase volume and page position. Pay-per-result, no login.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Ale

Ale

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Share

Amazon Search Scraper

Extract Amazon search results by keyword or /s?k=... URL across 20 marketplaces. Returns ASIN, title, price, list price, stars, review count, Prime / sponsored / Amazon's Choice / Best Seller flags, delivery promise, coupon, purchase volume, page position and more. Pay-per-result, no login required.

What it does

You give it Amazon search keywords or direct search URLs. You get back clean, structured JSON, one row per search result.

  • Search by keyword list (each keyword runs a separate search) or by direct /s?k=... URLs
  • Paginate up to 20 pages per keyword (around 16 organic rows per page)
  • Filter by price range, minimum stars, Prime-only (US in v1)
  • Pick the Amazon sort order: relevance, price ascending or descending, average customer review, newest arrivals, featured
  • Optionally drop sponsored rows from the output
  • Every row carries the keyword that surfaced it, the page number, and the slot position

Sample output

{
"asin": "B09B8V1LZ3",
"title": "Amazon Echo Dot (5th Gen, 2022 release) | With bigger vibrant sound",
"url": "https://www.amazon.com/dp/B09B8V1LZ3",
"marketplace": "US",
"searchQuery": "echo dot",
"sortBy": "relevance",
"page": 1,
"positionOnPage": 1,
"positionOverall": 1,
"isSponsored": false,
"isAmazonChoice": true,
"isBestSeller": false,
"isPrime": true,
"price": { "value": 49.99, "currency": "$", "raw": "$49.99" },
"listPrice": { "value": 59.99, "currency": "$", "raw": "$59.99" },
"stars": 4.7,
"reviewsCount": 193736,
"thumbnailImage": "https://m.media-amazon.com/images/I/example.jpg",
"deliveryText": "FREE delivery Mon, Jun 16",
"fastDeliveryText": "Or fastest delivery Sat, Jun 14",
"badgeText": "Climate Pledge Friendly",
"couponText": "Save $5 with coupon",
"prevPurchased": true,
"purchaseVolumeText": "10K+ bought in past month",
"variantHint": "Available in 4 colors"
}

Pricing

$0.001 per actor start, plus $0.001 per scraped result. Roughly $1 per 1,000 results.

You only pay for results that successfully return data. Failed fetches are not charged.

New to Apify? Every account gets a $5 free monthly platform credit, enough for around 5,000 results on this actor before you commit to paying anything. Plenty to test the full feature set.

Why this scraper

Full SERP teaser data. Many search scrapers stop at ASIN, title and price. This one also returns delivery promises, coupons, badges, purchase volume, sponsored flag, variant hint, on-page position and overall position. Everything a shopper actually sees on the result card.

Per-page positions echoed back. The page, positionOnPage and positionOverall fields let you track ranking changes over time without re-implementing slot accounting downstream. Sponsored rows still count against the on-page position so the numbers match what a shopper sees.

20 marketplaces. Auto-detects the right marketplace from any amazon.<TLD>/s?k=... URL. For keyword searches, the country input picks the marketplace. Accept-Language is tuned per country so prices and currencies render in the right locale.

Filterable at the source. Price range, minimum stars, and the Amazon sort dropdown are all passed through to Amazon's own SERP URL parameters. No client-side filtering surprises.

Pay only for results. $0.001 per successfully scraped row. Failed fetches are not charged.

Use with AI Agents (MCP)

Connect this actor to any MCP-compatible AI client: Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.

Apify MCP server URL:

https://mcp.apify.com?tools=santamaria-automations/amazon-search-scraper

Example prompt once connected:

"Use amazon-search-scraper to find the top 50 results for 'wireless earbuds' on amazon.com. Return ASINs ranked by position."

Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically.

Input

FieldTypeDescription
searchQueriesarray of stringsSearch keywords. Each keyword runs a separate search.
startUrlsarrayDirect Amazon search URLs (/s?k=...). Marketplace auto-detected from the TLD.
countrystringMarketplace for searchQueries: US, UK, DE, FR, IT, ES, CA, MX, BR, NL, SE, PL, TR, JP, IN, AU, SG, SA, AE, EG.
languagestringAUTO matches the marketplace, or pick one: en, de, fr, it, es, ja, pt, ar, tr, sv, nl, pl.
maxResultsPerQueryintegerMax rows per keyword. 0 means no per-keyword cap (uses maxPages).
maxResultsintegerHard cap across all queries combined. 0 means unlimited.
maxPagesintegerHow many SERP pages to walk per keyword. Up to 20.
sortBystringrelevance, price-asc-rank, price-desc-rank, review-rank, date-desc-rank, featured-rank.
minPriceintegerLower bound for the price filter, in the marketplace's currency. 0 means no filter.
maxPriceintegerUpper bound for the price filter. 0 means no filter.
minStarsintegerFilter by minimum stars: 0 (off), 1, 2, 3, or 4.
primeOnlybooleanRestrict to Prime-eligible offers. US only in v1, silently ignored elsewhere.
includeSponsoredbooleanWhen false, drop sponsored rows from output. Default true.
concurrencyintegerParallel SERP fetches, 1 to 20. Default 5.

You can mix searchQueries and startUrls in the same run.

Example input

{
"searchQueries": ["echo dot", "smart speaker"],
"country": "US",
"maxResultsPerQuery": 50,
"maxPages": 4,
"sortBy": "review-rank",
"minStars": 4,
"includeSponsored": false,
"concurrency": 5
}

Output fields

Identity and ranking

asin, title, url, marketplace, searchQuery, sortBy, page, positionOnPage, positionOverall

Pricing

  • price as {value, currency, raw}
  • listPrice (struck-through original when on sale)

Social proof

  • stars (0 to 5)
  • reviewsCount
  • prevPurchased (true when Amazon shows "X bought in past month")
  • purchaseVolumeText (the literal text Amazon shows)

Badges

  • isSponsored, isAmazonChoice, isBestSeller, isPrime
  • badgeText (Climate Pledge Friendly, sale percentage, etc.)
  • couponText (coupon promo text when shown)

Shipping and teaser

  • deliveryText (primary delivery promise)
  • fastDeliveryText (fastest delivery option)
  • variantHint ("Available in 3 colors" or "+2 sizes")

Media

thumbnailImage

Run metadata

input, scrapedAt

Common use cases

  • Rank tracking. Monitor where a SKU appears for a target keyword over time using positionOverall.
  • Competitive intelligence. Compare badges, prices and stars across the top N results for a category keyword.
  • Sponsored share. Use isSponsored to measure paid-placement intensity across a keyword set.
  • New launch monitoring. Sort by date-desc-rank to surface new arrivals for a keyword.
  • Coupon and deal mining. Filter rows where couponText or listPrice is populated to surface active promotions.

Notes and limits

  • One row per result, not per ASIN. The same ASIN appearing under two keywords produces two rows, each tagged with its searchQuery. This is intentional so you can compare ranks for the same ASIN across keyword variants.
  • Pagination depth. Amazon's SERP typically caps around 20 pages. The actor stops earlier when a page returns fewer than 4 organic rows.
  • primeOnly is US-only in v1. Other marketplaces use different Prime filter IDs, scheduled for v1.1.
  • Filters are passed via the SERP URL. This is the same path the website uses. If Amazon's filter UI behaves oddly (e.g. minStars combined with a category-restricted keyword), the actor reflects that behavior rather than overriding it.
  • Sponsored rows. Set includeSponsored: false to drop them. They're still detected and counted against the on-page position so the numbers stay consistent with what shoppers see.

Fields that may be null

Some fields are situational. They populate when Amazon shows them on the SERP card and stay null otherwise. This is not an extraction bug:

  • listPrice only populates when the product is on sale.
  • stars and reviewsCount are null on results with zero reviews.
  • deliveryText and fastDeliveryText only when Amazon renders a delivery promise on the card.
  • badgeText, couponText, purchaseVolumeText, variantHint only when the corresponding badge or teaser is shown.
  • isPrime is best-effort on the SERP. Amazon serves a different rendering to signed-out viewers (delivery upsell text instead of an icon badge), so the SERP-level signal is less reliable than the Product Scraper's isPrime. For accurate Prime status, pass the ASINs into the Amazon Product Scraper as a follow-up step.

3 to 5 concurrent SERP fetches is the sweet spot. Higher works but transient blocks become more frequent. Pages within a single keyword are walked sequentially to preserve session warmth. Cross-query parallelism is what the concurrency setting controls.

Multi-marketplace runs

Mixing marketplaces in one run is supported. Accept-Language, locale headers, and the proxy country are tuned per query. Expect slightly longer runtime on smaller marketplaces (.sa, .ae, .eg, .sg) where Amazon's anti-bot is more aggressive.

  • Amazon Product Scraper: pull the full 50+ field PDP detail for any ASIN returned here (description, A+ content, variants, AI review summary, top reviews).
  • Amazon Bestsellers Scraper: scrape Amazon's bestseller, movers and shakers, new releases, most wished for and most gifted rankings.
  • Amazon Seller Scraper: extract seller storefronts, ratings, business addresses and full product catalogs.

Support

For issues, feature requests, or marketplaces not yet supported, please open an issue on the Issues tab of this actor. We typically respond within 24 hours.

Contact: contact@nanoscrape.com