Serpapi iconSerpapiSep 30, 2026 ~7 min source read

How to do Amazon keyword research with Python using Amazon Autocomplete API

Use Amazon’s autocomplete suggestions as raw search data, expand seed terms into long-tail keywords, filter by department, and export clean lists to CSV with Python and SerpApi’s Amazon Autocomplete API.

How to Do Amazon Keyword Research with Python

Share this story

Send the public story page.

Useful takeaways from this story.

Each suggestion includes value, type (KEYWORD or WIDGET), optional items for WIDGETs, thumbnail, amazon_link, serpapi_link, and serpapi_amazon_link for deeper requests.

A practical workflow: fetch autocomplete for seed terms, expand suggestions recursively using serpapi_link, filter by department or suggestion type, then write the final keyword list to CSV.

SerpApi’s API removes the manual limits of free tools and outputs JSON/Markdown you can integrate directly into Python pipelines.

# Why Amazon autocomplete matters

# What the API returns and why it's useful

The Amazon Autocomplete API returns a suggestions array. Each suggestion contains concrete fields you can use in a pipeline:

  • value: the suggested search term (for example, "coffee beans").
  • type: either KEYWORD for plain search suggestions or WIDGET for grouped shortcuts such as price buckets.
  • thumbnail: a small product image when Amazon shows one.
  • amazon_link: the Amazon search results URL for that suggestion.
  • serpapi_link: a ready-made SerpApi request to get autocomplete suggestions for that suggestion (useful to expand one level deeper).
  • serpapi_amazon_link: a ready-made Amazon Search API request so you can fetch product-ranking results for the suggestion.

# Practical workflow in Python (conceptual steps)

  1. Pick seed keywords. Start with core phrases (for example, "coffee", "running shoes").
  1. Call the Amazon Autocomplete API for each seed. The endpoint returns JSON or Markdown, which Python can parse with the json library.
  1. Store the returned suggestions array. Save value, type, thumbnail, and links for each suggestion.
  1. Expand long tails. Use the provided serpapi_link to fetch one level deeper for high-value suggestions. Loop or recurse only as deep as you need to avoid excess API calls.
  1. Handle WIDGET suggestions. For WIDGET entries, iterate items to capture the grouped options (for example, price ranges) and their amazon_link values.
  1. Department filtering. If you need department-specific results, apply filters by comparing suggestion values or by making requests scoped to a department parameter where the API supports it. Filter out suggestions that don't match the target department vocabulary or that are WIDGET shortcuts you don't need.
  1. Deduplicate and normalize. Normalize spacing and punctuation, deduplicate exact matches, and collapse near-duplicates if required for your final list.
  1. Export to CSV. Write rows with columns such as keyword, type, department (if inferred), thumbnail URL, amazon_link, serpapi_link, serpapi_amazon_link so downstream processes can use them directly.

# Common decisions and trade-offs

  • Depth vs. cost: deeper recursive expansion finds more long-tail variants but increases API calls. Limit depth to the business need.

# Why use an API pipeline instead of manual tools

Free autocomplete tools often limit lookup volume and are not designed for integration into reproducible pipelines. Using the Autocomplete API returns structured JSON or Markdown that your Python scripts can ingest, expand, filter, and export, enabling repeatable research and automation of keyword lists for ad campaigns, product listings, or market research.

# Quick outcomes you can expect

More context around this story.

Extracting Static Public Data with Python (Zero Dependencies)
Dev iconDevSep 24, 2026

Extracting Static Public Data with Python (Zero Dependencies)

If you need to extract basic structured data from a static, publicly accessible website, it can be tempting to immediately reach for frameworks like Selenium, Scrapy, or Playwright. However, for simple static pages, Python's standard library can often handle the job without installing any external dependencies. In this

Best SmartScout Alternatives in 2026
Sellerapp iconSellerappSep 21, 2026

Best SmartScout Alternatives in 2026

The best SmartScout alternative for growing Amazon brands is the platform that picks up where SmartScout stops, specifically, whether the priority is executing campaigns against the opportunities SmartScout surfaces, validating individual products before launch, building deeper keyword coverage, or connecting research

Scrape YouTube Channel Data with SerpApi
Serpapi iconSerpapiSep 15, 2026

Scrape YouTube Channel Data with SerpApi

If you’re tracking YouTube channels for competitor research, content strategy, or creator partnerships, you probably want answers for: How often is a competitor uploading? Are shorter videos performing better? Is a creator’s subscriber count actually growing? The data is all there on YouTube. But tracking all

How to scrape Zillow
Serpapi iconSerpapiSep 4, 2026

How to scrape Zillow

Scrape Zillow real estate listings with SerpApi in Python, JavaScript, Ruby, or with just plain cURL. Retrieve homes for sale, rentals, and recently sold properties in structured JSON.

Loading more related stories...

Keep reading in the app

Open the app view to save this story, compare related coverage, and continue from the same source.

Open in app