A product search API takes a keyword and returns products as JSON. That sounds like "Amazon's search results, without the page". It is not quite that, and the difference decides whether the results are usable.
Two settings matter more than everything else in the request: the match type, and knowing how the results are ordered.
One keyword, three match types
We ran the same keyword, pet water fountain, on the US marketplace on 12 October 2026, changing only match_type:
match_type | Products matched | What came back first |
|---|---|---|
broad (the default) | 265,533 | Bottled water, an insulated drink bottle, baby wipes |
phrase | 1,880 | Pet fountains and replacement filters, all under Pet Supplies |
exact | 750 | The same category, narrowed to titles containing the phrase |
The broad result is not a bug in the data. Broad matches products on any of the words, and "water" matches a very large part of the catalog. The best-selling products containing one of your words come first, and none of the top results was a pet fountain.
So for product research, set match_type to phrase or exact unless you actually want every product near a word. Leaving the default is the most common reason a first test looks wrong.
curl --request POST \
--url https://ecommercedataapi.com/v1/amazon/product/competitor-lookup \
--header "Content-Type: application/json" \
--header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
--data '{
"marketplace": "US",
"keyword": "pet water fountain",
"match_type": "phrase",
"include_variations": false,
"page": 1,
"size": 20
}'Results are ordered by estimated sales
In all three tests the items came back in descending order of units, the estimated monthly unit sales. On phrase match the first eight ran from 32,461 down to 6,290.
That is not the order a shopper sees. Amazon's results page is ordered by its own relevance ranking and includes sponsored placements. This endpoint answers a different question: of the products matching this keyword, which sell the most.
That is the right order for sizing a keyword's market. It is the wrong order if you need to know who holds position 3.
What each item contains
| Field | What it tells you |
|---|---|
asin, parent, title, brand | Which product it is and its parent listing |
price, averagePrice | Current and average price |
bsr, subcategories | Best Sellers Rank and subcategory ranks |
units, revenue | Estimated monthly units and revenue |
rating, ratings | Star rating and rating count |
sellers, sellerNation, fulfillment | How many sellers, where the seller is based, how it ships |
nodeLabelPath | The category path, such as Pet Supplies:Cats:Feeding & Watering Supplies:Fountains |
availableDate | Listing date, as a millisecond timestamp |
The response also carries total and pages. page goes up to 100 and size up to 200.
The Amazon Product Search API page has the full field list.
Three things to do with the results
1. Filter by category before you count. Even on phrase match, the test returned replacement filters alongside fountains: accessories carry the main product's keyword in their titles. Group on nodeLabelPath and price before treating the list as one market.
2. Read units at the right level. units is the estimate for the parent listing, so a product with many variations looks larger than a single-variation competitor. include_variations controls whether variations are listed separately. Parent and child ASINs explains what is pooled.
3. Look at how sales are spread. If the first three products hold most of the units, the keyword is concentrated; if units fall away slowly, there is room further down. Getting a keyword onto page one covers how to read that split.
When you need search positions instead
If the question is "where does this product rank for this keyword", use a reverse lookup instead of a product search. The traffic keyword endpoint returns, for one ASIN, the terms it appears for with rankPosition (organic) and adPosition (sponsored). ASIN reverse keyword lookup shows how to read it.
| You want to know | Use |
|---|---|
| Which products sell most for a keyword | Product search, phrase or exact |
| Price, rank and sales for a list of ASINs | Product search with asins (ASIN lookup) |
| Where one product ranks for its keywords | Reverse lookup |
| Every product in a category by filters | Product research endpoint |
What this data cannot do
It does not reproduce a shopper's results page. No sponsored placements, no personalisation, no page layout.
units and revenue are estimates. Good for ranking products against each other, not for exact volumes. See what Amazon sales data can and cannot tell you.
A snapshot is one day. The test above reflects 12 October 2026; totals move.
Questions
Is this the Amazon Product Advertising API? No. That API is for affiliates building product links. This endpoint returns research fields such as estimated sales and BSR.
Which match type should I use?
Start with phrase. Use exact when phrase still brings in too many loosely related products, and broad only when you want everything near a word.
Can I search by ASIN instead of keyword?
Yes. Send asins with up to 40 ASINs instead of keyword. Send one or the other, not both.
Can I get Amazon's organic ranking order? Not from product search. Use the reverse lookup for a product's position on a term.