An Amazon Category Object provides information about a category, including its name and details about subcategories and parent categories, enabling navigation through the category tree.
Tip: Category objects change infrequently and can be cached for extended periods.
The Category object is returned by the following requests:
Format#
{
"domainId": Integer,
"catId": Long,
"name": String,
"websiteDisplayGroup": String,
"children": Long[],
"parent": Long,
"isBrowseNode": Boolean,
"highestRank": Integer,
"lowestRank": Integer,
"productCount": Integer,
"avgBuyBox": Integer,
"avgBuyBox90": Integer,
"avgBuyBox365": Integer,
"avgBuyBoxDeviation": Integer,
"avgReviewCount": Integer,
"avgRating": Integer,
"isFBAPercent": Float,
"soldByAmazonPercent": Float,
"hasCouponPercent": Float,
"avgOfferCountNew": Float,
"avgOfferCountUsed": Float,
"sellerCount": Integer,
"brandCount": Integer,
"avgDeltaPercent30BuyBox": Float,
"avgDeltaPercent90BuyBox": Float,
"avgDeltaPercent30Amazon": Float,
"avgDeltaPercent90Amazon": Float,
"relatedCategories": Long[],
"topBrands": String[]
}
Fields#
| Field | Type | Description |
|---|---|---|
domainId |
Integer | The Amazon locale this category belongs to. See the Domain IDs table below for all possible values. |
catId |
Long | The category node ID used by Amazon, representing the identifier of the category. It is also part of the Product Object's categories and rootCategory fields. Always a positive Long value.Note: The ID 9223372036854775807 (maximum signed long value) denotes a blank category with the name "?". This is used in cases where a product is listed in no or non-existent categories.Example: 281052 — https://www.amazon.com/b/?node=281052 |
name |
String | The name of the category. Example: "Digital Cameras" |
websiteDisplayGroup |
String | The websiteDisplayGroup, available for most root categories.Example: "fashion_display_on_website" |
children |
Long[] | List of all subcategories. null or [] (empty array) if the category has no subcategories.Example: [3109924011, 7242008011, 3017941, 2476680011, 330405011, 2476681011, 3109925011] |
parent |
Long | The parent category's ID. Always a positive Long value. If it is 0, the category is a root category and has no parent category.Example: 502394 |
isBrowseNode |
Boolean | Determines if this category functions as a standard browse node rather than serving promotional purposes. Every child within a category, along with their respective children, shares the same value. Examples: true (e.g. for "Home & Kitchen"), false (e.g. for "Prime Day 10% Off" or "Specialty Stores").For more examples, check the Category Tree and enable the Show meta categories option. |
highestRank |
Integer | The highest (root category) sales rank observed for a product listed in this category. Note: this is an estimate from the Keepa product database and not retrieved directly from Amazon. Example: 2452122 |
lowestRank |
Integer | The lowest (root category) sales rank observed for a product listed in this category. Note: this is an estimate from the Keepa product database and not retrieved directly from Amazon. Example: 1 |
productCount |
Integer | The estimated number of products listed in this category. Note: this value is from the Keepa product database and not retrieved directly from Amazon. Example: 2452122 |
avgBuyBox |
Integer | The average current buy box price of products listed in this category. Example: 1999 (price in the smallest currency unit, e.g. cents) |
avgBuyBox90, avgBuyBox365 |
Integer | The average 90- and 365-day buy box price of products listed in this category. Example: 2099 (price in the smallest currency unit, e.g. cents) |
avgBuyBoxDeviation |
Integer | The average 30-day buy box deviation of products listed in this category, showing how much prices fluctuate. Example: 450 (price in the smallest currency unit, e.g. cents) |
avgReviewCount |
Integer | The average number of reviews of products listed in this category. Example: 235 |
avgRating |
Integer | The average rating (on a scale from 10 to 50) of products listed in this category. Example: 45 (4.5 stars) |
isFBAPercent |
Float | Represents the distribution of products fulfilled by Amazon (FBA) as a percentage. Example: 65.5 (indicating 65.5% of products are fulfilled by Amazon) |
soldByAmazonPercent |
Float | Represents the distribution of products sold by Amazon versus third-party sellers as a percentage. Example: 45.3 (indicating 45.3% of products are sold by Amazon) |
hasCouponPercent |
Float | The percentage of products in the category that have an active coupon. Example: 10.2 (indicating 10.2% of products have a one time coupon) |
avgOfferCountNew |
Float | The average number of new offers per product in this category, excluding out-of-stock listings. Example: 3.5 — on average, each product has 3.5 active new offers. |
avgOfferCountUsed |
Float | The average number of used offers per product in this category, excluding out-of-stock listings. Example: 1.2 — on average, each product has 1.2 active used offers. |
sellerCount |
Integer | The total number of distinct sellers with at least one active offer in this category. Example: 452 — 452 unique sellers have active listings in this category. |
brandCount |
Integer | The total number of distinct brands represented among products in this category. Example: 120 — 120 different brands are present. |
avgDeltaPercent30BuyBox, avgDeltaPercent90BuyBox |
Float | The average percentage change in Buy Box price per product over the last 30 and 90 days. A positive value means that, on average, products have become cheaper; a negative value means products have become more expensive. Each product contributes equally regardless of price. Example: 2.1 — Buy Box prices have decreased by an average of 2.1%. |
avgDeltaPercent30Amazon, avgDeltaPercent90Amazon |
Float | The average percentage change in Amazon's own offer prices (where available) per product over the last 30 and 90 days. Example: 0.8 — Amazon dropped its offer price by an average of 0.8% in this timeframe. |
relatedCategories |
Long[] | A list of category IDs representing other categories where products from this category are commonly co-listed. Sorted by frequency of co-listing (most common first). This field allows recommendation systems and cross-category navigation by identifying semantically or behaviorally adjacent categories. Example: [672123011, 281407, 11057241] |
topBrands |
String[] | Up to the top 3 most frequent brands represented in this category, in descending order of occurrence. If fewer than 3 distinct brands exist, the array will contain fewer elements. Example: ["Sony", "Canon", "Panasonic"] |
Domain IDs#
Possible values for the domainId field:
| Domain ID | Locale |
|---|---|
| 1 | com |
| 2 | co.uk |
| 3 | de |
| 4 | fr |
| 5 | co.jp |
| 6 | ca |
| 8 | it |
| 9 | es |
| 10 | in |
| 11 | com.mx |
| 12 | com.br |
Example#
Category Objects are obtained through a Category Lookup (by category ID) or a Category Search (by search term). The following request fetches the category 281052 ("Digital Cameras") on amazon.com:
KeepaAPI api = new KeepaAPI("YOUR_API_KEY");
Request r = Request.getCategoryLookupRequest(AmazonLocale.US, false, 281052);
api.sendRequest(r)
.done(result -> {
System.out.println(result.categories.get(281052L).name);
})
.fail(failure -> System.out.println(failure));<?php
use Keepa\KeepaAPI;
use Keepa\API\Request;
use Keepa\API\ResponseStatus;
use Keepa\objects\AmazonLocale;
$api = new KeepaAPI("YOUR_API_KEY");
$response = $api->sendRequestWithRetry(Request::getCategoryLookupRequest(AmazonLocale::US, false, "281052"));
if ($response->status == ResponseStatus::OK) {
print_r($response->categories);
}import requests
params = {"key": "YOUR_API_KEY", "domain": 1, "category": 281052}
r = requests.get("https://api.keepa.com/category", params=params)
data = r.json()
category = data["categories"]["281052"]
print(category["name"], "-", category["productCount"], "products")const res = await fetch("https://api.keepa.com/category?key=YOUR_API_KEY&domain=1&category=281052");
const data = await res.json();
const category = data.categories["281052"];
console.log(`${category.name} - ${category.productCount} products`);curl -s "https://api.keepa.com/category?key=YOUR_API_KEY&domain=1&category=281052"Example Category Object#
{
"domainId": 1,
"catId": 281052,
"name": "Digital Cameras",
"websiteDisplayGroup": "ce_display_on_website",
"children": [3109924011, 7242008011, 3017941, 2476680011, 330405011, 2476681011, 3109925011],
"parent": 502394,
"isBrowseNode": true,
"highestRank": 2452122,
"lowestRank": 1,
"productCount": 148733,
"avgBuyBox": 25499,
"avgBuyBox90": 26120,
"avgBuyBox365": 26890,
"avgBuyBoxDeviation": 1450,
"avgReviewCount": 235,
"avgRating": 42,
"isFBAPercent": 65.5,
"soldByAmazonPercent": 21.4,
"hasCouponPercent": 10.2,
"avgOfferCountNew": 3.5,
"avgOfferCountUsed": 1.2,
"sellerCount": 4520,
"brandCount": 120,
"avgDeltaPercent30BuyBox": 2.1,
"avgDeltaPercent90BuyBox": 3.4,
"avgDeltaPercent30Amazon": 0.8,
"avgDeltaPercent90Amazon": 1.5,
"relatedCategories": [672123011, 281407, 11057241],
"topBrands": ["Sony", "Canon", "Panasonic"]
}
Illustrative values. Prices are integers in the smallest currency unit (e.g. cents: 25499 = $254.99); avgRating 42 corresponds to 4.2 stars. In the actual lookup response, Category Objects are contained in the categories result field — see Category Lookup.