Extract prices, ASINs, reviews, and seller data from Amazon at scale.
Powered by Thordata's residential proxy network & Web Scraper API.
- π¦ Product Details: Scrape by ASIN, URL, keywords, category, and best sellers.
- π Global Products: Scrape global products by URL, category, seller, keywords, and brand.
- β Reviews: Get user reviews, ratings, and dates.
- π¬ Seller Info: Extract seller details and business profiles.
- π Product Listings: Get product listings by keyword and domain.
- Managed Requests: Uses Thordata's Web Scraper API for request handling and proxy management.
- ζΉιζ―ζ: ε€§ε€ζ°η¬θ«ι½ζ―ζζΉι樑εΌοΌε―δΈζ¬‘ζ§ζδΊ€ε€δΈͺδ»»ε‘γ
Get your free scraping token from the Thordata Dashboard.
git clone https://github.com/Thordata/amazon-product-scraper-python.git
cd amazon-product-scraper-python
pip install -r requirements.txtCopy .env.example to .env and fill in your tokens:
THORDATA_SCRAPER_TOKEN=your_token
THORDATA_PUBLIC_TOKEN=your_public
THORDATA_PUBLIC_KEY=your_keyBy ASIN:
python main.py product asin B0BZYCJK89By URL (with optional zip_code):
python main.py product url "https://www.amazon.com/dp/B0BRXPR726" --zip-code 94107By Keywords:
python main.py product keywords "Apple Watch" --page-turning 2 --lowest-price 1 --highest-price 10000By URL:
python main.py global url "https://www.amazon.com/dp/B0CHHSFMRL/"python main.py reviews "https://www.amazon.com/dp/B0BRXPR726"python main.py seller "https://www.amazon.com/sp?ie=UTF8&seller=A3AZYNALJBV2WE&asin=B099S46ZRQ"python main.py listing "X-box" "https://www.amazon.com/" --page-turning 1All data is saved to output/ in JSON format.
This scraper uses Thordata's Web Scraper API (Hybrid Mode):
- Task Creation: Sends scraping parameters to Thordata's cloud cluster.
- Auto-Polling: The SDK (
run_task) automatically polls for completion. - Result Retrieval: Downloads the clean JSON data once ready.
This architecture ensures you never get blocked and receive clean, structured data.
This repository is an example client for authorized Thordata Web Scraper API requests. It does not include Amazon credentials, cookies, browser sessions, or source-site access controls.
The script writes API responses to local files under output/. Review generated files before sharing them, and never commit credentials, tokens, cookies, or private data.
Access to this code does not grant rights to collect, reuse, train on, or redistribute third-party data. Use the example only for lawful and authorized workflows.
When the scraper service returns an error response, the script writes the error payload to:
output/error_<operation>_<timestamp>.json
Successful responses are written to:
output/<operation>.json
Invalid credentials, unsupported parameters, rate limits, or endpoint-specific failures may result in an API error. The exact response depends on the account, endpoint, and request parameters.
When modifying or running this example:
- Read
.env.exampleand keep all credentials in environment variables. - Never place API keys or private data in source files, logs, README files, or commits.
- Check
src/config.pybefore inventing spider IDs or request parameters. - Use the existing CLI, for example:
python main.py product asin B0BZYCJK89
- Review files under
output/before sharing or committing them. - Treat returned product, review, seller, and listing data as third-party data subject to applicable terms and usage restrictions.
MIT License. See LICENSE for details.