Amazon search autocomplete API
GET /search-autocomplete returns the suggestions Amazon’s search box shows for a prefix on one marketplace, in Amazon’s order, as plain strings in the marketplace’s language. These are queries real shoppers type, which makes them a free source of Amazon keyword ideas.
Part of Amazon Data API, sold on RapidAPI with a free plan of 100 requests a month. Endpoint details checked 2026-11-03.
What GET /search-autocomplete returns
The suggestions Amazon's search box offers for a prefix on one marketplace, in Amazon's order, as plain strings. `query` echoes the prefix. An empty `suggestions` list is a valid answer. Suggestions come in the marketplace language.
Parameters
| Name | Required | Values | Notes |
|---|---|---|---|
query | yes | string | The text typed so far, 1 to 100 characters. |
country | no | US, CA, MX, BR, GB, DE, FR, IT, ES, NL, SE, PL, BE, TR, AE, SA, EG, IN, JP, SG, AU, IE, ZA | Amazon marketplace, as an ISO country code. GB is amazon.co.uk. Default US (amazon.com). Not available on IN (returns 400 country_unavailable). |
Example request
Every parameter that has an example, with country set explicitly. Send your key in X-RapidAPI-Key.
curl --request GET \
--url 'https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/search-autocomplete?query=usb&country=US' \
--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
--header 'X-RapidAPI-Host: amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com'import requests
resp = requests.get(
"https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/search-autocomplete",
params={"query": "usb", "country": "US"},
headers={
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
"X-RapidAPI-Host": "amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com",
},
timeout=30,
)
resp.raise_for_status()
body = resp.json()
if "error" in body: # bad input or not found: HTTP 200 with an error body
raise RuntimeError(f"{body['error']['code']}: {body['error']['message']}")
print(body["data"])const url = new URL('https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/search-autocomplete');
url.search = new URLSearchParams({ query: 'usb', country: 'US' });
const res = await fetch(url, {
headers: {
'X-RapidAPI-Key': process.env.RAPIDAPI_KEY,
'X-RapidAPI-Host': 'amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com',
},
});
const { data, meta } = await res.json();
console.log(data, meta.fetched_at);Example response
A recorded response, shortened to 3 items per list.
{
"data": {
"query": "usb",
"suggestions": [
"usb c cable",
"usb to usb c cable",
"usb hub"
]
},
"meta": {
"country": "US",
"cached": false,
"fetched_at": "2026-10-26T14:05:11.000Z"
}
}What people use it for
Amazon keyword research: expand a seed word into the phrases shoppers type.
Listing optimisation: check which phrases to work into titles and bullet points.
Search-as-you-type in your own product search.
FAQ
- Is an empty list an error?
- No. Amazon offers no suggestions for some prefixes, and an empty suggestions list is a valid answer.
- Which marketplaces are supported?
- All except India (IN), which returns 400 country_unavailable.
Related endpoints
See all 17 endpoints and 23 marketplaces on the Amazon product API page.