Skip to content

Search Response

The result object contains the ranked product listings of the search page, the filters Amazon offers for the search, related searches and the delivery location. Every response uses the shared response envelope (request_info, request_parameters, request_metadata, result).

Response structure

result
├── search_results[]
│ ├── position, asin, title, brand, link, image
│ ├── product_type, is_sponsored, is_prime, source_page
│ ├── rating, rating_text, ratings_total
│ ├── price symbol, value, currency, raw
│ ├── prices[] same fields as price, plus is_rrp
│ ├── bought_activity raw, value, period, symbol
│ ├── color_options raw, additional_count, total_count
│ ├── more_buying_choices raw, min_offers_count, link, price
│ └── shipping_details
├── refinements
│ ├── customer_reviews[], eligible_for_free_shipping[], delivery_day[]
│ ├── brands[], price[], deals_discounts[], condition[], seller[]
│ ├── department[], color[], grade[], premium_brands[]
│ └── moresustainable_products[], subscription_options[]
├── related_searches[] query, link
└── delivered_to

Not every listing has every field (for example bought_activity or more_buying_choices), so check that a field exists before you read it.

Result fields

result

FieldTypeDescription
search_resultsarrayProducts on the requested pages, in ranking order.
refinementsobjectFilter groups shown in the Amazon search sidebar. Each key is one filter group.
related_searchesarrayRelated search suggestions that Amazon shows for the query.
delivered_tostringDelivery location Amazon used for the results, for example "Wilmington 19805".

search_results[]

FieldTypeDescription
positionintegerRank of the item in the results list.
asinstringASIN of the product.
titlestringProduct title.
brandstringBrand name.
linkstringLink to the product page, usually a relative path. Prefix a relative path with the marketplace host, for example https://www.amazon.com.
imagestringImage ID of the thumbnail, not a full URL.
product_typestringProduct type of the listing.
is_sponsoredbooleantrue when the item is a sponsored (ad) listing.
is_primebooleantrue when the product is Prime eligible.
source_pageintegerResults page the item came from. Useful when you fetch several pages.
ratingstringAverage rating as a numeric string, for example "4.6".
rating_textstringRating as displayed, for example "4.6 out of 5 stars".
ratings_totalintegerTotal number of customer ratings.
priceobjectCurrent price. Fields are listed below.
pricesarrayAll prices shown for the item, such as the current price and the list price.
bought_activityobjectRecent purchase activity.
color_optionsobjectColor variants of the product.
more_buying_choicesobjectOther offers for the same product.
shipping_detailsstringDelivery text shown on the listing, such as free or paid delivery and the estimated arrival date.

search_results[].price and prices[]

price and each item in prices use the same fields.

FieldTypeDescription
symbolstringCurrency symbol, for example $.
valuestringAmount as a numeric string, for example "34.40".
currencystringCurrency code, for example USD.
rawstringPrice as displayed, for example $34.40.
is_rrpbooleanIn prices only: true when the entry is the list price (recommended retail price).

search_results[].bought_activity

FieldTypeDescription
rawstringText as displayed, for example "2K+ bought in past month".
valueintegerEstimated number of units bought.
periodstringPeriod the count covers, for example "past month".
symbolstringAbbreviation used in raw, for example K or M.

search_results[].color_options

FieldTypeDescription
rawstringVariant count as displayed, for example "+32".
additional_countintegerNumber of additional color variants.
total_countintegerTotal number of color variants.

search_results[].more_buying_choices

FieldTypeDescription
rawstringText as displayed, for example "$25.82 (6+...)".
min_offers_countintegerMinimum number of other offers.
linkstringLink to the offer listing page.
priceobjectLowest price among the other offers, with the same fields as price.

refinements.<group>[]

Each filter group is an array of filter options. Every option has these fields (the price group differs, see below).

FieldTypeDescription
heading_idstringID of the filter element.
namestringOption label, for example "4 Stars & Up" or a brand name.
valuestringAmazon filter value, for example p_123:315576. Send it in the refinements request parameter to apply the filter.
linkstringLink to the Amazon search with the filter applied.
refinement_display_namestringName of the filter group as displayed, for example "Brands".

Filter groups:

