Search Products
curl --request GET \
--url https://scrapebadger.com/v1/amazon/search \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/amazon/search"
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/search', 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/search",
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/search"
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/search")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/amazon/search")
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{
"query": "wireless earbuds",
"domain": "com",
"results": [
{
"position": 1,
"asin": "B0CHWRXH8B",
"title": "Bose QuietComfort Ultra Wireless Earbuds",
"link": "https://www.amazon.com/dp/B0CHWRXH8B",
"image": "https://m.media-amazon.com/images/I/61abc123.jpg",
"price": {
"value": 249,
"currency": "USD",
"symbol": "$",
"raw": "$249.00"
},
"list_price": {
"value": 299,
"currency": "USD",
"symbol": "$",
"raw": "$299.00"
},
"unit_price": null,
"rating": 4.4,
"ratings_total": 12480,
"is_prime": true,
"is_sponsored": false,
"is_amazons_choice": true,
"is_best_seller": false,
"bought_past_month": "5K+ bought in past month",
"coupon": null,
"availability": "In Stock"
}
],
"pagination": {
"current_page": 1,
"total_pages": 20,
"total_results": 480
}
}Search
Search Products
Search the Amazon catalog with filters and sorting.
GET
/
v1
/
amazon
/
search
Search Products
curl --request GET \
--url https://scrapebadger.com/v1/amazon/search \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/amazon/search"
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/search', 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/search",
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/search"
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/search")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/amazon/search")
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{
"query": "wireless earbuds",
"domain": "com",
"results": [
{
"position": 1,
"asin": "B0CHWRXH8B",
"title": "Bose QuietComfort Ultra Wireless Earbuds",
"link": "https://www.amazon.com/dp/B0CHWRXH8B",
"image": "https://m.media-amazon.com/images/I/61abc123.jpg",
"price": {
"value": 249,
"currency": "USD",
"symbol": "$",
"raw": "$249.00"
},
"list_price": {
"value": 299,
"currency": "USD",
"symbol": "$",
"raw": "$299.00"
},
"unit_price": null,
"rating": 4.4,
"ratings_total": 12480,
"is_prime": true,
"is_sponsored": false,
"is_amazons_choice": true,
"is_best_seller": false,
"bought_past_month": "5K+ bought in past month",
"coupon": null,
"availability": "In Stock"
}
],
"pagination": {
"current_page": 1,
"total_pages": 20,
"total_results": 480
}
}Query Parameters
string
required
Search keywords. Matches against product titles, brands, and descriptions.
string
default:"com"
Amazon marketplace TLD or code. See
/v1/amazon/markets for all supported values.Examples: com, co.uk, de, fr, co.jpinteger
default:1
Page number for paginated results. Range:
1 - 20.string
Sort order for results.
| Value | Description |
|---|---|
relevance | Best match (default) |
price_low_to_high | Cheapest first |
price_high_to_low | Most expensive first |
avg_review | Highest customer rating first |
newest | Most recently added |
string
Department/category alias to scope the search (the
i= parameter). Use /v1/amazon/categories to look up aliases.Example: electronics, stripbooksnumber
Minimum price filter in the marketplace’s local currency.
number
Maximum price filter in the marketplace’s local currency.
string
Delivery postal/zip code for localized pricing and availability.
string
Locale for results, e.g.
en_US, fr_FR.Response
string
The search query that was executed.
string
Marketplace domain that was searched.
array
Array of matching products.
Show SearchResult object
Show SearchResult object
integer
Position on the page (1-based).
string
Amazon Standard Identification Number.
string
Product title.
string
Full URL to the product page.
string
Primary product image URL.
object
Price object with
value, currency, symbol, raw.object
Strikethrough list price (nullable).
number
Average star rating (0-5).
integer
Total number of ratings.
boolean
Whether the item is Prime-eligible.
boolean
Whether the result is a sponsored placement.
boolean
Amazon’s Choice badge present.
boolean
Best Seller badge present.
string
Purchase-volume hint (nullable).
string
Availability/stock message.
object
Pagination metadata with
current_page, total_pages, total_results.Example Response
{
"query": "wireless earbuds",
"domain": "com",
"results": [
{
"position": 1,
"asin": "B0CHWRXH8B",
"title": "Bose QuietComfort Ultra Wireless Earbuds",
"link": "https://www.amazon.com/dp/B0CHWRXH8B",
"image": "https://m.media-amazon.com/images/I/61abc123.jpg",
"price": { "value": 249.0, "currency": "USD", "symbol": "$", "raw": "$249.00" },
"list_price": { "value": 299.0, "currency": "USD", "symbol": "$", "raw": "$299.00" },
"rating": 4.4,
"ratings_total": 12480,
"is_prime": true,
"is_sponsored": false,
"is_amazons_choice": true,
"is_best_seller": false,
"bought_past_month": "5K+ bought in past month",
"availability": "In Stock"
}
],
"pagination": { "current_page": 1, "total_pages": 20, "total_results": 480 }
}
Each search request costs 5 credits. Failed requests are not charged.
Authorizations
Query Parameters
Search keywords.
Amazon marketplace TLD or code (com, co.uk, de, fr, ...).
Page number for paginated results.
Required range:
1 <= x <= 20Sort order for results.
Available options:
relevance, price_low_to_high, price_high_to_low, avg_review, newest Department/category alias to scope the search (the i= parameter).
Minimum price filter in the marketplace's local currency.
Required range:
x >= 0Maximum price filter in the marketplace's local currency.
Required range:
x >= 0Delivery postal/zip code for localized pricing.
Locale for results, e.g. en_US, fr_FR.

