apiwren
Amazon Data API · GET /search-autocomplete

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.

Get a free key on RapidAPIAll 17 endpoints

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

NameRequiredValuesNotes
queryyesstringThe text typed so far, 1 to 100 characters.
countrynoUS, CA, MX, BR, GB, DE, FR, IT, ES, NL, SE, PL, BE, TR, AE, SA, EG, IN, JP, SG, AU, IE, ZAAmazon 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.

200 OK
{
  "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

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.

Try GET /search-autocomplete. The free plan covers 100 requests a month.

Get Amazon Data API on RapidAPI