
Amazon product scraper
Pricing
$10.00 / 1,000 results

Amazon product scraper
Fastest and powerful Amazon product scraper tool that extracts detailed product information from Amazon product pages, including title, price, features, images, technical specifications, and ratings. Automate data collection for market research, price comparison and competitive analysis.
0.0 (0)
Pricing
$10.00 / 1,000 results
6
123
34
Issues response
0.17 hours
Last modified
5 days ago
This Apify actor scrapes detailed product information from Amazon product pages.
Features
- Extracts comprehensive product details including name, ASIN, price, description, and more
- Supports multiple product URLs in a single run
- Handles product images extraction
- Works with regular Amazon product URLs
Input
The actor accepts the following input parameters:
Field | Type | Description |
---|---|---|
url | String | Single Amazon product URL |
urls | Array | List of Amazon product URLs to scrape |
proxy | Object | Proxy configuration (supports Apify proxy config) |
saveHtml | Boolean | If true, saves fetched HTML into key-value store keyed by ASIN |
maxRetries | Number | Number of retry attempts on bot detection (default: 2) |
retryDelaySecs | Number | Delay between retries in seconds (default: 3.0) |
Example Input
{"urls": ["https://www.amazon.com/dp/B0C7HGFSN2","https://www.amazon.com/dp/B09V3KXCPG"],"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]},"saveHtml": true,"maxRetries": 2,"retryDelaySecs": 3}
Output
The actor stores results in the default dataset. Each item contains detailed product information.
Example Output
{"name": "Example Product Name","asin": "B0C7HGFSN2","style": "Black","description": "This is a sample product description...","stars": "4.5 out of 5 stars","rating_count": "123 ratings","features": ["Feature 1: Some product feature","Feature 2: Another product feature"],"images": ["https://m.media-amazon.com/images/I/71example1.jpg","https://m.media-amazon.com/images/I/71example2.jpg"],"info_table": {"ASIN": "B0C7HGFSN2","Customer Reviews": "4.5 out of 5 stars","Best Sellers Rank": "#1,234 in Electronics"},"url": "https://www.amazon.com/dp/B0C7HGFSN2","price": "$99.99"}
Usage
To run the actor, you can use the Apify Console, the Apify API, or the Apify CLI.
Run with Apify API
curl -X POST \https://api.apify.com/v2/acts/USERNAME~amazon-product-scraper/runs \-H 'Content-Type: application/json' \-H 'Authorization: Bearer YOUR_API_TOKEN' \-d '{"urls": ["https://www.amazon.com/dp/B0C7HGFSN2"]}'
Run with Apify CLI
$apify run -d '{"urls": ["https://www.amazon.com/dp/B0C7HGFSN2"]}'
Limitations
- Amazon may block automated requests. Using residential proxies is recommended.
- Product page structure may change over time, requiring updates to selectors.
- Rate limiting is important to avoid being blocked by Amazon.
License
This project is licensed under the Apache License 2.0.
Scrape single-page in Python template
A template for web scraping data from a single web page in Python. The URL of the web page is passed in via input, which is defined by the input schema. The template uses the HTTPX to get the HTML of the page and the Beautiful Soup to parse the data from it. The data are then stored in a dataset where you can easily access them.
The scraped data in this template are page headings but you can easily edit the code to scrape whatever you want from the page.
Included features
- Apify SDK for Python - a toolkit for building Apify Actors and scrapers in Python
- Input schema - define and easily validate a schema for your Actor's input
- Request queue - queues into which you can put the URLs you want to scrape
- Dataset - store structured data where each object stored has the same attributes
- HTTPX - library for making asynchronous HTTP requests in Python
- Beautiful Soup - library for pulling data out of HTML and XML files
How it works
Actor.get_input()
gets the input where the page URL is definedhttpx.AsyncClient().get(url)
fetches the pageBeautifulSoup(response.content, 'lxml')
loads the page data and enables parsing the headings- This parses the headings from the page and here you can edit the code to parse whatever you need from the page
for heading in soup.find_all(["h1", "h2", "h3", "h4", "h5", "h6"]):
Actor.push_data(headings)
stores the headings in the dataset
Resources
- BeautifulSoup Scraper
- Python tutorials in Academy
- Web scraping with Beautiful Soup and Requests
- Beautiful Soup vs. Scrapy for web scraping
- Integration with Make, GitHub, Zapier, Google Drive, and other apps
- Video guide on getting scraped data using Apify API
- A short guide on how to build web scrapers using code templates:
Getting started
For complete information see this article. In short, you will:
- Build the Actor
- Run the Actor
Pull the Actor for local development
If you would like to develop locally, you can pull the existing Actor from Apify console using Apify CLI:
-
Install
apify-cli
Using Homebrew
$brew install apify-cliUsing NPM
$npm -g install apify-cli -
Pull the Actor by its unique
<ActorId>
, which is one of the following:- unique name of the Actor to pull (e.g. "apify/hello-world")
- or ID of the Actor to pull (e.g. "E2jjCZBezvAZnX8Rb")
You can find both by clicking on the Actor title at the top of the page, which will open a modal containing both Actor unique name and Actor ID.
This command will copy the Actor into the current directory on your local machine.
$apify pull <ActorId>
Documentation reference
To learn more about Apify and Actors, take a look at the following resources:
On this page
Share Actor: