Search Amazon products by keyword
searchUse to find products by keyword and filters. Rows are result snippets; for the authoritative record of one ASIN call product_details. Search Amazon products by keyword.
Instructions
Use to find products by keyword and filters. Rows are result snippets; for the authoritative record of one ASIN call product_details. Search Amazon products by keyword. Filters: page, sort_by, category_id (browse node), min_price / max_price (decimals), product_condition (NEW / USED / RENEWED), brand, seller_id, today_deals and deal_type (coupons, all_discounts, buy_more_save_more). Every answer carries filters_applied, filters_ignored (with the reason) and available_filters for that marketplace. Price: $0.003 per call. Blank values and the literal string 'null' are treated as unset. Invalid page, sort_by, price, product_condition or deal_type is a free 400 naming the parameter and the allowed values. Condition and deal refinements are per marketplace; a marketplace that lacks one gets the unfiltered feed plus an entry under filters_ignored, never a silent empty page. product_num_ratings is an integer; offers_count is the "N offers" count a result card shows, an integer, and null when the card shows none (most cards; it used to default to 1); product_brand is the brand line Amazon prints above some titles (fashion and many branded listings) and null on cards without one -- product_details has brand_name for every ASIN; product_star_rating, product_price and product_original_price are decimal strings; a null field means Amazon did not show it. is_prime is true when the result carries a Prime badge or its delivery line offers Prime delivery. metadata.reachable_pages says how far page can go: Amazon serves at most 7 pages of a query even when metadata.total_pages counts more (then pagination_note says how to split the query). _links.next is the next page while there is one; a page past the end is a free 400 page_out_of_range. A full page is up to 48 results and about 54 KB; the tool returns the first 10 as light rows by default and the answer carries _truncated, _omitted_fields, _projection and _notes. filters_applied echoes the effective sort_by (RELEVANCE when none was sent). A BEST_SELLERS ordering is Amazon's query-scoped popularity, not a category rank: a row's badges / is_best_seller are what the result card showed for this query, and an ASIN that is #1 in its subcategory can carry no badge here while product_details reports best_seller=true with the rank. For a rank claim, use product_details or best_sellers. An empty products list is served as success only when Amazon itself reports 0 results (metadata.total is 0 and hint says so). Anything else that is not a usable result is an unbilled, retryable 503 with code upstream_unavailable.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | Marketplace country code. | US |
| page | No | Result page, 1-based. metadata.total_pages says how far it goes. | |
| brand | No | Brand name as Amazon spells it (case-insensitive), e.g. Samsung. | |
| limit | No | How many search results to return from this page (0 = all of them). A full page is up to 48 rows and about 54 KB, which most clients spill to a file instead of showing inline. The answer carries _truncated with the true count when it trims. | |
| query | Yes | Search keywords. Required and must be non-empty. | |
| fields | No | Comma-separated row fields to return instead of the light set, e.g. "asin,product_title,product_price". Rows list what they left out under _omitted_fields. | |
| compact | No | Return light rows: identity, price, rating, badges and one delivery_date, dropping the long delivery prose that repeats itself across three fields. false returns every field the REST API sends (roughly 3x the size). | |
| sort_by | No | Result ordering. | RELEVANCE |
| deal_type | No | A specific promotion refinement: today_deals, all_discounts, coupons or buy_more_save_more. available_filters.deal_type lists the ones this marketplace has. | |
| max_price | No | Highest price, in the marketplace currency. | |
| min_price | No | Lowest price, in the marketplace currency; decimals such as 19.99 are fine. | |
| seller_id | No | Restrict results to one seller's offers: an Amazon seller id, 'A' followed by 9-20 letters and digits (e.g. A2A1RNLLUK3HYA). | |
| category_id | No | Amazon browse node id to restrict to, e.g. 172282 (Electronics on US). Take one from a best_sellers answer's available_subcategories, a product's category_path, or node= in an Amazon URL. Ids differ per marketplace. | |
| today_deals | No | Only items in Today's Deals, using that marketplace's own refinement. Where a marketplace has none (amazon.fr on 2026-09-08) it is reported under filters_ignored. | |
| product_condition | No | NEW, USED or RENEWED (case-insensitive). Applied with the marketplace's own condition node; where a marketplace does not offer one, the answer's filters_ignored says so and available_filters lists what it does offer. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| success | No | ||
| metadata | No | ||
| products | No | ||
| request_id | No | ||
| filters_applied | No | ||
| filters_ignored | No | ||
| available_filters | No | ||
| amazon_request_count | No |