π¦ Amazon
The Amazon API provides powerful endpoints for accessing detailed product data across the Amazon marketplace. Developers can search products, browse by category with filters, and retrieve rich product details including pricing, variations, availability, and descriptions. The API also offers access to category structures, with more endpoints such as best sellers, reviews, deals, and seller insights coming soonβmaking it a robust solution for building e-commerce tools, price trackers, and market research applications.
General
Fast, Reliable, and Extensive Amazon Data API - Get Products & ASIN Data, Reviews, Offers, Best Sellers & Deals, Seller Data, Influencers Data, and More from Amazon in Real-Time.
GET /v1/autocomplete
requires authentication
Retrieve relevant keyword suggestions from Amazon based on a search term.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/keywords/autocomplete'
params = {
'keyword': 'wireless earbuds',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/keywords/autocomplete';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'keyword' => 'wireless earbuds',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/keywords/autocomplete"
);
const params = {
"keyword": "wireless earbuds",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/keywords/autocomplete?keyword=wireless+earbuds&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"country": "US",
"currency": "USD",
"keyword": "wireless earbuds"
},
"body": [
"wireless earbuds",
"wireless earbuds for iphone",
"tozo wireless earbuds",
"wireless earbuds noise cancelling",
"true wireless earbuds",
"wireless earbuds for android",
"wireless earbuds bluetooth",
"wireless earbuds jbl",
"wireless earbuds beats",
"jlan wireless earbuds"
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/search
requires authentication
Search for products & offers on Amazon with pagination support and multiple filters and options such as sort option, price range, product condition filter, and more.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/products/search'
params = {
'search': 'Pens',
'country': 'US',
'sort_by': 'RELEVANCE',
'category_id': '17238450011',
'seller_id': 'ARVLBD5MF9H1U',
'condition': 'new',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/products/search';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'search' => 'Pens',
'country' => 'US',
'sort_by' => 'RELEVANCE',
'category_id' => '17238450011',
'seller_id' => 'ARVLBD5MF9H1U',
'condition' => 'new',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/products/search"
);
const params = {
"search": "Pens",
"country": "US",
"sort_by": "RELEVANCE",
"category_id": "17238450011",
"seller_id": "ARVLBD5MF9H1U",
"condition": "new",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/products/search?search=Pens&country=US&sort_by=RELEVANCE&category_id=17238450011&seller_id=ARVLBD5MF9H1U&condition=new" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"search": "phone",
"total": 100000,
"page": 1
},
"body": [
{
"asin": "B0DLHNWHRF",
"product_title": "Samsung Galaxy A16 5G A Series, Unlocked Android Smartphone, Large AMOLED Display, Durable Design, Super Fast Charging, Expandable Storage, 5G Connectivity, US Version, 2025, Blue Black",
"product_price": "$174.99",
"product_original_price": "$199.99",
"currency": "USD",
"product_star_rating": "4.2",
"product_num_ratings": 997,
"product_url": "https://amazon.com/dp/B0DLHNWHRF",
"product_photo": "https://m.media-amazon.com/images/I/71KGkQ+KOKL._AC_UY218_.jpg",
"product_num_offers": null,
"product_minimum_offer_price": null,
"is_best_seller": false,
"is_amazon_choice": false,
"is_prime": false,
"climate_pledge_friendly": false,
"sales_volume": "9K+ bought in past month",
"delivery": "FREE delivery Fri, Jul 11",
"has_variations": false,
"product_badge": "Limited time deal"
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/by-category
requires authentication
Search for products & offers on Amazon with pagination support and multiple filters and options such as sort option, price range, product condition filter, and more.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/products/by-category'
params = {
'category_id': '17238450011',
'country': 'US',
'sort_by': 'RELEVANCE',
'seller_id': 'ARVLBD5MF9H1U',
'condition': 'new',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/products/by-category';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'category_id' => '17238450011',
'country' => 'US',
'sort_by' => 'RELEVANCE',
'seller_id' => 'ARVLBD5MF9H1U',
'condition' => 'new',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/products/by-category"
);
const params = {
"category_id": "17238450011",
"country": "US",
"sort_by": "RELEVANCE",
"seller_id": "ARVLBD5MF9H1U",
"condition": "new",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/products/by-category?category_id=17238450011&country=US&sort_by=RELEVANCE&seller_id=ARVLBD5MF9H1U&condition=new" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"total": 1000,
"page": 1,
"country": "US",
"sort_by": "RELEVANCE",
"category_id": "17238450011"
},
"body": [
{
"asin": "B09LMBLYF1",
"product_title": "Transformable Fidget Spinners 4 Pcs for Kids and Adults Stress Relief Sensory Toys for Boys and Girls Fingertip Gyros for Party Favors Stocking Stuffers Bulk for Kids",
"product_price": "$9.98",
"product_original_price": "$16.98",
"currency": "USD",
"product_star_rating": "4.6",
"product_num_ratings": 8102,
"product_url": "https://amazon.com/dp/B09LMBLYF1",
"product_photo": "https://m.media-amazon.com/images/I/71mr6NdQE4L._AC_UL320_.jpg",
"product_num_offers": null,
"product_minimum_offer_price": null,
"is_best_seller": true,
"is_amazon_choice": false,
"is_prime": false,
"climate_pledge_friendly": true,
"sales_volume": "10K+ bought in past month",
"delivery": "FREE delivery Fri, Jul 11 on $35 of items shipped by Amazon",
"has_variations": false,
"product_badge": "Limited time deal"
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product
Get complete product information excluding reviews from Amazon using ASIN or URL.
GET /v1/details
requires authentication
Get detailed Amazon product data using its ASIN or product URL.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/products/details'
params = {
'asin': 'B07ZPKBL9V',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/products/details';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'asin' => 'B07ZPKBL9V',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/products/details"
);
const params = {
"asin": "B07ZPKBL9V",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/products/details?asin=B07ZPKBL9V&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"asin": "B0BNBR5XC4",
"country": "US"
},
"body": {
"asin": "B0BNBR5XC4",
"product_title": "Amazon Essentials Men's Derby Shoe",
"product_price": "$34.50",
"product_original_price": null,
"unit_price": null,
"product_price_max": null,
"minimum_order_quantity": null,
"categories": [
{
"id": "7141123011",
"name": "Clothing, Shoes & Jewelry",
"link": "https://amazon.com/amazon-fashion/b/ref=dp_bc_1?ie=UTF8&node=7141123011"
},
{
"id": "7147441011",
"name": "Men",
"link": "https://amazon.com/Mens-Fashion/b/ref=dp_bc_2?ie=UTF8&node=7147441011"
},
...
],
"currency": "$",
"product_byline": "Visit the Amazon Essentials Store",
"product_byline_link": "https://www.amazon.com/stores/AmazonEssentials/page/F8FB6F3C-F896-455C-BC52-7879F4CEF0CF?is_byline_deeplink=true&deeplink=F8FB6F3C-F896-455C-BC52-7879F4CEF0CF&redirect_store_id=F8FB6F3C-F896-455C-BC52-7879F4CEF0CF&lp_asin=B0BNC23L6C&ref_=ast_bln&store_ref=bl_ast_dp_brandLogo_sto",
"product_byline_links": [
"https://www.amazon.com/stores/AmazonEssentials/page/F8FB6F3C-F896-455C-BC52-7879F4CEF0CF?is_byline_deeplink=true&deeplink=F8FB6F3C-F896-455C-BC52-7879F4CEF0CF&redirect_store_id=F8FB6F3C-F896-455C-BC52-7879F4CEF0CF&lp_asin=B0BNC23L6C&ref_=ast_bln&store_ref=bl_ast_dp_brandLogo_sto"
],
"product_star_rating": "4.3",
"product_num_ratings": 325,
"product_url": "https://amazon.com/dp/B0BNBR5XC4",
"product_slug": "Amazon-Essentials-Mens-Derby-Shoe",
"product_photos": [
"https://m.media-amazon.com/images/I/81tfIOzeVVL._AC_SX625_.jpg",
"https://m.media-amazon.com/images/I/81tfIOzeVVL._AC_SX395_.jpg",
"https://m.media-amazon.com/images/I/81tfIOzeVVL._AC_SX535_.jpg",
...
],
"about_product": [
"COMFORT AND FIT: These plain-toe derby shoes have a padded insole for added comfort and lace-up closure for adjustability.",
"MATERIAL: Amazon Essentials shoes are made from high-quality alternative leather materials. This style has a faux calfskin upper and is lined in faux leather.",
...
],
"product_description": "Classic and versatile plain toe lace-up derby designed for daily wear and superior fit. Crafted with a leather-like material upper with soft and smooth touch.",
"product_videos": [
{
"id": "amzn1.vse.video.069bd87352ca45ed8fed41349e2ff96a",
"title": "360 Degree View",
"video_url": "https://m.media-amazon.com/images/S/vse-vms-transcoding-artifact-us-east-1-prod/3ed8b3d3-c80f-4dfc-b75d-3ea0082c4619/default.jobtemplate.hls.m3u8",
"thumbnail_url": "https://m.media-amazon.com/images/I/51TYKTkfD8L._CR0,0,640,361_SR342,193_.jpg",
"product_asin": "B0BNC23L6C",
"parent_asin": "B0BNC23L6C",
"video_width": "640",
"video_height": "640"
}
],
"product_num_offers": null,
"product_availability": null,
"is_best_seller": true,
"is_amazon_choice": false,
"is_prime": true,
"climate_pledge_friendly": false,
"sales_volume": null,
"primary_delivery_time": null,
"product_details": [
{
"name": "Fabric type",
"value": "100% Synthetic"
},
{
"name": "Origin",
"value": "Imported"
},
...
],
"customers_say": "Customers find these derby shoes to be a good value for the price, with positive feedback about their style and color. The build quality and comfort receive mixed reviews - while some find them durable and soft, others report poor construction and discomfort. The fit is also mixed, with some saying they fit great while others note they run about half a size too big.",
"product_variations": {
"color": [
{
"label": "Black",
"asin": "B0BNBYRYNC",
"image": "https://m.media-amazon.com/images/I/31MvFnAeKKL._SS_.jpg"
},
{
"label": "Dark Brown",
"asin": "B0BNBV35Q6",
"image": "https://m.media-amazon.com/images/I/317PcNhFJLL._SS_.jpg"
},
{
"label": "Black Dark Caramel Faux Leather",
"asin": "B0BNBRMKTF",
"image": "https://m.media-amazon.com/images/I/31omLDjHxqL._SS_.jpg"
}
],
"size": [
{
"label": "7",
"asin": "B0BNBR5XC4"
},
{
"label": "7.5",
"asin": "B0BNBYW6HH"
},
...
]
},
"all_product_variations": {
"B0BNBV3FMT": [
"12",
"Dark Brown"
],
"B0BNBS1JRR": [
"11",
"Black"
],
...
}
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/review
requires authentication
Get the top reviews on any product on Amazon.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/products/reviews'
params = {
'asin': 'B07ZPKBL9V',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/products/reviews';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'asin' => 'B07ZPKBL9V',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/products/reviews"
);
const params = {
"asin": "B07ZPKBL9V",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/products/reviews?asin=B07ZPKBL9V&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"asin": "B0BNBR5XC4",
"country": "US"
},
"body": {
"asin": "B0BNBR5XC4",
"product_title": "Amazon Essentials Men's Derby Shoe",
"product_price": "$34.50",
"product_original_price": null,
"unit_price": null,
"product_price_max": null,
"minimum_order_quantity": null,
"categories": [
{
"id": "7141123011",
"name": "Clothing, Shoes & Jewelry",
"link": "https://amazon.com/amazon-fashion/b/ref=dp_bc_1?ie=UTF8&node=7141123011"
},
{
"id": "7147441011",
"name": "Men",
"link": "https://amazon.com/Mens-Fashion/b/ref=dp_bc_2?ie=UTF8&node=7147441011"
},
...
],
"currency": "$",
"product_byline": "Visit the Amazon Essentials Store",
"product_byline_link": "https://www.amazon.com/stores/AmazonEssentials/page/F8FB6F3C-F896-455C-BC52-7879F4CEF0CF?is_byline_deeplink=true&deeplink=F8FB6F3C-F896-455C-BC52-7879F4CEF0CF&redirect_store_id=F8FB6F3C-F896-455C-BC52-7879F4CEF0CF&lp_asin=B0BNC23L6C&ref_=ast_bln&store_ref=bl_ast_dp_brandLogo_sto",
"product_byline_links": [
"https://www.amazon.com/stores/AmazonEssentials/page/F8FB6F3C-F896-455C-BC52-7879F4CEF0CF?is_byline_deeplink=true&deeplink=F8FB6F3C-F896-455C-BC52-7879F4CEF0CF&redirect_store_id=F8FB6F3C-F896-455C-BC52-7879F4CEF0CF&lp_asin=B0BNC23L6C&ref_=ast_bln&store_ref=bl_ast_dp_brandLogo_sto"
],
"product_star_rating": "4.3",
"product_num_ratings": 325,
"product_url": "https://amazon.com/dp/B0BNBR5XC4",
"product_slug": "Amazon-Essentials-Mens-Derby-Shoe",
"product_photos": [
"https://m.media-amazon.com/images/I/81tfIOzeVVL._AC_SX625_.jpg",
"https://m.media-amazon.com/images/I/81tfIOzeVVL._AC_SX395_.jpg",
"https://m.media-amazon.com/images/I/81tfIOzeVVL._AC_SX535_.jpg",
...
],
"about_product": [
"COMFORT AND FIT: These plain-toe derby shoes have a padded insole for added comfort and lace-up closure for adjustability.",
"MATERIAL: Amazon Essentials shoes are made from high-quality alternative leather materials. This style has a faux calfskin upper and is lined in faux leather.",
...
],
"product_description": "Classic and versatile plain toe lace-up derby designed for daily wear and superior fit. Crafted with a leather-like material upper with soft and smooth touch.",
"product_videos": [
{
"id": "amzn1.vse.video.069bd87352ca45ed8fed41349e2ff96a",
"title": "360 Degree View",
"video_url": "https://m.media-amazon.com/images/S/vse-vms-transcoding-artifact-us-east-1-prod/3ed8b3d3-c80f-4dfc-b75d-3ea0082c4619/default.jobtemplate.hls.m3u8",
"thumbnail_url": "https://m.media-amazon.com/images/I/51TYKTkfD8L._CR0,0,640,361_SR342,193_.jpg",
"product_asin": "B0BNC23L6C",
"parent_asin": "B0BNC23L6C",
"video_width": "640",
"video_height": "640"
}
],
"product_num_offers": null,
"product_availability": null,
"is_best_seller": true,
"is_amazon_choice": false,
"is_prime": true,
"climate_pledge_friendly": false,
"sales_volume": null,
"primary_delivery_time": null,
"product_details": [
{
"name": "Fabric type",
"value": "100% Synthetic"
},
{
"name": "Origin",
"value": "Imported"
},
...
],
"customers_say": "Customers find these derby shoes to be a good value for the price, with positive feedback about their style and color. The build quality and comfort receive mixed reviews - while some find them durable and soft, others report poor construction and discomfort. The fit is also mixed, with some saying they fit great while others note they run about half a size too big.",
"product_variations": {
"color": [
{
"label": "Black",
"asin": "B0BNBYRYNC",
"image": "https://m.media-amazon.com/images/I/31MvFnAeKKL._SS_.jpg"
},
{
"label": "Dark Brown",
"asin": "B0BNBV35Q6",
"image": "https://m.media-amazon.com/images/I/317PcNhFJLL._SS_.jpg"
},
{
"label": "Black Dark Caramel Faux Leather",
"asin": "B0BNBRMKTF",
"image": "https://m.media-amazon.com/images/I/31omLDjHxqL._SS_.jpg"
}
],
"size": [
{
"label": "7",
"asin": "B0BNBR5XC4"
},
{
"label": "7.5",
"asin": "B0BNBYW6HH"
},
...
]
},
"all_product_variations": {
"B0BNBV3FMT": [
"12",
"Dark Brown"
],
"B0BNBS1JRR": [
"11",
"Black"
],
...
}
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/similar
requires authentication
Retrieve a list of similar Amazon products based on a given ASIN or product URL.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/products/similar'
params = {
'asin': 'B07ZPKBL9V',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/products/similar';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'asin' => 'B07ZPKBL9V',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/products/similar"
);
const params = {
"asin": "B07ZPKBL9V",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/products/similar?asin=B07ZPKBL9V&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"country": "US",
"currency": "USD",
"asin": "B09SM24S8C"
},
"body": [
{
"asin": "B09Z8P34NM",
"title": "SAMSUNG Galaxy A13 LTE, Factory Unlocked Smartphone, Android Cell Phone, Water Resistant, 50MP Camera, US Version, 32GB, Black (Renewed)",
"image": "https://m.media-amazon.com/images/I/61IX%2B1qw35L._AA160_.jpg",
"price": "$106.02",
"url": "https://www.amazon.com/dp/B09Z8P34NM/ref=aod_recs_desktop_prsubs_0",
"rating": "4.1 out of 5 stars",
"reviews": 941
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/offers
requires authentication
Retrieve Amazon product offers based on condition and delivery filters.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/products/offers'
params = {
'asin': 'B09SM24S8C',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/products/offers';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'asin' => 'B09SM24S8C',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/products/offers"
);
const params = {
"asin": "B09SM24S8C",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/products/offers?asin=B09SM24S8C&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"country": "US",
"currency": "USD",
"asin": "B09TDP1HCV",
"condition": "all",
"delivery": "prime"
},
"body": [
{
"product_price": "$24.07",
"product_original_price": null,
"product_condition": "Used - Very Good",
"ships_from": "Amazon.com",
"seller": "Yuanchina",
"seller_id": "A531LOZXINYGL",
"seller_link": "https://www.amazon.com/gp/aag/main?ie=UTF8&seller=A531LOZXINYGL&isAmazonFulfilled=1&asin=B09TDP1HCV&ref_=olp_merch_name_3",
"seller_star_rating": null,
"seller_star_rating_info": null,
"currency": "USD",
"delivery_price": "FREE",
"delivery_time": "Monday, July 21"
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Deals & Rankings
Explore Amazonβs top-ranked products and best ongoing deals across categories, including best sellers, new releases, most wished-for items, coupons, and promotions.
GET /v1/with-coupons
requires authentication
Retrieve filtered Amazon deals with coupon based on category, price range, discount range, and minimum rating.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/deals/with-coupons'
params = {
'category_id': '3408271',
'low_price': '20',
'high_price': '200',
'low_discount': '5',
'high_discount': '40',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/deals/with-coupons';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'category_id' => '3408271',
'low_price' => '20',
'high_price' => '200',
'low_discount' => '5',
'high_discount' => '40',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/deals/with-coupons"
);
const params = {
"category_id": "3408271",
"low_price": "20",
"high_price": "200",
"low_discount": "5",
"high_discount": "40",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/deals/with-coupons?category_id=3408271&low_price=20&high_price=200&low_discount=5&high_discount=40&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"country": "US",
"currency": "USD",
"language": "en_US",
"total": 416,
"category_id": "3408271",
"min_rating_4": "true",
"high_discount": "20",
"page": "2"
},
"body": {
"related_categories": [
{
"name": "Sports & Outdoors",
"category_id": "3375301"
},
{
"name": "Exercise & Fitness",
"category_id": "3407731"
},
{ ... }
],
"items": [
{
"asin": "B0F21188SY",
"title": "OPPSDECOR 6 in 1 660lbs Weight Bench with Leg Extension and Leg Curl, Foldable Bench Press Set and Squat Barbell Rack with Preacher Curl, Adjustable Workout Bench for Home Gym Strength Training PXZXYX1",
"price": "189.98",
"currency": "USD",
"image": "https://m.media-amazon.com/images/I/71BR3bPhCnL._AC_SL1000_.jpg",
"coupon_code": "A2MRM7WQ8GIVP9",
"coupon_label": "Save 5%",
"coupon_text": " with coupon (some sizes/colors)",
"discount_percent": {
"displayString": "5%",
"value": 5
},
"savings_amount": {
"amount": "9.50",
"currencyCode": "USD"
},
"url": "https://www.amazon.com/OPPSDECOR-Extension-Foldable-Preacher-Adjustable/dp/B0F21188SY",
"variation_labels": [
"Red",
"Scarlet",
"Vermilionblack"
]
},
{ ... }
]
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/search
requires authentication
Retrieve filtered Amazon deals based on category, price range, discount range, and minimum rating.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/deals/search'
params = {
'category_name': 'personal-care',
'is_prime': 'maiores',
'low_price': '20',
'high_price': '200',
'low_discount': '5',
'high_discount': '40',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/deals/search';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'category_name' => 'personal-care',
'is_prime' => 'maiores',
'low_price' => '20',
'high_price' => '200',
'low_discount' => '5',
'high_discount' => '40',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/deals/search"
);
const params = {
"category_name": "personal-care",
"is_prime": "maiores",
"low_price": "20",
"high_price": "200",
"low_discount": "5",
"high_discount": "40",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/deals/search?category_name=personal-care&is_prime=maiores&low_price=20&high_price=200&low_discount=5&high_discount=40&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"country": "US",
"currency": "USD",
"language": "en_US",
"total": 9,
"category_name": "personal-care",
"is_prime": "true",
"min_rating_4": "true",
"high_discount": "20",
"page": "1"
},
"body": {
"related_categories": [
{
"name": "Health & Household",
"category_id": "3760931"
}
],
"items": [
{
"asin": "B0CSYLPHM8",
"title": "cotsoco Hand Massager with Heat and Compression for Arthritis and Carpal Tunnel, Birthday Gifts for Women Mom Men,White, Gift for Birthday",
"price": "39.99",
"currency": "USD",
"image": "https://m.media-amazon.com/images/I/61oCyy8tRaL._AC_SL1000_.jpg",
"coupon_code": null,
"coupon_info": "17% off",
"coupon_text": null,
"discount_percent": {
"displayString": "17%",
"value": 17
},
"savings_amount": {
"amount": "8.0",
"currencyCode": "USD"
},
"url": "https://www.amazon.com/cotsoco-Compression-Arthritis-Christmas-Thanksgiving/dp/B0CSYLPHM8",
"variation_labels": [
"Black",
"Pink",
"White"
]
},
{ ... }
]
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/best-sellers
requires authentication
Retrieve filtered Amazon deals with coupon based on category, price range, discount range, and minimum rating.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/rankings/best-sellers'
params = {
'category': 'beauty',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/rankings/best-sellers';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'category' => 'beauty',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/rankings/best-sellers"
);
const params = {
"category": "beauty",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/rankings/best-sellers?category=beauty&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"country": "US",
"currency": "USD",
"language": "en_US",
"category": "baby-products/166777011",
"page": "1"
},
"body": [
{
"asin": "B015XBYDLM",
"title": "Dr. Brown’s Natural Flow Level 2 Narrow Baby Bottle Silicone Nipple, Medium Flow, 3m+, 100% Silicone Bottle Nipple, 6 Count",
"url": "https://www.amazon.com/Dr-Browns-Original-Nipple-Level/dp/B015XBYDLM/ref=zg_bs_g_166777011_d_sccl_1/142-3331457-8966669?psc=1",
"image": "https://images-na.ssl-images-amazon.com/images/I/71bKME-MvxL._AC_UL300_SR300,200_.jpg",
"rating": 4.8,
"rating_count": 92665,
"price": "$9.97",
"rank": "#1"
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/new-releases
requires authentication
Retrieve Amazonβs best-selling new and future releases, organized by category and country.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/rankings/new-releases'
params = {
'category': 'beauty',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/rankings/new-releases';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'category' => 'beauty',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/rankings/new-releases"
);
const params = {
"category": "beauty",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/rankings/new-releases?category=beauty&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"country": "US",
"currency": "USD",
"language": "en_US",
"category": "baby-products/166777011",
"page": "1"
},
"body": [
{
"asin": "B015XBYDLM",
"title": "Dr. Brown’s Natural Flow Level 2 Narrow Baby Bottle Silicone Nipple, Medium Flow, 3m+, 100% Silicone Bottle Nipple, 6 Count",
"url": "https://www.amazon.com/Dr-Browns-Original-Nipple-Level/dp/B015XBYDLM/ref=zg_bs_g_166777011_d_sccl_1/145-5930051-3318760?psc=1",
"image": "https://images-na.ssl-images-amazon.com/images/I/71bKME-MvxL._AC_UL300_SR300,200_.jpg",
"rating": 4.8,
"rating_count": 92665,
"price": "$9.97",
"rank": "#1"
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/movers-shakers
requires authentication
Retrieve Amazonβs biggest gainers in sales rank over the past 24 hours, organized by category and country.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/rankings/movers-shakers'
params = {
'category': 'beauty',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/rankings/movers-shakers';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'category' => 'beauty',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/rankings/movers-shakers"
);
const params = {
"category": "beauty",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/rankings/movers-shakers?category=beauty&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"country": "US",
"currency": "USD",
"language": "en_US",
"category": "baby-products",
"page": "1"
},
"body": [
{
"asin": "B0FHFJDYZH",
"title": "2 Pack Wipes Dispenser, Wipe Holder for Baby & Adult, Seposeve Refillable Wipe Container, Keeps Wipes Fresh, One-Handed Operation. Non-Slip, Easy Open/Close Wipes Pouch Case(2 Blue)",
"url": "https://www.amazon.com/Dispenser-Seposeve-Refillable-One-Handed-Operation/dp/B09YM42LGJ/ref=zg_bsms_g_baby-products_d_sccl_1/141-7924533-5739126?psc=1",
"image": "https://images-na.ssl-images-amazon.com/images/I/512Q6nOFExL._AC_UL300_SR300,200_.jpg",
"rating": 4.4,
"rating_count": 8351,
"price": "$7.97",
"rank": "#1"
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/most-wished
requires authentication
Retrieve Amazonβs biggest gainers in sales rank over the past 24 hours, organized by category and country.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/rankings/most-wished'
params = {
'category': 'beauty',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/rankings/most-wished';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'category' => 'beauty',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/rankings/most-wished"
);
const params = {
"category": "beauty",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/rankings/most-wished?category=beauty&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"country": "US",
"currency": "USD",
"language": "en_US",
"category": "baby-products/17720255011",
"page": "1"
},
"body": [
{
"asin": "B099FK72PW",
"title": "Frida Baby Control The Flow Bath Rinse Cup, Tear Free Rinser to Wash Hair and Body with Easy Grip Handle and Removable Rain Shower, Made in USA",
"url": "https://www.amazon.com/Control-Rinser-Handle-Removable-Shower/dp/B099FK72PW/ref=zg_mw_g_17720255011_d_sccl_1/130-5227457-4750440?psc=1",
"image": "https://images-na.ssl-images-amazon.com/images/I/71Tsm53gMrL._AC_UL300_SR300,200_.jpg",
"rating": 4.6,
"rating_count": 11526,
"price": "$6.58",
"rank": "#1"
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/most-gifted
requires authentication
Retrieve Amazonβs most popular products ordered as gifts, organized by category and country.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/rankings/most-gifted'
params = {
'category': 'beauty',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/rankings/most-gifted';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'category' => 'beauty',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/rankings/most-gifted"
);
const params = {
"category": "beauty",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/rankings/most-gifted?category=beauty&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"country": "US",
"currency": "USD",
"language": "en_US",
"category": "baby-products/17720258011",
"page": "1"
},
"body": [
{
"asin": "B073XVXQ6R",
"title": "Frida Baby Medicine Pacifier Syringe, Accu-Dose Paci, Medi Frida Dispenser for Mess & Fuss Free Use, Made in USA",
"url": "https://www.amazon.com/Fridababy-MediFrida-Accu-Dose-Pacifier-Dispenser/dp/B073XVXQ6R/ref=zg_mg_g_17720258011_d_sccl_1/130-8053942-8447119?psc=1",
"image": "https://images-na.ssl-images-amazon.com/images/I/61WGS1FZ9wL._AC_UL300_SR300,200_.jpg",
"rating": 4.8,
"rating_count": 21346,
"price": "$11.48",
"rank": "#1"
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sellers
Get Amazon seller data, including product listings, review summaries, and public profile information.
GET /v1/profile
requires authentication
Retrieve a seller's profile, including their name, storefront link, logo, contact information, business details, and performance ratings.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/seller/profile'
params = {
'seller_id': 'ARVLBD5MF9H1U',
'country': 'US',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/seller/profile';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'seller_id' => 'ARVLBD5MF9H1U',
'country' => 'US',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/seller/profile"
);
const params = {
"seller_id": "ARVLBD5MF9H1U",
"country": "US",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/seller/profile?seller_id=ARVLBD5MF9H1U&country=US" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"seller_id": "A02211013Q5HP3OMSZC7W",
"country": "US"
},
"body": {
"name": "MemoryWhiz",
"store_link": "https://amazon.com/s?ie=UTF8&marketplaceID=ATVPDKIKX0DER&me=A02211013Q5HP3OMSZC7W",
"logo": "https://m.media-amazon.com/images/I/01inXJbpK2L.gif",
"business_name": "Alast Corporation",
"business_address": "20651 GOLDEN SPRINGS DRIVE, Suite 111, Walnut, CA, 91789, US",
"phone": "909-610-9170",
"ratings_total_percentage": 100,
"review_summary": {
"thirty_days": {
"rating": 5,
"count": 117
},
{ ... }
},
"rating": 4.9,
"ratings_total": 51420
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, Validation Failed):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/products
requires authentication
Retrieve all public Amazon product listings for a specific seller using their Seller ID. Returns associated data such as product details, reviews summary, and seller profile information. Supports pagination and optional filters like category, condition, and rating.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/seller/products'
params = {
'seller_id': 'A02211013Q5HP3OMSZC7W',
'country': 'US',
'sort_by': 'RELEVANCE',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/seller/products';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'seller_id' => 'A02211013Q5HP3OMSZC7W',
'country' => 'US',
'sort_by' => 'RELEVANCE',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/seller/products"
);
const params = {
"seller_id": "A02211013Q5HP3OMSZC7W",
"country": "US",
"sort_by": "RELEVANCE",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/seller/products?seller_id=A02211013Q5HP3OMSZC7W&country=US&sort_by=RELEVANCE" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"marketplace": "https://amazon.com",
"total": 11,
"seller_id": "A02211013Q5HP3OMSZC7W",
"low_price": "50",
"is_prime": "true",
"min_rating_4": "true",
"language": "en_US",
"country": "US",
"page": "1"
},
"body": [
{
"asin": "B0DSPYPKRG",
"product_title": "Raspberry Pi 5 (16GB)",
"product_price": "$129.99",
"product_original_price": "$144.99",
"currency": "USD",
"product_star_rating": "4.7",
"product_num_ratings": 82,
"product_url": "https://amazon.com/dp/B0DSPYPKRG",
"product_photo": "https://m.media-amazon.com/images/I/71Cc5SOIjIL._AC_UY218_.jpg",
"product_num_offers": null,
"product_minimum_offer_price": null,
"is_best_seller": false,
"is_amazon_choice": false,
"is_prime": false,
"climate_pledge_friendly": false,
"sales_volume": "1K+ bought in past month",
"delivery": "FREE delivery Mon, Jul 21",
"has_variations": false,
"product_badge": null
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Metadata
Retrieve static or reference data used for filtering and building UI options, such as available Amazon categories and department mappings.
GET /v1/categories
requires authentication
Get Amazon product categories per country / Amazon domain (for use with the "category_id" parameter of the Product Search only).
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/amazon/categories'
params = {
'country': '0',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/amazon/categories';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'country' => '0',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/amazon/categories"
);
const params = {
"country": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/amazon/categories?country=0" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"country": "United States",
"marketplace": "https://amazon.com",
"total": 60
},
"body": [
{
"name": "All Departments",
"id": "aps"
},
{
"name": "Alexa Skills",
"id": "alexa-skills"
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.