MENU navbar-image

πŸ“¦ 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."
        ]
    }
}
 

Request      

GET v1/amazon/keywords/autocomplete

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
keyword required string

The base search term to generate suggestions for. Example: wireless earbuds

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

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."
        ]
    }
}
 

Request      

GET v1/amazon/products/by-category

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
category_id optional string

Amazon category ID (used for filtering; mapped to n: in the URL). Accepts raw ID (e.g. 17238450011), or prefixed forms like n:17238450011, 3A17238450011, or %3A17238450011 from example URL: https://www.amazon.com/s?rh=n%3A17238450011. Example: 17238450011

page optional integer

Page number for paginated results.

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE
sort_by optional string

Sort results. Allowed: RELEVANCE, LOWEST_PRICE, HIGHEST_PRICE, REVIEWS, NEWEST, BEST_SELLERS. Example: RELEVANCE

low_price optional number

Minimum price filter.

high_price optional number

Maximum price filter (must be β‰₯ low_price).

seller_id optional string

Amazon seller ID (maps to p_6:). Example: ARVLBD5MF9H1U

is_prime optional string

Filter to Prime-eligible items only. Allowed: true, false.

min_rating_4 optional string

Filter to 4-star and up items only. Allowed: true, false.

condition optional string

Filter by item condition. Allowed: new, used, renewed, collectible. Example: new

additional_filters optional string

Comma-separated raw Amazon rh filters (e.g. p_n_feature_four_browse-bin:123456,p_n_condition-type:6461716011).

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."
        ]
    }
}
 

Request      

GET v1/amazon/products/details

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
asin optional string

Amazon product ASIN. Example: B07ZPKBL9V

url optional string

Amazon product URL. Alternative to ASIN.

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

Request      

GET v1/amazon/products/reviews

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
asin required string

Amazon product ASIN. Example: B07ZPKBL9V

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

Request      

GET v1/amazon/products/similar

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
asin required string

Amazon product ASIN. Example: B07ZPKBL9V

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

Request      

GET v1/amazon/products/offers

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
asin required string

Amazon product ASIN. Example: B09SM24S8C

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

condition optional string

Optional. One of: new, like_new, very_good, good, acceptable

delivery optional string

Optional. One of: prime, free

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

Request      

GET v1/amazon/deals/with-coupons

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
category_id required string

Amazon category ID (aka department). Example: 3408271

page optional integer

Page number for paginated results.

low_price optional integer

Optional. Minimum price filter in dollars. Example: 20

high_price optional integer

Optional. Maximum price filter in dollars. Example: 200

low_discount optional integer

Optional. Minimum discount percentage. Example: 5

high_discount optional integer

Optional. Maximum discount percentage. Example: 40

min_rating_4 optional string

Optional. Set to true to filter for products rated 4 stars and above.

country optional string

Amazon marketplace country code. Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

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."
        ]
    }
}
 

Request      

GET v1/amazon/rankings/best-sellers

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
category required string

Amazon category (example: in https://www.amazon.com/best-sellers/zgbs/beauty the value is beauty or beauty/11056591). Example: beauty

page optional integer

Page number for paginated results.

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

Request      

GET v1/amazon/rankings/new-releases

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
category required string

Amazon category (example: in https://www.amazon.com/best-sellers/zgbs/beauty the value is beauty or beauty/11056591). Example: beauty

page optional integer

Page number for paginated results.

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

Request      

GET v1/amazon/rankings/movers-shakers

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
category required string

Amazon category (example: in https://www.amazon.com/best-sellers/zgbs/beauty the value is beauty). Example: beauty

page optional integer

Page number for paginated results.

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

Request      

GET v1/amazon/rankings/most-wished

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
category required string

Amazon category (example: in https://www.amazon.com/best-sellers/zgbs/beauty the value is beauty or beauty/11056591). Example: beauty

page optional integer

Page number for paginated results.

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

Request      

GET v1/amazon/rankings/most-gifted

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
category required string

Amazon category (example: in https://www.amazon.com/best-sellers/zgbs/beauty the value is beauty or beauty/11056591). Example: beauty

page optional integer

Page number for paginated results.

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

Request      

GET v1/amazon/seller/profile

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
seller_id required string

Amazon seller ID. Example: ARVLBD5MF9H1U

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

Request      

GET v1/amazon/seller/products

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
seller_id required string

Amazon seller ID. Example: A02211013Q5HP3OMSZC7W

page optional integer

Page number for paginated results.

country optional string

Amazon marketplace country code (2-letter, case-insensitive). Example: US

sort_by optional string

Sort results. Allowed: RELEVANCE, LOWEST_PRICE, HIGHEST_PRICE, REVIEWS, NEWEST, BEST_SELLERS. Example: RELEVANCE

low_price optional number

Minimum price filter.

high_price optional number

Maximum price filter (must be β‰₯ low_price).

category_id optional string

Amazon category ID (used for filtering; mapped to n: in the URL). Accepts raw ID (e.g. 17238450011), or prefixed forms like n:17238450011, 3A17238450011, or %3A17238450011 from example URL: https://www.amazon.com/s?rh=n%3A17238450011.

is_prime optional string

Filter to Prime-eligible items only. Allowed: true, false.

min_rating_4 optional string

Filter to 4-star and up items only. Allowed: true, false.

condition optional string

Filter by item condition. Allowed: new, used, renewed, collectible.

additional_filters optional string

Comma-separated raw Amazon rh filters (e.g. p_n_feature_four_browse-bin:123456,p_n_condition-type:6461716011).

language optional string

Language to use for the Amazon marketplace response. Defaults to the primary language of the selected country. Available options:

  • US: en_US, es_US
  • AU: en_AU
  • BR: pt_BR
  • CA: en_CA, fr_CA
  • FR: fr_FR, en_GB
  • DE: de_DE, en_GB, cs_CZ, nl_NL, pl_PL, tr_TR, da_DK
  • IN: en_IN, hi_IN, ta_IN, te_IN, kn_IN, ml_IN, bn_IN, mr_IN
  • IT: it_IT, en_GB
  • MX: es_MX
  • NL: nl_NL, en_GB
  • SG: en_SG
  • ES: es_ES, pt_PT, en_GB
  • TR: tr_TR
  • AE: en_AE, ar_AE
  • GB: en_GB
  • JP: ja_JP, en_US, zh_CN
  • SA: ar_AE, en_AE
  • PL: pl_PL
  • SE: sv_SE, en_GB
  • BE: fr_BE, nl_BE, en_GB
  • EG: ar_AE, en_AE

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."
        ]
    }
}
 

Request      

GET v1/amazon/categories

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
country optional integer

Sets the Amazon domain, marketplace country, language, categories, and currency. Example: 0