Amazon Scraper API Get structured JSON for Amazon products, reviews, pricing and more in a single API call.
based on 100+ reviews. Mike Ritchie
CEO @
SeekWell
ScrapingBee simplified our day-to-day marketing and engineering operations a lot . We no longer have to worry about managing our own fleet of headless browsers, and we no longer have to spend days sourcing the right proxy provider
Designed specifically for The Problem
Scraping Amazon shouldn't feel like hacking.
Web scraping Amazon is a pain:
You're blocked by anti-bot systems
Rotating proxies eat up time
Managing headless browsers slows your team
Shipping information sometimes loads, sometimes doesn't
Whether you're building a product or running e-commerce analysis at scale, our Amazon Scraper API is perfect for getting reliable results repeatedly.
Amazon product data, effortlessly
Code
Python JavaScript PHP Ruby Java go
import requests
def send_request():
response = requests.get(
url='https://app.scrapingbee.com/api/v1/amazon/product',
params={
'query': 'B08N5WRWNW',
'domain': 'com'
},
headers={'Authorization': 'Bearer YOUR-API-KEY'},
)
print('Response HTTP Status Code: ', response.status_code)
print('Response HTTP Response Body: ', response.content)
send_request()
const axios = require('axios');
axios.get('https://app.scrapingbee.com/api/v1/amazon/product', {
params: {
"query": "B08N5WRWNW",
"country": "us"
},
headers: {
"Authorization": "Bearer YOUR-API-KEY"
}
}).then(function (response) {
// handle success
console.log(response);
});;
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.scrapingbee.com/api/v1/amazon/product?query=B08N5WRWNW&country=us');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer YOUR-API-KEY'));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
if (!$response) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
}
echo 'HTTP Status Code: ' . curl_getinfo($ch, CURLINFO_HTTP_CODE) . PHP_EOL;
echo 'Response Body: ' . $response . PHP_EOL;
// close curl resource to free up system resources
curl_close($ch);
?>
require 'net/http'
require 'net/https'
# Classic (GET )
def send_request
uri = URI('https://app.scrapingbee.com/api/v1/amazon/product?query=B08N5WRWNW&country=us')
# Create client
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
# Create Request
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer YOUR-API-KEY'
# Fetch Request
res = http.request(req)
puts "Response HTTP Status Code: #{ res.code }"
puts "Response HTTP Response Body: #{ res.body }"
rescue StandardError => e
puts "HTTP Request failed (#{ e.message })"
end
send_request()
import java.io.IOException;
import org.apache.http.client.fluent.*;
public class SendRequest
{
public static void main(String[] args) {
sendRequest();
}
private static void sendRequest() {
// Classic (GET )
try {
// Create request
Content content = Request.Get("https://app.scrapingbee.com/api/v1/amazon/product?query=B08N5WRWNW&country=us")
.addHeader("Authorization", "Bearer YOUR-API-KEY")
// Fetch request and return content
.execute().returnContent();
// Print content
System.out.println(content);
}
catch (IOException e) { System.out.println(e); }
}
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func sendClassic() {
// Create client
client := &http.Client{}
// Create request
req, err := http.NewRequest("GET", "https://app.scrapingbee.com/api/v1/amazon/product?query=B08N5WRWNW&country=us", nil)
req.Header.Set("Authorization", "Bearer YOUR-API-KEY")
parseFormErr := req.ParseForm()
if parseFormErr != nil {
fmt.Println(parseFormErr)
}
// Fetch Request
resp, err := client.Do(req)
if err != nil {
fmt.Println("Failure : ", err)
}
// Read Response Body
respBody, _ := ioutil.ReadAll(resp.Body)
// Display Results
fmt.Println("response Status : ", resp.Status)
fmt.Println("response Headers : ", resp.Header)
fmt.Println("response Body : ", string(respBody))
}
func main() {
sendClassic()
}
{
"ads": null,
"answered_questions_count": 0,
"asin": "B0DPDRNSXV",
"asin_in_url": "B0DPDRNSXV",
"brand": "Apple",
"bullet_points": "This pre-owned product is not Apple certified, but has been professionally inspected, tested and cleaned by Amazon-qualified suppliers.\nThere will be no visible cosmetic imperfections when held at an arm’s length. There will be no visible cosmetic imperfections when held at an arm’s length.\nThis product will have a battery which exceeds 80% capacity relative to new.\nAccessories will not be original, but will be compatible and fully functional. Product may come in generic Box.\nThis product is eligible for a replacement or refund within 90 days of receipt if you are not satisfied.",
"buybox": null,
"category": [
{
"ladder": [
{
"name": "Cell Phones & Accessories",
"url": "/cell-phones-service-plans-accessories/b/ref=dp_bc_1?ie=UTF8&node=2335752011"
},
{
"name": "Cell Phones",
"url": "/cell-phone-devices/b/ref=dp_bc_2?ie=UTF8&node=7072561011"
}
]
}
],
"coupon": "",
"coupon_discount_percentage": null,
"currency": "USD",
"deal_type": null,
"delivery": [
{
"date": {
"by": "Tomorrow, September 13"
},
"type": "FREE delivery"
}
],
"description": "Apple iPhone 16, US Version, 128GB, Pink - Unlocked (Renewed Premium)",
"developer_info": [],
"discount_end": null,
"discount_percentage": 11,
"featured_merchant": {
"is_amazon_fulfilled": false,
"link": "/gp/help/seller/at-a-glance.html/ref=dp_merchant_link?ie=UTF8&seller=A230ZFNKXE1WUD&asin=B0DPDRNSXV&ref_=dp_merchant_link",
"name": "ELECTRONIC DEALS",
"seller_id": "A230ZFNKXE1WUD",
"shipped_from": "ELECTRONIC DEALS"
},
"has_videos": false,
"highest_price": 675,
"html": null,
"images": [
"https://m.media-amazon.com/images/I/31-6u85wcSL._AC_.jpg"
],
"important_information": null,
"is_addon_item": null,
"is_prime": false,
"item_form": null,
"lightning_deal": null,
"manufacturer": "Amazon Renewed",
"max_quantity": 9,
"other_sellers": null,
"page": 1,
"page_type": "Product",
"parent_asin": "B0DPTG2HKV",
"price": 675,
"price_buybox": 675,
"price_shipping": 0,
"price_sns": 0,
"price_strikethrough": 0,
"pricing_count": 1,
"pricing_str": "Renewed (7) from $675.00$675.00 & FREE Shipping",
"pricing_url": "https://www.amazon.com/gp/offer-listing/B0DPDRNSXV/ref=dp_olp_NEW_mbc?ie=UTF8&condition=NEW",
"product_details": {
"asin": "B0DPDRNSXV",
"batteries": "1 Lithium Ion batteries required. (included)",
"battery_capacity": "3491 Milliamp Hours",
"battery_power_rating": "3561 Milliamp Hours",
"best_sellers_rank": "#5,163 in Cell Phones & Accessories (See Top 100 in Cell Phones & Accessories) #68 in Renewed Smartphones #100 in Cell Phones",
"color": "Pink",
"connectivity_technologies": "Infrared, USB, Wi-Fi, Wireless",
"customer_reviews": "4.6 4.6 out of 5 stars 114 ratings 4.6 out of 5 stars",
"date_first_available": "October 20, 2024",
"form_factor": "Bar",
"human_interface_input": "Touchscreen",
"item_model_number": "A3081",
"item_weight": "5.9 ounces",
"manufacturer": "Apple",
"memory_storage_capacity": "128 GB",
"os": "iOS 18",
"other_display_features": "Wireless",
"product_dimensions": "5.81 x 2.82 x 0.31 inches",
"ram_memory_installed_size": "8 GB",
"scanner_resolution": "2556 x 1179",
"standing_screen_display_size": "6.1 Inches",
"weight": "0.37 Pounds",
"whats_in_the_box": "Apple iPhone 16, USB Cable"
},
"product_dimensions": "5.81 x 2.82 x 0.31 inches",
"product_name": "Apple iPhone 16, US Version, 128GB, Pink - Unlocked (Renewed Premium)",
"product_overview": [
{
"description": "Apple",
"title": "Brand"
},
{
"description": "iOS 18",
"title": "Operating System"
},
{
"description": "8 GB",
"title": "Ram Memory Installed Size"
},
{
"description": "Apple A18",
"title": "CPU Model"
},
{
"description": "3.2 GHz",
"title": "CPU Speed"
},
{
"description": "128 GB",
"title": "Memory Storage Capacity"
},
{
"description": "6.1 Inches",
"title": "Screen Size"
},
{
"description": "2556 x 1179",
"title": "Resolution"
},
{
"description": "60 Hz",
"title": "Refresh Rate"
},
{
"description": "iPhone 16",
"title": "Model Name"
}
],
"rating": 4.6,
"rating_stars_distribution": null,
"reviews": [],
"reviews_count": 114,
"sales_rank": [
{
"ladder": [
{
"name": "Cell Phones & Accessories ",
"url": "/gp/bestsellers/wireless/ref=pd_zg_ts_wireless"
}
],
"rank": 5163
},
{
"ladder": [
{
"name": "Renewed Smartphones",
"url": "/gp/bestsellers/amazon-renewed/17871142011/ref=pd_zg_hrsr_amazon-renewed"
}
],
"rank": 68
},
{
"ladder": [
{
"name": "Cell Phones",
"url": "/gp/bestsellers/wireless/7072561011/ref=pd_zg_hrsr_wireless"
}
],
"rank": 100
}
],
"sns_discounts": [],
"stock": "Only 9 left in stock - order soon.",
"store_url": "/Amazon-Renewed/b/ref=bl_dp_s_web_12653393011?ie=UTF8&node=12653393011&field-lbr_brands_browse-bin=Amazon+Renewed",
"technical_details": null,
"title": "Apple iPhone 16, US Version, 128GB, Pink - Unlocked (Renewed Premium)",
"url": "https://www.amazon.com/dp/B0DPDRNSXV?language=en_US",
"variations": [
{
"asin": "B0DPCYVF47",
"dimensions": {
"Color": "Black",
"Size": "128GB",
"Wireless Provider": "T-Mobile"
},
"selected": false
},
...
{
"asin": "B0DPDSD11Q",
"dimensions": {
"Color": "Teal",
"Size": "128GB",
"Wireless Provider": "Unlocked for All Carriers"
},
"selected": false
}
],
"warranty_and_support": null
}
Copy Input Parameters
The 10-character ASIN product code to look up.
Specify the country you want to scrape results from, using a 2-letter country code.
Set the results language.
Specify the Amazon domain to use (e.g., amazon.com, amazon.co.uk, amazon.de).
light_request
⚡️ Light request
Light request mode to get faster and cheaper results.
Specify device type (desktop or mobile) for the request.
Code
Python JavaScript PHP Ruby Java go
import requests
def send_request():
response = requests.get(
url='https://app.scrapingbee.com/api/v1/amazon/pricing',
params={
'asin': 'B08N5WRWNW',
'domain': 'com'
},
headers={'Authorization': 'Bearer YOUR-API-KEY'},
)
print('Response HTTP Status Code: ', response.status_code)
print('Response HTTP Response Body: ', response.content)
send_request()
const axios = require('axios');
axios.get('https://app.scrapingbee.com/api/v1/amazon/pricing', {
params: {
"asin": "B08N5WRWNW",
"country": "us"
},
headers: {
"Authorization": "Bearer YOUR-API-KEY"
}
}).then(function (response) {
// handle success
console.log(response);
});;
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.scrapingbee.com/api/v1/amazon/pricing?asin=B08N5WRWNW&country=us');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer YOUR-API-KEY'));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
if (!$response) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
}
echo 'HTTP Status Code: ' . curl_getinfo($ch, CURLINFO_HTTP_CODE) . PHP_EOL;
echo 'Response Body: ' . $response . PHP_EOL;
// close curl resource to free up system resources
curl_close($ch);
?>
require 'net/http'
require 'net/https'
# Classic (GET )
def send_request
uri = URI('https://app.scrapingbee.com/api/v1/amazon/pricing?asin=B08N5WRWNW&country=us')
# Create client
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
# Create Request
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer YOUR-API-KEY'
# Fetch Request
res = http.request(req)
puts "Response HTTP Status Code: #{ res.code }"
puts "Response HTTP Response Body: #{ res.body }"
rescue StandardError => e
puts "HTTP Request failed (#{ e.message })"
end
send_request()
import java.io.IOException;
import org.apache.http.client.fluent.*;
public class SendRequest
{
public static void main(String[] args) {
sendRequest();
}
private static void sendRequest() {
// Classic (GET )
try {
// Create request
Content content = Request.Get("https://app.scrapingbee.com/api/v1/amazon/pricing?asin=B08N5WRWNW&country=us")
.addHeader("Authorization", "Bearer YOUR-API-KEY")
// Fetch request and return content
.execute().returnContent();
// Print content
System.out.println(content);
}
catch (IOException e) { System.out.println(e); }
}
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func sendClassic() {
// Create client
client := &http.Client{}
// Create request
req, err := http.NewRequest("GET", "https://app.scrapingbee.com/api/v1/amazon/pricing?asin=B08N5WRWNW&country=us", nil)
req.Header.Set("Authorization", "Bearer YOUR-API-KEY")
parseFormErr := req.ParseForm()
if parseFormErr != nil {
fmt.Println(parseFormErr)
}
// Fetch Request
resp, err := client.Do(req)
if err != nil {
fmt.Println("Failure : ", err)
}
// Read Response Body
respBody, _ := ioutil.ReadAll(resp.Body)
// Display Results
fmt.Println("response Status : ", resp.Status)
fmt.Println("response Headers : ", resp.Header)
fmt.Println("response Body : ", string(respBody))
}
func main() {
sendClassic()
}
{
"asin": "B087TXHLVQ",
"asin_in_url": "B087TXHLVQ",
"html": null,
"page": 1,
"review_count": 6903,
"title": "HOOBRO Folding TV Tray Tables, Set of 2 Side Table for Small Space, Industrial Snack Tables for Eating at Couch, Stable Metal Frame, Easy Assembly, Space Saving, Rustic Brown and Black BF25BZ01",
"url": "https://www.amazon.com/gp/product/ajax/aodAjaxMain/ref=dp_aod_unknown_mbc?asin=B087TXHLVQ&pageno=1&language=en_US",
"pricing": [
{
"condition": "New",
"currency": "USD",
"delivery": "Ships from Amazon.com",
"delivery_options": [
{
"date": {
"by": "Tuesday, June 2"
},
"type": "FREE delivery"
},
{
"date": {
"by": "Tomorrow, May 29"
},
"type": "Prime members FREE delivery"
}
],
"price": 38.97,
"price_shipping": 0,
"rating_count": 17268,
"seller": "HOOBRO US",
"seller_id": "A3SKXH2JUBBQ8Y",
"seller_link": "/gp/aag/main?ie=UTF8&seller=A3SKXH2JUBBQ8Y&isAmazonFulfilled=1&asin=B087TXHLVQ&ref_=olp_merch_name_0"
},
{
"condition": "Used - Very Good",
"currency": "USD",
"delivery": "Ships from Amazon.com",
"delivery_options": [
{
"date": {
"by": "Wednesday, June 3"
},
"type": "FREE delivery"
}
],
"price": 35.07,
"price_shipping": 0,
"rating_count": 0,
"seller": "Amazon Resale",
"seller_id": "",
"seller_link": "https://www.amazon.com/Warehouse-Deals/b?ie=UTF8&node=10158976011"
},
{
"condition": "Used - Like New",
"currency": "USD",
"delivery": "Ships from Amazon.com",
"delivery_options": [
{
"date": {
"by": "Wednesday, June 3"
},
"type": "FREE delivery"
}
],
"price": 35.46,
"price_shipping": 0,
"rating_count": 0,
"seller": "Amazon Resale",
"seller_id": "",
"seller_link": "https://www.amazon.com/Warehouse-Deals/b?ie=UTF8&node=10158976011"
}
]
}
Copy Input Parameters
The 10-character ASIN product code to look up.
Specify the country you want to scrape results from, using a 2-letter country code.
Set the results language.
Specify the Amazon domain to use (e.g., amazon.com, amazon.co.uk, amazon.de).
light_request
⚡️ Light request
Light request mode to get faster and cheaper results.
Specify device type for the request.
Code
Python JavaScript PHP Ruby Java go
import requests
def send_request():
response = requests.get(
url='https://app.scrapingbee.com/api/v1/amazon/search',
params={
'query': 'iPhone',
'domain': 'com'
},
headers={'Authorization': 'Bearer YOUR-API-KEY'},
)
print('Response HTTP Status Code: ', response.status_code)
print('Response HTTP Response Body: ', response.content)
send_request()
const axios = require('axios');
axios.get('https://app.scrapingbee.com/api/v1/amazon/search', {
params: {
"query": "iPhone",
"country": "us"
},
headers: {
"Authorization": "Bearer YOUR-API-KEY"
}
}).then(function (response) {
// handle success
console.log(response);
});;
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.scrapingbee.com/api/v1/amazon/search?query=iPhone&country=us');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer YOUR-API-KEY'));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
if (!$response) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
}
echo 'HTTP Status Code: ' . curl_getinfo($ch, CURLINFO_HTTP_CODE) . PHP_EOL;
echo 'Response Body: ' . $response . PHP_EOL;
// close curl resource to free up system resources
curl_close($ch);
?>
require 'net/http'
require 'net/https'
# Classic (GET )
def send_request
uri = URI('https://app.scrapingbee.com/api/v1/amazon/search?query=iPhone&country=us')
# Create client
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
# Create Request
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer YOUR-API-KEY'
# Fetch Request
res = http.request(req)
puts "Response HTTP Status Code: #{ res.code }"
puts "Response HTTP Response Body: #{ res.body }"
rescue StandardError => e
puts "HTTP Request failed (#{ e.message })"
end
send_request()
import java.io.IOException;
import org.apache.http.client.fluent.*;
public class SendRequest
{
public static void main(String[] args) {
sendRequest();
}
private static void sendRequest() {
// Classic (GET )
try {
// Create request
Content content = Request.Get("https://app.scrapingbee.com/api/v1/amazon/search?query=iPhone&country=us")
.addHeader("Authorization", "Bearer YOUR-API-KEY")
// Fetch request and return content
.execute().returnContent();
// Print content
System.out.println(content);
}
catch (IOException e) { System.out.println(e); }
}
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func sendClassic() {
// Create client
client := &http.Client{}
// Create request
req, err := http.NewRequest("GET", "https://app.scrapingbee.com/api/v1/amazon/search?query=iPhone&country=us", nil)
req.Header.Set("Authorization", "Bearer YOUR-API-KEY")
parseFormErr := req.ParseForm()
if parseFormErr != nil {
fmt.Println(parseFormErr)
}
// Fetch Request
resp, err := client.Do(req)
if err != nil {
fmt.Println("Failure : ", err)
}
// Read Response Body
respBody, _ := ioutil.ReadAll(resp.Body)
// Display Results
fmt.Println("response Status : ", resp.Status)
fmt.Println("response Headers : ", resp.Header)
fmt.Println("response Body : ", string(respBody))
}
func main() {
sendClassic()
}
{
"html": "", # Use add_html=true to get the full HTML response
"url": "https://www.amazon.com/s?k=iphone+16&page=1&language=en_US"
"page": 1,
"products": [
{
"asin": "B0DGHH9WMX",
"best_seller": false,
"currency": "USD",
"highest_price": 39.99,
"is_amazons_choice": false,
"is_prime": false,
"is_sponsored": true,
"is_video": null,
"manufacturer": "",
"organic_position": 1,
"price": 39.99,
"price_strikethrough": 49,
"pricing_count": 1,
"rating": 4.5,
"reviews_count": 1934,
"sales_volume": "500+ bought in past month",
"shipping_information": "FREE delivery Mon, Sep 22",
"sponsored_position": null,
"title": "iPhone 16 Clear Case with MagSafe and Camera Control: Lightweight Phone Case, Wireless Charging Compatible, Smooth Glossy Finish",
"url": "/sspa/click?ie=UTF8&spc=MTo3OTg1MzI2MDA1MzM3Nzg0OjE3NTc2NjM2OTY6c3BfYXRmOjMwMDQwNzcxMzk2NTkwMjo6MDo6&url=/Apple-iPhone-MagSafe-Camera-Control/dp/B0DGHH9WMX/ref=sr_1_1_sspa?dib=eyJ2IjoiMSJ9.MUo4aqcokGTenXfAL4iZAn2MnWqsNIC9tCokWLgO5AG-PvJmF4Bn99Cp1OhJKoivOrII9El6_dDsYNU8-RFZmmxabOG-1v_2V1tsPCtpbNuHFGM1devOF_7Gn_tuRu0LnuLfg3QkRpMXXkeqpSucS6aa7Ba6g4mPG08f16opjwwtJ-zZHY0FvHq480uhXBfcfpaqEkUQKHvroWqvyTGicwn74QvOahjq1f-xBjhBl3I.fcm270pzFN4A4U4QIiIkzvqIgXtkAmIeFL243g-kEC4&dib_tag=se&keywords=iphone+16&qid=1757663696&sr=8-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1",
"url_image": "https://m.media-amazon.com/images/I/71K2g1AgnLL._AC_UY218_.jpg",
"variations": []
},
...
{
"asin": "B0DMYRZJ69",
"best_seller": false,
"currency": "USD",
"highest_price": 569.56,
"is_amazons_choice": false,
"is_prime": false,
"is_sponsored": false,
"is_video": null,
"manufacturer": "",
"organic_position": 18,
"price": 569.56,
"price_strikethrough": 598.82,
"pricing_count": 1,
"rating": 4.5,
"reviews_count": 55,
"sales_volume": "50+ bought in past month",
"shipping_information": "FREE delivery Mon, Sep 22Or fastest delivery Tomorrow, Sep 13",
"sponsored_position": null,
"title": "Apple iPhone 16 Plus, 128GB, Pink - T-Mobile (Renewed)",
"url": "/Apple-iPhone-Plus-128GB-Pink/dp/B0DMYRZJ69/ref=sr_1_18?dib=eyJ2IjoiMSJ9.MUo4aqcokGTenXfAL4iZAn2MnWqsNIC9tCokWLgO5AG-PvJmF4Bn99Cp1OhJKoivOrII9El6_dDsYNU8-RFZmmxabOG-1v_2V1tsPCtpbNuHFGM1devOF_7Gn_tuRu0LnuLfg3QkRpMXXkeqpSucS6aa7Ba6g4mPG08f16opjwwtJ-zZHY0FvHq480uhXBfcfpaqEkUQKHvroWqvyTGicwn74QvOahjq1f-xBjhBl3I.fcm270pzFN4A4U4QIiIkzvqIgXtkAmIeFL243g-kEC4&dib_tag=se&keywords=iphone+16&qid=1757663696&sr=8-18",
"url_image": "https://m.media-amazon.com/images/I/31BVQroLBUL._AC_UY218_.jpg",
"variations": []
}
],
"products_count": 22,
"refinements": {
"battery_capacity": [
{
"link": "/s?k=iphone+16&rh=n%3A21514055011%2Cp_n_g-101015098008111%3A120185115011&dc&language=en_US&qid=1757663696&rnid=120185111011&ref=sr_nr_p_n_g-101015098008111_1&ds=v1%3AU%2FHfUzaCpWwZoHXb43Xf7R2Ab58ACAbasU9LsBEcUE4",
"name": "Up to 2,999 mAh",
"refinement_display_name": "Battery Capacity",
"value": "n:21514055011,p_n_g-101015098008111/120185115011"
},
{
"link": "/s?k=iphone+16&rh=n%3A21514055011%2Cp_n_g-101015098008111%3A120185114011&dc&language=en_US&qid=1757663696&rnid=120185111011&ref=sr_nr_p_n_g-101015098008111_2&ds=v1%3AFFyukaU7Fws1%2FAjuxyDrYQRn7b06vm8UZQmW%2B3T8i8I",
"name": "3,000 to 3,999 mAh",
"refinement_display_name": "Battery Capacity",
"value": "n:21514055011,p_n_g-101015098008111/120185114011"
},
{
"link": "/s?k=iphone+16&rh=n%3A21514055011%2Cp_n_g-101015098008111%3A120185112011&dc&language=en_US&qid=1757663696&rnid=120185111011&ref=sr_nr_p_n_g-101015098008111_3&ds=v1%3AHheQ1XxVNf%2F%2BI8vagmRZ1ttGGO1%2BpIWVXJU%2FsJPtTZU",
"name": "4,000 to 4,999 mAh",
"refinement_display_name": "Battery Capacity",
"value": "n:21514055011,p_n_g-101015098008111/120185112011"
},
{
"link": "/s?k=iphone+16&rh=n%3A21514055011%2Cp_n_g-101015098008111%3A120185113011&dc&language=en_US&qid=1757663696&rnid=120185111011&ref=sr_nr_p_n_g-101015098008111_4&ds=v1%3AHTRHkdpT6I8We0JPHIFIqYgXquS8c7GITCEvTzC%2BzUg",
"name": "5,000 to 5,999 mAh",
"refinement_display_name": "Battery Capacity",
"value": "n:21514055011,p_n_g-101015098008111/120185113011"
},
{
"link": "/s?k=iphone+16&rh=n%3A21514055011%2Cp_n_g-101015098008111%3A120224515011&dc&language=en_US&qid=1757663696&rnid=120185111011&ref=sr_nr_p_n_g-101015098008111_5&ds=v1%3AxfVFtKOkVhKiCGB9KqXIEmwoNj2UJhwBc5z5t1CYA9Y",
"name": "6,000 mAh & Above",
"refinement_display_name": "Battery Capacity",
"value": "n:21514055011,p_n_g-101015098008111/120224515011"
}
],
...
},
}
Copy Input Parameters
The search term for Amazon products (e.g., "iPhone", "laptop").
Specify the country you want to scrape results from, using a 2-letter country code.
Set the results language.
Specify the Amazon domain to use (e.g., amazon.com, amazon.co.uk, amazon.de).
light_request
⚡️ Light request
Light request mode to get faster and cheaper results.
Filter search results by merchant ID
Ready to get started with our Amazon scraper API? Get access to 1,000 free API credits, no credit card required!
How Amazon Scraper API works Take control over what, where, and how you scrape Amazon with just a few parameters:
Step 1
Create an account and login to the dashboard commitment-free.
Step 2
Quickly add our official Python library to your project. This makes it easy to send scraping requests without worrying about proxies or browsers.
Step 3
Use your API key to fetch any web page. We do all the heavy lifting in the background, returning clean, ready-to-use HTML for you to parse and analyze.
Step 4
Use our advanced features to tackle even the most complex sites. Our flexible options give you complete control over your scraping projects.
Our Solution
One simple API call. Thousands of exciting Amazon insights.
Our Amazon scraper saves you hours of setup, blocked requests, and broken code, from the first call to full-scale automation.
Built-in Geo Control
Forget VPNs or IP rotations. Scrape results as if you're searching from any location, in any language. Perfect for local e-commerce analysis.
See Documentation
Instant Amazon Results
Get real-time products, reviews, and pricing in one clean, structured response. Scrape Amazon organic results to catch the freshest data, exactly when you need it.
See Documentation
Dev-Ready Integration
No framework needed. Use Python, JS, PHP, curl, and more. Start in minutes with clear docs and prebuilt code snippets.
See Documentation
Dev-friendly Control
Configure Amazon data scraper in seconds Take control over what, where, and how you scrape Amazon with just a few parameters:
Workflow
With Vs. Without ScrapingBee Here's what your workflow looks like with or without ScrapingBee
Setup
Data Format
Anti-bot handling
Geo-targeting
Speed to results
Proxy pool, browser infra, retry logic
Raw HTML, constant cleaning
Manual troubleshooting
Manual proxies & VPNs
Hours or days
One simple API call
Structured JSON
Automatic
Built-in
Minutes only
Our Amazon Scraper Features Scraping Amazon has never been more simple with our powerful features. Built for speed and precision, it extracts accurate data at scale.
AI-Powered Amazon Data Extraction
Use AI prompts to scrape Amazon product pages effortlessly. Our scraper adapts to layout changes and outputs clean, structured JSON.
AI Web Scraping
Amazon Product Scraping with CSS/XPath
Use AI prompts to scrape Amazon product pages effortlessly. No coding or selectors needed.
Data Extraction
Screenshot API for Amazon Products
Capture high-quality screenshots of Amazon product pages in seconds. Generate full-page or section-specific images.
Screenshot API
Dynamic Amazon Scraping with JavaScript
Automate scrolling, clicks, and other interactions to look more human. Our API handles JavaScript-rendered content to collect complete and accurate product data.
JavaScript Scraping
Amazon Scraping API with Make
Connect our Amazon scraper API to Make to automate product monitoring and data delivery. Send results to Sheets, Slack, or APIs. No coding needed.
Make No-Code Scraping
No-Code Scraping Integration with n8n
Integrate our scraper with n8n to schedule product searches, extract pricing data, or export reports automatically—completely code-free.
No-Code Scraping with n8n
Developer Experience
Top-rated support & documentation
Our team is here to help you with our Amazon web scraping API. And we're constantly working on new features to make your life easier.
Fantastic documentation
Take a look at our documentation and get started with Amazon data scraper in minutes!
Code samples
Whatever the programming language you enjoy, we have written code samples ready.
Knowledge base
Our extensive knowledge base covers the most frequent use cases with code samples.
Exceptional support
Fast, engineer-led support via live chat or email
Why ScrapingBee for Amazon Data? Get instant access to product listings, reviews, pricing, and seller data directly from Amazon.
Perfect for
Price monitoring
Product research
Competitor analysis
....and much more. GDPR and CCPA compliant ScrapingBee does not collect or store personal data from scraped sites unless their user explicitly requests it.
CAPTCHA bypass capacity We handle proxy rotation to avoid IP-based blocking. With headless browser rendering, we mimic real user browsing behaviour and reduce the blocking risk.
Scalable The platform scales smoothly with thousands of headless browsers and rotating proxies, ensuring fast, reliable performance even during traffic spikes.
Speed and accuracy We deliver fast, reliable results in 1–5 seconds with high accuracy across most sites, even JavaScript-heavy ones.
Simple, transparent Amazon scraper pricing. Cancel anytime, no questions asked!
Amazon API requests
API Credits
Concurrent requests
Geotargeting
Screenshots, Extraction Rules, Google Search API
Dedicated Scraping APIs
Priority Email Support
Dedicated Account Manager
Team Management
Freelance
$49/mo
50,000
250,000
50
-
-
-
Recommended
Startup
$99/mo
200,000
1,000,000
100
-
-
Recommended
Business
$249/mo
600,000
3,000,000
200
Recommended
Business +
$599/mo
1,600,000
8,000,000
400
Custom
Let's talk
Custom
Custom
Custom
All prices are exclusive of VAT.
Not sure which plan you need? Try ScrapingBee with 1,000 free API credits.
Trusted by developers 4,000+ customers all around the globe use ScrapingBee to solve their web scraping needs.
Trusted by 4,000+ developers and data teams ★ ★ ★ ★ ★
Scraping is 50% dealing with ever-changing HTML files and 50% massaging data into a useable format. ScrapingBee’s incredible AI feature can do both much better than I ever could . Now I can spend 100% of my time on what matters most; my business .
Arvid Kahl,
Founder at
Podscan
★ ★ ★ ★ ★
ScrapingBee helps us to retrieve information from sites that use very sophisticated mechanism to block unwanted traffic, we were struggling with those sites for some time now and I'm very glad that we found ScrapingBee.
See review on
★ ★ ★ ★ ★
ScrapingBee clear documentation, easy-to-use API, and great success rate made it a no-brainer.
Dominic Phillips,
Co-Founder at
CodeSubmit
★ ★ ★ ★ ★
I'm a PhD candidate with absolutely no web scraping experience and needed to scrape some data for a dissertation project. ScrapingBee helped me get the job done quickly and easily . Excellent customer support too. Couldn't be happier!
See review on
★ ★ ★ ★ ★
So easy to set-up, straightforward and performance. They are reachable and kind, they introduced us properly their tool and offered the best solution for our need .
Maxime Y,
Product Manager @ NordFolk
See review on
★ ★ ★ ★ ★
Great SaaS tool for legitimate scraping and data extraction. ScrapingBee makes it easy to automatically pull down data from the sites that publish periodic data in a human-readable format.
Andy Hawkes,
Founder at
Loadster
★ ★ ★ ★ ★
Good experience. I found this proxy service more effective compared to previous ones that were being used. It is fast and efficient.
See review on
★ ★ ★ ★ ★
Fantastic service: works flawlessly, best support I've experienced. It just works: and its parsing meta-language is wonderfully powerful . Most importantly, the support I've received has been superlative.
See review on
★ ★ ★ ★ ★
Excellent service, glad we made the switch! We could always dedicate resources and build our own systems for everything... or we could simply call the scrapingBee API and focus on the data. It makes our work so much easier.
See review on
Our awards from Capterra
Amazon Scraper Tutorials Learn how to use our Amazon Scraper API for various use cases
How to Scrape Amazon Data in 2026 with Python
Learn how
How to Scrape Amazon Reviews With Python (2026)
Learn how
Scrape Amazon products' price with no code
Learn how
How to Scrape Amazon Prices with ScrapingBee
Learn how
More markets. More opportunities. Expand your data collection beyond Amazon Scraper API.
Frequently Asked Questions Is scraping Amazon legal?
Scraping Amazon may be legally complex, as it could violate their terms of service. Always review legal guidelines and use ScrapingBee's custom settings responsibly.
Does Amazon block web scrapers?
Yes, Amazon actively blocks web scrapers using sophisticated anti-bot systems including CAPTCHAs, IP rate limiting, and browser fingerprinting. ScrapingBee handles these challenges automatically with rotating proxies, headless browsers, and CAPTCHA solving, so you can scrape Amazon product data reliably without getting blocked.
How to scrape Amazon product data?
You can scrape Amazon product data using ScrapingBee's Amazon API. Simply provide the product ASIN or URL, and our API returns structured JSON data including product details, pricing, reviews, ratings, and seller information.
Can I scrape Amazon reviews?
Yes, ScrapingBee's Amazon API can extract customer reviews, ratings, and review metadata. Always ensure your use case complies with Amazon's terms of service and applicable laws.
Related Articles Scrapy vs Selenium: Which one to choose
BeautifulSoup tutorial: Scraping web pages with Python
Scraping with Nodriver: Step by Step Tutorial with Examples