Search Amazon products by keyword
searchFind Amazon products by keyword across 20 marketplaces, with filters for price, brand, seller, category, condition, and deals. Returns results with applied and ignored filters.
Instructions
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 use per-marketplace node ids captured from Amazon's own search pages; a marketplace that lacks one gets the unfiltered feed plus an entry under filters_ignored, never a silent empty page. product_num_ratings and offers_count are integers; 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.total_pages says how far page can go. 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). A bot wall, a page we could not parse or anything that is not a results payload is an unbilled, retryable 503 with code upstream_unavailable and a reason (wall, parse_fault, unusable); up to three sessions are tried before that answer.
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 (Amazon seller id). | |
| 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 |