Grouprefinement_display_nameFilters by
customer_reviewsCustomer ReviewsAverage customer rating
eligible_for_free_shippingEligible for Free ShippingFree shipping by Amazon
delivery_dayDelivery DayDelivery speed, for example "Get It by Tomorrow"
brandsBrandsBrand
pricePricePrice range (different fields, see below)
deals_discountsDeals & DiscountsActive deals, for example "Today's Deals"
conditionConditionItem condition, for example New or Used
sellerSellerSeller, for example Amazon.com or a third-party seller
departmentDepartmentAmazon category (browse node)
colorColorProduct color
gradeGradeUsage grade, for example "Commercial Grade"
premium_brandsPremium BrandsPremium brands
moresustainable_productsMore-sustainable ProductsSustainability programs, for example "Climate Pledge Friendly"
subscription_optionsSubscription OptionsSubscription programs, for example "Subscribe & Save"

Amazon only returns the groups that apply to the search, so the set of keys varies from query to query.

refinements.price[]

FieldTypeDescription
heading_idstringID of the filter element.
namestringOption label, usually "Price".
rangestringPrice range as displayed, for example "$0–$1,900+".
min_valuestringLowest price of the range as displayed, for example "$0".
max_valuestringHighest price of the range as displayed, for example "$1,900+".
refinement_display_namestringAlways "Price".
FieldTypeDescription
querystringSuggested search term, for example "car accessories".
linkstringRelative Amazon path of the suggested search.

Sample response

This sample shows the response envelope with pagination details; the result object is omitted.

Sample response (SEARCH, .com): envelope only
{
"request_info": {
"id": "a12b3456-caed-491b-8a91-d5ff517d63dc",
"success": true,
"status_code": 200,
"error_details": [],
"credits_used": 759040,
"credit_used_this_request": 1,
"credits_remaining": 759050,
"credits_reset_at": "2035-01-30T00:00:00.000Z",
"address": {
"city": null,
"district": null,
"country_code": null,
"zipCode": [
"19805"
]
}
},
"request_parameters": {
"output": "json",
"language": "en_US",
"include_html": false,
"keyword": "winter",
"type": "SEARCH"
},
"request_metadata": {
"created_at": "2025-05-27T13:15:00.496Z",
"processed_at": "2025-05-27T13:15:03.561Z",
"total_time_taken": 3.065,
"end_of_pagination": 7,
"pages": [
{
"current_page": 1,
"current_page_link": "/s?k=winter&language=en_US&xpid=GUHHVwhvUwDys&qid=1748351701",
"result_count": 60,
"next_page_link": "/s?k=winter&page=2&language=en_US&xpid=GUHHVwhvUwDys&qid=1748351701&ref=sr_pg_1",
"not_match": [
"related_searches"
],
"ms": 2790
}
]
}
}

Notes

Pagination details

The Search operation returns its paging details in result.pagination and result.result_information, both arrays with one object per fetched page. The envelope's request_metadata can also carry end_of_pagination and pages[] with per-page timing, as in the sample above.

Fields in result:

FieldTypeDescription
pagination[].current_pageintegerPage number.
pagination[].current_page_linkstringQuery string of the page.
pagination[].next_page_linkstringRelative Amazon path of the next page, when there is one.
pagination[].last_visible_pageintegerHighest page number shown in Amazon's page navigation.
pagination[].result_countintegerNumber of results on the page.
pagination[].not_matcharrayNames of expected page elements that were not found, for example amazon_no_results_text.
result_information[].beginintegerPosition of the first result on the page.
result_information[].endintegerPosition of the last result on the page.
result_information[].total_product_countintegerTotal number of results Amazon reports for the search.
result_information[].rawstringResult count as displayed, for example "1-16 of over 100,000 results for 'car'".
result_information[].search_termstringSearch term the results belong to.

Fields in request_metadata, when present:

FieldTypeDescription
end_of_paginationintegerLast results page available for the search.
pagesarrayOne entry per page fetched.
pages[].current_pageintegerPage number.
pages[].current_page_linkstringRelative Amazon path of the page.
pages[].result_countintegerNumber of results on the page.
pages[].next_page_linkstringRelative Amazon path of the next page, when there is one.
pages[].not_matcharrayNames of expected fields that were not found on the page, for example related_searches.
pages[].msintegerTime spent fetching the page, in milliseconds.

In Data Service results, pagination and result_information can be single objects with the same fields.

Errors

  • Search-specific error messages: MSG1019 ("Invalid Search Term"), MSG1011 ("Invalid url") and MSG1010 ("Maximum page count must be more than minimum page count").
  • Always check request_info.success and request_info.error_details, even when the HTTP status is 200. On failure, result is an empty object. See Errors and status codes for the general list.