Search products by keyword
Search an Amazon marketplace by keyword and get each result’s ASIN, title, URL, current price and list price, aggregate star rating and rating count, thumbnail, whether it is a sponsored placement, and where it appeared. Filter by department, price range and minimum rating, and sort by relevance, price, rating, newest or bestsellers. The response reports appliedFilters — the filters that were actually applied, which can differ from the ones requested — and Amazon’s own totalResults estimate. Amazon shows at most 20 result pages for any search; to reach further, narrow the search. The ASINs a search returns are what price-check and product-details take.
/search-products Products https://api.fetchlayer.dev/amazon/search-products Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
query string required Search keywords.
department string optional A department id as it appears in Amazon search URLs, for example electronics, fashion or digital-text.
minPrice number optional Lowest price, in the marketplace’s currency. Amazon applies it to the regular price, so a discounted product can show a price just below it.
maxPrice number optional Highest price, in the marketplace’s currency.
minRating number optional Only products rated at least this many stars (1–4). Amazon typically offers only 4; appliedFilters.minRating is null, with a note, when the threshold you asked for is not offered.
sortBy string optional relevance, price_asc, price_desc, rating, newest or bestsellers. (default: relevance)
limit number optional Maximum products returned (max 1000), or -1 for no limit. (default: 48)
pages number optional Result pages to collect in one request (max 20), or -1 for as many as Amazon shows. Each page counts as one request against your plan. (default: 1)
cursor string optional A previous response’s nextCursor, sent with the same query.
marketplace string optional Amazon marketplace as its domain suffix: com, co.uk, de, fr, it, es, nl, com.be, se, pl, ca, com.mx, com.br, com.au, co.jp, in, sg, com.tr, ae, sa. amazon.co.uk and uk are accepted too. A product URL carries its own marketplace, and naming a different one here is a 400. (default: com)
postalCode string optional The delivery postal code prices and stock are quoted for. Defaults to a central postal code in the marketplace's country: 10001 for com, SW1A 1AA for co.uk, 10115 for de.
format string optional json or markdown. (default: json)
timeoutMs number optional Per-request time limit in milliseconds (max 600000).
Response Fields
search-products
Search products by keyword
marketplace string The Amazon marketplace, as its domain suffix.
deliveryLocation object Where the prices apply: postalCode and Amazon’s own label for it. postalCode is null when a price could not be quoted for the postal code you asked for — notes says so.
notes string[] Caveats about this particular result — a price quoted for a different location than asked for, a filter that could not be applied, products to retry. Read it on every call.
transport string The source this data came from. Always "amazon".
scrapedAt string ISO 8601 timestamp of when the data was collected.
query string The search this response answers.
totalResults number Amazon’s own estimate of how many products match.
products object[] The matching products, in the order Amazon showed them.
products[].asin string The product’s ASIN — what price-check and product-details take.
products[].title string The product title.
products[].url string The product page URL.
products[].price object { amount, currency, display } in the currency the page actually quoted, or null. Null when the product has no featured offer — call price-check or product-details to see why.
products[].listPrice object The crossed-out reference price, when shown.
products[].rating object { average, count } — the aggregate star rating.
products[].image string Thumbnail URL.
products[].sponsored boolean A paid placement rather than an organic result.
products[].position number Position on the results page it came from.
products[].page number The results page it came from.
productCount number Products in this response.
pagesScraped number Result pages collected. Each page counts as one request against your plan.
hasNextPage boolean Whether Amazon shows another page.
nextCursor string Pass back as cursor, with the same query, to continue. null when there is nothing further.
appliedFilters object The filters actually applied: department, minPrice, maxPrice, minRating and sortBy. Compare with your request.
Request
curl -X POST "https://api.fetchlayer.dev/amazon/search-products" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"query":"mechanical keyboard","maxPrice":100,"marketplace":"com"}'Response
{
"query": "mechanical keyboard",
"marketplace": "com",
"totalResults": 13601,
"products": [
{
"asin": "B0CLLHSWRL",
"title": "AULA F99 Wireless Mechanical Keyboard, Tri-Mode BT5.0/2.4GHz/USB-C Hot Swappable Custom Keyboard",
"url": "https://www.amazon.com/dp/B0CLLHSWRL",
"price": {
"amount": 68.99,
"currency": "USD",
"display": "$68.99"
},
"listPrice": {
"amount": 78.84,
"currency": "USD",
"display": "$78.84"
},
"rating": {
"average": 4.5,
"count": 3147
},
"image": "https://m.media-amazon.com/images/I/61mB8mL33pL._AC_UY218_.jpg",
"sponsored": true,
"position": 1,
"page": 1
},
{
"asin": "B0CQ2L9PCB",
"title": "RK ROYAL KLUDGE S98 Wireless Mechanical Keyboard w/Smart Display & Knob",
"url": "https://www.amazon.com/dp/B0CQ2L9PCB",
"price": {
"amount": 74.99,
"currency": "USD",
"display": "$74.99"
},
"listPrice": {
"amount": 89.99,
"currency": "USD",
"display": "$89.99"
},
"rating": {
"average": 4.4,
"count": 1666
},
"image": "https://m.media-amazon.com/images/I/61g03L1eB1L._AC_UY218_.jpg",
"sponsored": true,
"position": 2,
"page": 1
}
],
"productCount": 19,
"pagesScraped": 1,
"hasNextPage": true,
"nextCursor": "eyJ2IjoxLCJtYXJrZXRw…",
"appliedFilters": {
"department": null,
"minPrice": null,
"maxPrice": 100,
"minRating": null,
"sortBy": "relevance"
},
"deliveryLocation": {
"postalCode": "10001",
"label": "New York 10001"
},
"notes": [],
"transport": "amazon",
"scrapedAt": "2026-09-12T22:18:21.972Z"
}