Amazon category and browse node API
GET /categories returns Amazon’s Best Sellers category tree for one marketplace: the top-level departments, or the subcategories of one category. Each entry has the name, its browse node ID (null for a department), a path and the best-sellers URL. The path is exactly what /best-sellers and /categories accept as category.
Part of Amazon Data API, sold on RapidAPI with a free plan of 100 requests a month. Endpoint details checked 2026-11-03.
What GET /categories returns
The category tree of Amazon's Best Sellers for one marketplace: the top-level departments, or the subcategories of one category. Each entry has the category name, its node ID (null for a department), a `path` and the best-sellers URL. `path` is exactly what `/best-sellers` and `/categories` accept as `category`. A category with no subcategories returns an empty list. Names come in the marketplace language. `parent` echoes the requested category, or null for the top level. Every response is checked to come from the requested marketplace; a page from another country is never returned.
Parameters
| Name | Required | Values | Notes |
|---|---|---|---|
category | no | string | A `path` from a previous response: a department slug (electronics) or slug and node ID (electronics/172541). Omit for the top-level departments. |
country | no | US, CA, MX, BR, GB, DE, FR, IT, ES, NL, SE, PL, BE, TR, AE, SA, EG, IN, JP, SG, AU, IE, ZA | Amazon marketplace, as an ISO country code. GB is amazon.co.uk. Default US (amazon.com). |
Example request
Every parameter that has an example, with country set explicitly. Send your key in X-RapidAPI-Key.
curl --request GET \
--url 'https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/categories?category=electronics&country=US' \
--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
--header 'X-RapidAPI-Host: amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com'import requests
resp = requests.get(
"https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/categories",
params={"category": "electronics", "country": "US"},
headers={
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
"X-RapidAPI-Host": "amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com",
},
timeout=30,
)
resp.raise_for_status()
body = resp.json()
if "error" in body: # bad input or not found: HTTP 200 with an error body
raise RuntimeError(f"{body['error']['code']}: {body['error']['message']}")
print(body["data"])const url = new URL('https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/categories');
url.search = new URLSearchParams({ category: 'electronics', country: 'US' });
const res = await fetch(url, {
headers: {
'X-RapidAPI-Key': process.env.RAPIDAPI_KEY,
'X-RapidAPI-Host': 'amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com',
},
});
const { data, meta } = await res.json();
console.log(data, meta.fetched_at);Example response
A recorded response, shortened to 3 items per list.
{
"data": {
"parent": "electronics",
"categories": [
{
"name": "Accessories & Supplies",
"node_id": "281407",
"path": "electronics/281407",
"url": "https://www.amazon.com/gp/bestsellers/electronics/281407"
},
{
"name": "Camera & Photo",
"node_id": "502394",
"path": "electronics/502394",
"url": "https://www.amazon.com/gp/bestsellers/electronics/502394"
}
]
},
"meta": {
"country": "US",
"cached": false,
"fetched_at": "2026-10-26T14:05:11.000Z"
}
}What people use it for
Build a category picker for a research tool, in the marketplace’s own language.
Map your product taxonomy to Amazon browse node IDs.
Crawl best sellers across a whole department, one subcategory at a time.
FAQ
- How do I find an Amazon browse node ID?
- Call GET /categories for the departments, then call it again with a department’s path to list its subcategories. Each subcategory has its node ID.
- What does a leaf category return?
- A category with no subcategories returns an empty list.
Related endpoints
See all 17 endpoints and 23 marketplaces on the Amazon product API page.