Amazon Product Scraper
Pricing
from $4.00 / 1,000 product scrapeds
Amazon Product Scraper
Scrape Amazon product data — price, BSR, rating, seller, FBA status, variants — from search, category, URL, or ASIN input across 18 marketplaces. MCP/API-ready.
Pricing
from $4.00 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
1
Bookmarked
21
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Amazon Product Scraper is an Apify Actor for product-level Amazon data across 18 marketplaces. It accepts one of three input paths: a keyword search query, a list of ASINs, or direct Amazon URLs. Each returned record represents one product and can include title, price, list price, discount percent, rating, review count, seller, Prime status, FBA status, suitable Sellers Rank, bullets, description, images, variants, breadcrumbs, and a scrape timestamp. The output is flat JSON, which works well for dashboards, enrichment pipelines, and AI agents that read one record at a time. It is available as an Apify Actor and can be used through Apify MCP.
Best fit and connected workflows
This Actor fits workflows that start with Amazon product discovery and end with structured product records.
It routes cleanly from:
- keyword research, where a search query opens Amazon search results for the selected marketplace,
- catalog checks, where ASINs resolve directly against a marketplace domain,
- page-based collection, where product, search, or category URLs are already available.
A natural downstream workflow is review and sentiment enrichment. When a product record is returned here, you can follow it with Amazon Reviews Scraper - Ratings & Sentiment to add customer feedback context for the same product or URL.
Practical scenario
Maya is comparing several headphone listings in the US marketplace. She starts with the keyword wireless earbuds, sets a product cap, and keeps full product-page scraping enabled. The Actor returns records with asin, title, price, rating, reviewCount, seller, isPrime, isFBA, and bestSellerRank. Maya uses the seller and fulfillment fields to decide which listings are direct-from-Amazon and which are merchant-fulfilled, then she sends the selected product URLs to a review workflow for deeper evaluation.
Input fields
Provide one of searchQuery, asins, or startUrls. The other fields refine scope and scraping behavior.
| Field | Type | Purpose |
|---|---|---|
searchQuery | string | Keyword search run on Amazon for the selected marketplace, such as wireless earbuds. |
asins | array of strings | Specific 10-character ASIN codes to resolve on the selected marketplace. |
startUrls | array | Direct Amazon product, search, or category URLs. The URL domain overrides the marketplace setting. |
country | enum | Marketplace to use for searchQuery and asins. Supports US, UK, DE, FR, CA, ES, IT, JP, AU, IN, MX, BR, NL, SE, PL, TR, AE, and SG. |
maxResults | integer | Maximum products returned across all inputs combined. |
maxSearchPages | integer | Maximum search or category pages to paginate through per search query or start URL. |
scrapeProductDetails | boolean | When enabled, products found on search or category pages are fetched again on their product pages for fuller product data. |
proxyConfiguration | object | Proxy setup. Residential proxies are the default and Apify Proxy Residential is prefilled. |
Valid input example
{"searchQuery": "wireless earbuds","country": "US","maxResults": 25,"maxSearchPages": 3,"scrapeProductDetails": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output fields
Each product is pushed to the dataset as a single flat JSON object.
| Field | Type | Meaning |
|---|---|---|
asin | string | Amazon Standard Identification Number. |
title | string | Product title. |
url | string | Canonical product URL. |
marketplace | string | Marketplace code such as US or UK. |
brand | string | null | Brand or manufacturer. |
price | number | null | Current price in marketplace currency. |
listPrice | number | null | Original or list price before discount. |
currency | string | null | ISO currency code. |
discountPercent | number | null | Discount percentage. |
rating | number | null | Star rating from 0 to 5. |
reviewCount | integer | null | Total review count. |
boughtInPastMonth | string | null | Purchase-frequency badge text. |
availability | string | null | Stock-status text. |
inStock | boolean | null | Whether the item is purchasable at scrape time. |
isPrime | boolean | null | Prime eligibility. |
seller | string | null | Merchant name. |
isFBA | boolean | null | Fulfilled by Amazon. |
bestSellerRank | array | null | Array of category and rank entries. |
bullets | array | null | Feature bullet points. |
description | string | null | Full product description. |
images | array | null | Product image URLs. |
thumbnail | string | null | Primary thumbnail URL. |
variants | array | null | Product variants such as color or size. |
breadcrumbs | array | null | Category breadcrumb path. |
sourceType | string | One of search, category, product, or asin. |
scrapedAt | string | ISO timestamp of the scrape. |
Illustrative output record
{"asin": "B08N5WRWNW","title": "Example product title","url": "https://www.amazon.com/dp/B08N5WRWNW","marketplace": "US","brand": "Example Brand","price": 199.99,"listPrice": 249.99,"currency": "USD","discountPercent": 20,"rating": 4.7,"reviewCount": 85432,"boughtInPastMonth": "10K+ bought in past month","availability": "In Stock","inStock": true,"isPrime": true,"seller": "Amazon.com","isFBA": true,"bestSellerRank": [{ "category": "Electronics", "rank": 1 }],"bullets": ["Example feature bullet"],"description": "Example long description.","images": ["https://m.media-amazon.com/images/I/example.jpg"],"thumbnail": "https://m.media-amazon.com/images/I/example.jpg","variants": [{ "asin": "B0EXAMPLE1", "label": "Black" }],"breadcrumbs": ["Electronics", "Headphones"],"sourceType": "search","scrapedAt": "2026-04-24T04:20:00.000Z"}
How it works
The Actor uses a Cheerio-based crawler with residential proxy defaults and session pooling. It accepts keyword searches, ASIN resolution, and direct Amazon URLs. For search and category pages, it paginates up to the configured page limit. When scrapeProductDetails is enabled, each discovered product is fetched again on its own product page to collect fuller details such as bullets, A+ content, suitable Sellers Rank, variants, and seller information. The dataset uses a flat schema designed for direct API consumption and AI-agent workflows.
Pricing
This Actor uses pay per event plus Apify platform usage. The primary billed event is Product scraped, which is charged for each product returned to the dataset. There is also an Actor Start event charged when the run starts, based on memory usage.
Live pricing details are available in the Actor's Pricing tab.
As an event-count example written in words: twenty-five returned products means twenty-five product-scraped events, plus the single actor-start event for the run.
Use with AI agents (MCP)
This Actor is available through Apify MCP and is identified as khadinakbar/amazon-product-scraper. It is suitable for tools that need bounded, flat product records with explicit provenance fields.
Tool description: use it to retrieve Amazon product records from search queries, ASIN lists, or direct Amazon URLs, then pass the returned dataset items into an agent workflow for comparison, enrichment, or filtering.
Scrape Amazon product records for the US marketplace from the keyword "wireless earbuds". Return the first 10 products with price, rating, reviewCount, seller, isPrime, isFBA, bestSellerRank, and scrapedAt so I can compare listings and decide which URLs to pass into a review workflow.
Output interpretation:
sourceTypeshows whether the record came from search, category, product, or ASIN input.scrapedAtgives the scrape timestamp for the returned record.- The dataset is flat, so each record can be read independently by an agent.
Provenance and scope:
- Each dataset item is one product record returned by the Actor.
- The returned fields reflect the selected input mode and whether
scrapeProductDetailswas enabled. startUrlscan carry product, search, or category pages, and the Amazon domain in the URL takes precedence overcountry.
Pagination and cost guidance:
maxSearchPagescontrols how far search or category pagination can continue.maxResultscontrols the total number of products returned across all inputs.- Since billing is event-based, smaller runs are useful for checking the output shape before larger jobs.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const input = {searchQuery: 'wireless earbuds',country: 'US',maxResults: 5,maxSearchPages: 2,scrapeProductDetails: true,proxyConfiguration: {useApifyProxy: true,apifyProxyGroups: ['RESIDENTIAL'],},};const run = await client.actor('khadinakbar/amazon-product-scraper').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Best results and outcome guidance
Start with a small maxResults value so the returned fields match your downstream schema before expanding the run. Use searchQuery when you are exploring a product theme, asins when you already know the target products, and startUrls when you have exact Amazon pages. Keep scrapeProductDetails enabled when you need bullets, BSR, variants, or seller data, and turn it off when a lighter search-page record is enough for your workflow. For cross-market analysis, select the marketplace with country or use a marketplace-specific Amazon URL in startUrls.
Design note
I found that the live dataset contract exposes a flat record shape with asin, title, url, price, rating, reviewCount, seller, isPrime, and scrapedAt all available at the top level, which makes the output straightforward to stream into agent prompts and tables.
FAQ
Which input should I use if I already have product links?
Use startUrls for direct Amazon product, search, or category pages.
When should I use searchQuery instead of ASINs?
Use searchQuery when you want Amazon search results for a keyword. Use asins when you already know the exact 10-character product IDs.
How does marketplace selection work?
country applies to searchQuery and asins. If a startUrls entry points to a different Amazon domain, that URL's domain takes precedence.
Can I combine keyword, ASIN, and URL inputs in one run?
Yes. The Actor accepts all three input types and returns one combined dataset.
How can I continue from this Actor into review analysis?
Pass returned product URLs or ASINs into Amazon Reviews Scraper - Ratings & Sentiment to add customer review context.
Responsible use
Use this Actor for publicly visible product information and for workflows that fit Amazon's terms, applicable laws, and local regulations. Respect marketplace rules, rate expectations, and data handling requirements in your environment.