Amazon Full Product Scraper
Pricing
from $3.00 / 1,000 results
Amazon Full Product Scraper
Scrape Amazon product pages across global marketplaces. Extract title, ASIN, brand, price, availability, ratings, images, bullets, product details, seller signals, variations, and price diagnostics with marketplace-aware proxy country selection.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(1)
Developer
Lorenzo Cerqua
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
What does Amazon Product Info Scraper do?
Amazon Product Info Scraper extracts structured product data from Amazon product detail pages, including title, ASIN, brand, price, availability, rating, review count, images, bullet points, product details, seller signals, variation data, and price diagnostics. Add one or many product URLs from Amazon marketplaces such as amazon.it, amazon.com, amazon.co.uk, amazon.fr, amazon.de, amazon.es, amazon.co.jp, and more, then run the Actor to receive clean JSON records in an Apify dataset.
This Actor is designed for practical product research workflows on the Apify platform: run it from the Console, call it through the API, schedule recurring checks, connect the dataset to integrations, monitor runs, and use proxy rotation for marketplace-aware scraping. It uses HTTP requests instead of a browser whenever possible, which keeps runs lightweight and fast while still collecting deep product-page data.
Why use Amazon Product Info Scraper?
Amazon product pages can vary by marketplace, language, location, availability, offer state, and product variation. This scraper is built to handle those differences more transparently than a simple one-selector scraper.
Use it for:
- Price and availability monitoring across Amazon marketplaces.
- Product catalog research for titles, brands, ASINs, parent ASINs, images, descriptions, and feature bullets.
- Marketplace comparison by running the same or related ASIN URLs from different Amazon domains.
- Seller and buy box checks where seller information is visible in the rendered product page.
- Variation discovery for products with color, material, size, or style options.
- Data pipelines that need repeatable JSON output through Apify API, webhooks, Zapier, Make, Google Sheets, or cloud storage integrations.
The Actor also includes price diagnostics such as price_candidates, price_missing_reason, and requested_proxy_country, which are useful when Amazon renders a page differently depending on country, proxy, availability, or offer status.
How to use Amazon Product Info Scraper
- Open the Actor in Apify Console.
- In the Input tab, add one or more Amazon product URLs using the URL list editor.
- Keep Use Apify residential proxy enabled for best results on Amazon.
- Leave Proxy country override empty to auto-select the country from the Amazon domain, for example
ITforamazon.it,USforamazon.com, andGBforamazon.co.uk. - Adjust Max retries if Amazon occasionally returns unavailable, blocked, or incomplete pages.
- Adjust Max concurrency depending on how many product pages you scrape in one run.
- Start the Actor.
- Download results from the dataset as JSON, CSV, Excel, HTML, or other Apify-supported formats.
For example, to scrape an Italian product page, add:
[{"url": "https://www.amazon.it/ANYCUBIC-Filamento-Resistenza-Precisione-Dimensionale/dp/B0DRV1QQC3/"}]
You do not need to type JSON manually in the Apify Console. The input uses Apify's URL list editor, so you can add product links with a user-friendly control.
Input
Configure the Actor from the Input tab.
| Field | Type | Required | Description |
|---|---|---|---|
start_urls | Array of URLs | Yes | Amazon product detail page URLs to scrape. The Console shows this as a user-friendly URL list. |
use_proxy | Boolean | No | Enables Apify Residential Proxy. Recommended for Amazon product pages. |
proxy_country | String | No | Optional ISO country code override, such as IT, US, GB, FR, or DE. Leave empty for automatic marketplace-based selection. |
max_retries | Integer | No | Number of retry attempts per product URL. Useful when Amazon returns transient blocked or incomplete pages. |
max_concurrency | Integer | No | Number of product pages processed in parallel. Lower values are gentler and often more stable. |
Example input:
{"start_urls": [{"url": "https://www.amazon.it/ANYCUBIC-Filamento-Resistenza-Precisione-Dimensionale/dp/B0DRV1QQC3/"},{"url": "https://www.amazon.com/dp/B08N5WRWNW/"}],"use_proxy": true,"proxy_country": "","max_retries": 5,"max_concurrency": 5}
Marketplace-aware proxy selection
When proxy_country is empty, the Actor chooses a proxy country from the Amazon marketplace domain:
| Amazon marketplace | Proxy country | Accept-Language |
|---|---|---|
amazon.it | IT | Italian |
amazon.com | US | US English |
amazon.co.uk | GB | UK English |
amazon.fr | FR | French |
amazon.de | DE | German |
amazon.es | ES | Spanish |
amazon.co.jp | JP | Japanese |
amazon.com.au | AU | Australian English |
This matters because Amazon may show different prices, availability, and buy box data depending on visitor location. If a product appears available locally but unavailable in Apify, set proxy_country to the target marketplace country and rerun.
Output
The Actor stores one JSON object per product page in the default Apify dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Simplified output example:
{"scraped_at": "2026-06-17T10:30:00.000000+00:00","source_url": "https://www.amazon.it/ANYCUBIC-Filamento-Resistenza-Precisione-Dimensionale/dp/B0DRV1QQC3/","final_url": "https://www.amazon.it/ANYCUBIC-Filamento-Resistenza-Precisione-Dimensionale/dp/B0DRV1QQC3/","asin": "B0DRV1QQC3","parent_asin": "B0FVXTXSWM","marketplace": "amazon.it","requested_proxy_country": "IT","blocked_or_captcha_detected": false,"title": "ANYCUBIC ABS Filamento 1,75 mm...","brand": "Visita lo Store di ANYCUBIC","price": "25,99 EUR","price_candidates": [{"source": "corePriceDisplay_desktop_feature_div","price": "25,99 EUR","primary": true},{"source": "sns-base-price","price": "23,39 EUR","primary": false}],"availability": "Disponibilita immediata","rating": "4,5 su 5 stelle","ratings_count": "(176)","feature_bullets": ["COS'E ANYCBUIC ABS?: Il filamento ABS Anycubic..."],"images": {"landing": {"src": "https://m.media-amazon.com/images/I/example.jpg"}}}
If Amazon renders a product page without an offer, price may be empty and price_missing_reason will explain why, for example:
{"price": null,"price_missing_reason": "offer_unavailable_on_rendered_page","availability": "Currently unavailable."}
Data table
| Field | Description |
|---|---|
scraped_at | UTC timestamp when the page was scraped. |
source_url | Original URL from the Actor input. |
final_url | Final URL after redirects. |
asin | Product ASIN detected from URL or page content. |
parent_asin | Parent ASIN when variation data is available. |
marketplace | Amazon domain, such as amazon.it or amazon.com. |
requested_proxy_country | Proxy country selected or requested for the page. |
blocked_or_captcha_detected | Whether the page appears blocked or CAPTCHA-protected. |
title | Product title. |
brand | Brand or store label shown near the title. |
brand_url | Brand/store URL when available. |
price | Best primary product price found on the page. |
price_candidates | All detected price candidates with source and primary/secondary classification. |
price_missing_reason | Diagnostic reason when no primary price was found. |
list_price | List price or basis price block when available. |
availability | Availability text shown by Amazon. |
rating | Product rating text. |
ratings_count | Number of ratings or reviews shown on the page. |
breadcrumbs | Category breadcrumb trail. |
feature_bullets | Main bullet points from the product page. |
product_description | Product description when available. |
important_information | Important information section when available. |
product_details | Technical details and product information rows. |
seller | Seller label when visible. |
delivery_message | Delivery promise or delivery message when visible. |
images | Landing image, high-resolution image links, and detected product images. |
variations | Embedded variation data and optional AJAX variation slots. |
meta | Page meta tags. |
links | Relevant page links and link IDs. |
buybox_inputs | Buy box form inputs, useful for debugging offer availability. |
captured_requests | Request metadata for the product page and variation endpoint. |
Pricing / Cost estimation
How much does it cost to scrape Amazon product pages?
Costs depend on the number of URLs, retries, concurrency, page size, proxy usage, and whether Amazon returns pages quickly or requires retries. This Actor uses HTTP requests instead of browser automation, so it is generally more compute-efficient than Playwright or Puppeteer-based scrapers.
Typical cost drivers:
- More URLs increase runtime and dataset size.
- Residential proxies may add proxy usage cost but are recommended for Amazon stability.
- Higher retries improve success rate but increase runtime.
- Higher concurrency can finish faster, but aggressive concurrency may lead to more unstable Amazon responses.
For small tests, start with 1-5 URLs, max_retries set to 5, and max_concurrency set to 1 or 2. Once results look stable, increase concurrency carefully.
Apify's free tier may be enough for small tests, but larger recurring monitoring jobs usually require paid platform usage, especially when residential proxies are enabled.
Tips or Advanced options
Use direct product URLs whenever possible. URLs containing /dp/ASIN or /gp/product/ASIN are best.
Keep use_proxy enabled for Amazon. Without a proxy, Amazon may return pages that differ from the target marketplace location or may block the request more often.
Leave proxy_country empty for mixed-marketplace runs. The Actor will infer the country from each URL. For example, a run containing amazon.it and amazon.co.uk URLs can use IT and GB automatically.
Set proxy_country manually when you want a specific viewpoint. For example, use IT when checking how an amazon.it product appears to Italian visitors.
Check price_candidates when prices look wrong. Amazon pages often include subscription prices, bundle totals, "frequently bought together" totals, list prices, and secondary offer prices. The Actor labels primary and secondary candidates to make this easier to debug.
Check price_missing_reason when price is empty. If the reason is offer_unavailable_on_rendered_page, the scraper did not miss the selector - Amazon rendered the product as unavailable for that request.
Lower max_concurrency if results become inconsistent. Amazon can vary responses under load, and gentler crawling is often more reliable.
Use scheduled runs for monitoring. Apify schedules can run the Actor hourly, daily, or weekly and send results to integrations or webhooks.
FAQ, disclaimers, and support
Is it legal to scrape Amazon?
Scraping publicly available web pages can be legal in many contexts, but you are responsible for how you use this Actor. Always review Amazon's Terms of Service, applicable laws, privacy rules, and any contractual limits that apply to your use case. Do not scrape personal or sensitive data unless you have a lawful basis and explicit permission where required.
Why is the price missing for some products?
The most common reason is that Amazon rendered the page without an active offer. In that case, the dataset may show availability as unavailable and price_missing_reason as offer_unavailable_on_rendered_page. This can depend on country, proxy location, product variation, stock status, shipping eligibility, or Amazon's own availability logic.
Why does Apify show a different price than my browser?
Amazon personalizes pages by marketplace, country, language, cookies, delivery location, Prime state, and availability. Use the correct marketplace URL and proxy country. Check requested_proxy_country, availability, and price_candidates to understand what Amazon returned to the Actor.
Can this scrape every Amazon country?
The Actor supports common Amazon marketplaces and includes marketplace-aware proxy and language settings for many domains. Unsupported domains can still be scraped, but automatic proxy country selection may fall back to a default language and no country code.
Does it scrape reviews?
This Actor focuses on product detail pages. It extracts rating text and rating count when visible, but it does not crawl review pages or individual review content.
Does it use a browser?
No. It uses HTTP requests for speed and lower compute usage. This is efficient, but some JavaScript-only page states may not be available. The Actor compensates by parsing embedded Amazon state data where possible.
Where can I report problems or request changes?
Use the Actor's Issues tab on Apify to report bugs, missing fields, marketplace-specific problems, or feature requests. Custom solutions are also possible if you need additional fields, review crawling, offer-list crawling, or a dedicated monitoring workflow.