Bestsellers
curl --request GET \
--url https://scrapebadger.com/v1/amazon/bestsellers \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/amazon/bestsellers"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/amazon/bestsellers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/amazon/bestsellers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/amazon/bestsellers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/amazon/bestsellers")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/amazon/bestsellers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"domain": "com",
"category": "electronics",
"results": [
{
"rank": 1,
"position": 1,
"asin": "B09B8V1LZ3",
"title": "Apple AirTag",
"link": "https://www.amazon.com/dp/B09B8V1LZ3",
"image": "https://m.media-amazon.com/images/I/71abc.jpg",
"rating": 4.7,
"ratings_total": 412300,
"price": {
"value": 24,
"currency": "USD",
"symbol": "$",
"raw": "$24.00"
}
}
]
}Listings
Bestsellers
Top-selling products for a category (browse node).
GET
/
v1
/
amazon
/
bestsellers
Bestsellers
curl --request GET \
--url https://scrapebadger.com/v1/amazon/bestsellers \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/amazon/bestsellers"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/amazon/bestsellers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/amazon/bestsellers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/amazon/bestsellers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/amazon/bestsellers")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/amazon/bestsellers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"domain": "com",
"category": "electronics",
"results": [
{
"rank": 1,
"position": 1,
"asin": "B09B8V1LZ3",
"title": "Apple AirTag",
"link": "https://www.amazon.com/dp/B09B8V1LZ3",
"image": "https://m.media-amazon.com/images/I/71abc.jpg",
"rating": 4.7,
"ratings_total": 412300,
"price": {
"value": 24,
"currency": "USD",
"symbol": "$",
"raw": "$24.00"
}
}
]
}Query Parameters
string
default:"com"
Amazon marketplace TLD or code.Examples:
com, co.uk, destring
Bestsellers node id or category slug. Use
/v1/amazon/categories to look up nodes. Defaults to the marketplace’s electronics grid on .com.Example: electronics, booksinteger
default:1
Page number. Each page covers 50 ranks. Range:
1 - 2.Response
string
Marketplace domain.
string
Category/node the list was pulled from (nullable).
array
Array of ranked bestseller products.
Show Bestseller object
Show Bestseller object
Example Response
{
"domain": "com",
"category": "electronics",
"results": [
{
"rank": 1,
"position": 1,
"asin": "B09B8V1LZ3",
"title": "Apple AirTag",
"link": "https://www.amazon.com/dp/B09B8V1LZ3",
"image": "https://m.media-amazon.com/images/I/71abc.jpg",
"rating": 4.7,
"ratings_total": 412300,
"price": { "value": 24.0, "currency": "USD", "symbol": "$", "raw": "$24.00" }
}
]
}
Each bestsellers request costs 5 credits. Failed requests are not charged.
Authorizations
Query Parameters
Amazon marketplace TLD or code (com, co.uk, de, ...).
Bestsellers node id or category slug (e.g. electronics).
Page number (each page covers 50 ranks; max 2).
Required range:
1 <= x <= 2
