Amazon Product Search Scraper
Pricing
from $1.10 / 1,000 search items
Amazon Product Search Scraper
Search Amazon by keyword or paste a search/category URL across 18 marketplaces and get product listings enriched with full detail-page data: feature bullets, description, all images, brand, best-sellers rank, buybox seller, breadcrumbs, variations, rating and reviews.
Pricing
from $1.10 / 1,000 search items
Rating
0.0
(0)
Developer
karamelo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
What is Amazon Product Search Scraper?
Amazon Product Search Scraper extracts products and search rankings from Amazon across 18 international marketplaces without requiring an Amazon account. Search by keyword or paste existing Amazon search or category URLs to collect ASINs, titles, prices, original list prices, ratings, review counts, page positions, organic rankings, and sponsored placement indicators. Enable detail page enrichment to add brand names, Best Sellers Rank (BSR), category paths, feature bullets, high-resolution images, availability, buy-box seller, and technical specifications directly to each dataset item.
E-commerce managers, Amazon sellers, market researchers, and AI agents use this tool to monitor organic search performance, track competitor share of voice, verify buy-box status, and feed structured catalog data into analytical dashboards.
Quick start
- Open the Amazon Product Search Scraper on Apify Console.
- In the input configuration, enter your keyword in
searchQuery(e.g.,wireless earbuds). - Select your marketplace in
country(defaults toUS). - Set a conservative
maxResultscap (e.g.,20). - Click Start to run the scraper.
- Inspect and download the extracted products as JSON, CSV, or Excel from the Dataset tab.
{"searchQuery": "wireless earbuds","country": "US","maxResults": 20,"enrichDetails": true}
What data you receive
Each dataset row represents one Amazon product result matching your search criteria. When enrichDetails is enabled, the row is enriched with full detail-page data.
Sample output record
{"recordType": "product","asin": "B0BQPNMXQV","title": "JBL Vibe Beam - True Wireless Earbuds - Black","url": "https://www.amazon.com/dp/B0BQPNMXQV","marketplace": "US","searchQuery": "wireless earbuds","searchUrl": "https://www.amazon.com/s?k=wireless+earbuds","sourceType": "keyword","page": 1,"positionOnPage": 1,"organicRank": 1,"globalPosition": 1,"isSponsored": false,"price": 29.95,"listPrice": 49.95,"currency": "USD","discountPercent": 40,"rating": 4.2,"reviewCount": 41298,"boughtInPastMonth": "10K+ bought in past month","isPrime": true,"thumbnail": "https://m.media-amazon.com/images/I/41+1Csr1pSL._AC_UY218_.jpg","badgeText": "Overall Pick","deliveryText": "FREE delivery Tomorrow","couponText": "Save 10% with coupon","availabilityText": null,"detailScraped": true,"brand": "JBL","featureBullets": ["JBL Deep Bass Sound with 8mm drivers","Comfortable stick-closed ergonomic fit","Up to 32 hours of battery life with speed charging"],"description": "Bring your sound everywhere with rich bass and long battery life.","images": ["https://m.media-amazon.com/images/I/81hSCa-nltL._AC_SL1500_.jpg","https://m.media-amazon.com/images/I/41+1Csr1pSL._AC_SL1000_.jpg"],"imageCount": 2,"breadcrumbs": ["Electronics","Headphones & Earbuds","Earbud Headphones"],"category": "Earbud Headphones","bestSellersRank": [{ "rank": 17, "category": "Electronics" },{ "rank": 3, "category": "Earbud & In-Ear Headphones" }],"availability": "In Stock","soldBy": "Amazon.com","shipsFrom": "Amazon","brandStoreUrl": "https://www.amazon.com/stores/JBL/page/17575AD5","hasAplusContent": true,"variations": [],"productDetails": {"Brand Name": "JBL","Model Name": "JBL Vibe Beam","Connectivity Technology": "Bluetooth 5.2"},"scrapedAt": "2026-10-30T12:00:00.000Z"}
Understanding ranking fields
positionOnPage: The absolute position of the product card on the search result page (counting sponsored ad placements and organic products in display order).organicRank: The natural organic ranking position. Sponsored ad placements havenullfor this field.globalPosition: The order of the product within the total collected dataset across all paginated pages.isSponsored: A boolean indicating whether the placement is a paid sponsored ad placement (true) or an organic search result (false).
Input configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | String | "wireless earbuds" | Primary search keyword to query on Amazon (e.g. 'wireless earbuds'). |
searchQueries | Array of strings | [] | List of search queries to execute in bulk in one job. |
startUrls | Array of objects | [] | Amazon search result or category listing URLs. Regional marketplace is auto-detected. |
country | String (enum) | "US" | Amazon marketplace code for keyword searches (e.g. US, UK, DE, JP). |
maxResults | Integer | 50 | Maximum number of products to collect across the entire run (1 to 1,000). |
enrichDetails | Boolean | true | When enabled, fetches each product's full page to extract bullets, specs, and BSR. |
sortBy | String (enum) | "relevance" | Sort order: relevance, priceAsc, priceDesc, avgCustomerReview, or newest. |
includeSponsored | Boolean | true | Include sponsored products flagged with isSponsored: true. Set to false for organic only. |
maxSearchPages | Integer | 5 | Maximum number of search pagination pages to crawl per keyword or URL (1 to 20). |
Supported marketplaces
Amazon Product Search Scraper supports 18 Amazon regional marketplaces:
| Country Code | Marketplace Domain | Currency |
|---|---|---|
US | amazon.com | USD ($) |
UK | amazon.co.uk | GBP (£) |
DE | amazon.de | EUR (€) |
FR | amazon.fr | EUR (€) |
CA | amazon.ca | CAD ($) |
ES | amazon.es | EUR (€) |
IT | amazon.it | EUR (€) |
JP | amazon.co.jp | JPY (¥) |
AU | amazon.com.au | AUD ($) |
IN | amazon.in | INR (₹) |
MX | amazon.com.mx | MXN ($) |
BR | amazon.com.br | BRL (R$) |
NL | amazon.nl | EUR (€) |
SE | amazon.se | SEK (kr) |
PL | amazon.pl | PLN (zł) |
TR | amazon.com.tr | TRY (₺) |
AE | amazon.ae | AED |
SG | amazon.sg | SGD ($) |
Use cases and workflows
Share of search & competitor benchmarking
Brand owners track targeted search queries weekly to monitor how many top 10 positions their listings occupy versus competing brands, identifying when competitor sponsored ads overtake organic placements.
Price tracking and discount analysis
E-commerce analysts crawl category URLs across multiple marketplaces to monitor discounted items, list prices, and coupon availability during seasonal promotional events.
AI agent workflows and MCP integration
AI agents and automated pipelines query product data on demand using the Apify API or MCP server to provide shoppers with real-time price comparisons, Best Sellers Rank analysis, and brand discovery.
Programmatic integration
You can run this Actor programmatically through the Apify API using the official client libraries.
Node.js (JavaScript / TypeScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const run = await client.actor('karamelo/amazon-product-search-scraper').call({searchQuery: 'wireless earbuds',country: 'US',maxResults: 20,enrichDetails: false,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Extracted ${items.length} products:`);for (const item of items) {console.log(`[#${item.organicRank ?? 'Ad'}] ${item.title} - $${item.price}`);}
Python
from apify_client import ApifyClientclient = ApifyClient(token="YOUR_APIFY_TOKEN")run_input = {"searchQuery": "wireless earbuds","country": "US","maxResults": 20,"enrichDetails": False,}run = client.actor("karamelo/amazon-product-search-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"[{item.get('asin')}] {item.get('title')} - {item.get('price')}")
Troubleshooting and tips
| Observable issue | Potential cause | Recommended adjustment |
|---|---|---|
| Zero products returned | Strict query filter or keyword not matching items | Verify the search term directly on Amazon and check spelling. |
| Missing detail page fields | enrichDetails was set to false | Enable enrichDetails: true in your run configuration. |
| Specific product URL skipped | Single /dp/ product URLs provided in startUrls | Use search or category URLs; this Actor is designed for search results. |
| Country currency mismatch | Keyword searched on different marketplace domain | Set the country parameter to your target marketplace code. |
FAQ
What is the difference between positionOnPage and organicRank?
positionOnPage reflects the overall visual order of items on the search page, including sponsored advertisements. organicRank counts natural organic listings only, ignoring sponsored ads.
Can I scrape multiple search queries in a single job?
Yes. Provide an array of strings in searchQueries (e.g. ["gaming mouse", "mechanical keyboard"]). Results from all queries are stored in the same output dataset.
Do I need to be logged into an Amazon account?
No. The scraper reads public Amazon search result listings and detail pages without requiring customer credentials.
Does the scraper support international Amazon sites?
Yes, 18 regional marketplaces are supported. Specify the two-letter country code in the country parameter or pass a regional Amazon URL into startUrls.