Scrape Amazon product data worldwide with our powerful web scraping API. Get prices, reviews, and rankings from any Amazon domain - all with a single API call. Our Amazon Scraper API delivers the product data you need to make critical business decisions. Track Amazon product prices across regions and categories in real-time. Respond instantly to market shifts. Stay ahead of your competitors. Monitor your product's position in Amazon search results. Understand what drives visibility. Optimize your listings for maximum exposure. Capture reviews and ratings at scale. Identify trends in customer feedback. Turn insights into product improvements. Extract valuable Amazon product information with ready-to-use code. The data awaits you. No complex setups. No rate limits. Input parameters Product or item to be searched for on Amazon. Amazon domain to search (e.g., com, co.uk, de). ZIP code for location-specific pricing (optional). Page number for pagination of search results. Sorting criterion (e.g., featured, price_low_to_high). Input Output Product parameters URL of the Amazon product page. Amazon domain where the product is listed. ZIP code for location-specific pricing (optional). Input Output Extract data from any Amazon marketplace effortlessly. Access 20+ Amazon regional domains from a single API. Set location parameters for accurate local pricing. Expand your data collection across borders without the complexity. Track price changes across countless Amazon products simultaneously. Compare costs across different sellers, detect flash sales, and monitor regional price differences. Stay ahead of market fluctuations without manual monitoring. From anti-bot bypassing to pixel-perfect screenshots, our web scraping API handles the complex parts Extract data from any website. Bypass rate limits and anti-bot measures with advanced anti-bot measures, stealth/premium proxies and cutting-edge headless browser technology. Never miss a data point again. Skip the messy HTML. With our easy-to-use extraction rules, get perfectly structured JSON with just the data you care about. One API call. Done. Click, scroll, wait for dynamic content to appear, or just run some custom JavaScript code. Our JavaScript scenarios simulate real user behavior. Seamlessly. Need a screenshot of that website and not HTML? Generate screenshots for visual analysis. Full-page captures. Partial views. Perfect for monitoring design changes. Extract Google Search data at scale with our specialized Google Search API. No rate limits. No complexity. Just pure search intelligence. Jettison the Xpath and CSS selectors with our AI-powered Web Scraping feature, which enables you to extract data with a prompt. Adapts to page layout changes with zero effort. Cancel anytime, no questions asked! Need more credits and concurrency per month? Not sure what plan you need? Try ScrapingBee with 1000 free API calls. (No credit card required) The same powerful technology. Adapted to scrape major web platforms.Amazon Scraping API
Amazon Product Data Without Limits. Built for Market Leaders
Monitor Price Movements
Track Search Rankings
Analyze Customer Sentiment
From One API Call to Amazon Product Data. In Seconds. At Scale
search_query
domain
zip
page
sort_by
from scrapingbee import ScrapingBeeClient
client = ScrapingBeeClient(api_key="ENTER YOUR API KEY HERE")
def amazon_shopping_search(
search_query, page=1, sort_by="featured", zip=None, domain="com"
):
sort_by_map = {
"featured": "relevanceblender",
"price_low_to_high": "price-asc-rank",
"price_high_to_low": "price-desc-rank",
"avg_customer_review": "review-rank",
"newest_arrivals": "date-desc-rank",
"best_sellers": "exact-aware-popularity-rank",
}
extract_rules = {
"location": "#glow-ingress-block",
"products": {
"selector": ".puisg-col-inner .a-section.a-spacing-small.a-spacing-top-small, .s-product-image-container + div",
"type": "list",
"output": {
"name": "[data-cy=title-recipe]",
"current-price": ".a-price > .a-offscreen",
"listed-price": ".aok-inline-block > .a-price > .a-offscreen",
"rating": "[data-cy=reviews-ratings-slot]",
"reviews": ".rush-component > div > span > a > span, a.a-link-normal > span.a-size-base",
"options": ".s-variation-options-text > a > span > .a-offscreen",
"delivery": "[data-cy=delivery-recipe]",
"coupon": ".s-coupon-unclipped",
"link": "a.a-link-normal@href", # relative url
},
},
}
js_scenario = {
"instructions": [
{
"evaluate": """
var xhttp = new XMLHttpRequest();
xhttp.open('POST', 'https://www.amazon."""
+ domain
+ """/gp/delivery/ajax/address-change.html');
xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');
xhttp.onload = function() {
if (xhttp.status >= 200 && xhttp.status < 300) {
window.location.reload();
}
};
xhttp.send('locationType=LOCATION_INPUT&zipCode="""
+ str(zip)
+ """&storeContext=generic&deviceType=mobile&pageType=Gateway&actionSource=glow');
"""
},
{"wait": 4000},
]
}
q = search_query.replace(" ", "+")
response = client.get(
f"https://www.amazon.{domain}/s?k={q}&page={page}&s={sort_by_map[sort_by]}",
params={
"wait_browser": "load",
"extract_rules": extract_rules,
"js_scenario": js_scenario if zip is not None else "",
"timeout": 20000,
},
headers={
"Referer": f"https://www.amazon.{domain}",
},
retries=5,
)
if response.text.startswith('{"message":"Invalid api key:'):
return f"Oops! It seems you may have missed adding your API KEY or you are using an incorrect key.\nYou can obtain your API KEY for by visiting this page: https://app.scrapingbee.com/account/manage/api_key"
else:
def get_info():
if (zip is not None) and (str(zip) not in response.json()["location"]):
return "FAILED TO RETRIEVE PRODUCTS USING ZIP CODE"
elif len(response.json()["products"]) == 0:
return "FAILED TO RETRIEVE PRODUCTS"
else:
return "SUCCESS"
return {
"location": response.json()["location"].replace("\u200c", ""),
"count": len(response.json()["products"]),
"products": response.json()["products"],
"info": f"{response.status_code} {get_info()}",
"page": page,
}
# Enter a valid zip code to get accurate prices for that area
# You can exclude zip parameter, however, the location will be random
print(
amazon_shopping_search(
search_query="school bags",
page=1,
zip="98101",
domain="com",
sort_by="avg_customer_review",
)
)
{
"count": 16,
"info": "200 SUCCESS",
"location": "Deliver to Seattle 98101",
"page": 1,
"products": [
{
"name": "Girls Backpacks, Fox Backpack for Girls",
"current-price": "$30.99",
"listed-price": "$34.99",
"rating": "4.9 out of 5 stars",
"reviews": "200",
"delivery": "FREE delivery on orders over $35, arriving by Sat, Aug 31",
"link": "/Backpacks-Backpack-School-Bookbag-Pencil/dp/B095YRWYQ6/ref=sr_1_1?dib=eyJ2IjoiMSJ9.7p5F03LKdhpm887uYOjk3fPwQ1X76AcTn1W-v7g2zM5cVzWrrZHszcaE_eMVbKx-Gfo_6lcgJl3LkN0ILcEBFrTjpD_kz0Ru2RIRdWR3me5FbGzOMCzCGvScCsiOTApzIBT2URRVXGJRngUTq2Dth-nczyEUQ59im7Fmo53RqF1QuZe5Yt44VJUd1a4sgXu2U-qzbdtSegPXKorUxnhvLRRTFPiZc9MB6d0i_NbEVEE.NAg5XDX5G0RxtervGhkDGIlhM77NNjAX7QKrsiOSfFg&dib_tag=se&keywords=school+bags&qid=1724728712&sr=8-1"
},
{
"name": "Kcldeci Penguin Laptop Backpack",
"current-price": "$33.99",
"listed-price": "",
"rating": "4.9 out of 5 stars",
"reviews": "136",
"delivery": "FREE delivery on orders over $35, arriving by Fri, Aug 30",
"link": "/Kcldeci-Backpack-Backpacks-Preschool-Shoulder/dp/B09S8QPRMR/ref=sr_1_2?dib=eyJ2IjoiMSJ9.7p5F03LKdhpm887uYOjk3fPwQ1X76AcTn1W-v7g2zM5cVzWrrZHszcaE_eMVbKx-Gfo_6lcgJl3LkN0ILcEBFrTjpD_kz0Ru2RIRdWR3me5FbGzOMCzCGvScCsiOTApzIBT2URRVXGJRngUTq2Dth-nczyEUQ59im7Fmo53RqF1QuZe5Yt44VJUd1a4sgXu2U-qzbdtSegPXKorUxnhvLRRTFPiZc9MB6d0i_NbEVEE.NAg5XDX5G0RxtervGhkDGIlhM77NNjAX7QKrsiOSfFg&dib_tag=se&keywords=school+bags&qid=1724728712&sr=8-2"
}
]
}
product_url
domain
zip
(function() {
class CodeBlockComponent extends HTMLElement {
constructor() {
super();
this.attachShadow({ mode: "open" });
}
bindEvents() {
const { shadowRoot } = this;
const copyButton = shadowRoot.querySelector('#copy-button');
copyButton.addEventListener("click", () => {
this.copyCode();
});
}
(function() {
class CodeBlockComponent extends HTMLElement {
constructor() {
super();
this.attachShadow({ mode: "open" });
}
bindEvents() {
const { shadowRoot } = this;
const copyButton = shadowRoot.querySelector('#copy-button');
copyButton.addEventListener("click", () => {
this.copyCode();
});
}
Every Product, Every Amazon Marketplace
From simple product lookups to enterprise-scale data operations.Global Coverage. Local Precision
Data at Scale. Automated
ScrapingBee. Built for Speed. Designed for Web Scraping Simplicity
Our customers focus on what matters - growing their businesses.Seamless Data Access
Get Exactly What You Need
Interact Like a Human
Screenshots for Visual Intelligence
Search Engine Results
AI Powered Web Scraping
Simple, transparent pricing.
More Scrapers. More Markets. More Opportunities
Your Amazon Product Data Questions. Answered
Related Articles