# Amazon Search Autocomplete Api (`scrapers-hub/amazon-search-autocomplete-api`) Actor

🔎 Amazon Search Autocomplete API fetches real-time autocomplete suggestions to power smarter search, SEO, and product discovery. 🚀 Improve rankings, boost conversions, and enhance UX with fast, reliable query insights.

- **URL**: https://apify.com/scrapers-hub/amazon-search-autocomplete-api.md
- **Developed by:** [Scrapers Hub](https://apify.com/scrapers-hub) (community)
- **Categories:** SEO tools, E-commerce, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.01 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### Amazon Autocomplete Scraper 🔍

**Amazon Autocomplete Scraper** is a focused tool that scrapes **Amazon autocomplete suggestions** for a given query—helping you quickly uncover keyword ideas for Amazon keyword research and search autocomplete keyword extraction at scale. Whether you're a marketer, researcher, or data analyst, this actor supports the Amazon search autocomplete scraper workflow by turning one starting phrase into many related suggestions. It’s a great option for anyone looking to scrape Amazon autocomplete suggestions efficiently, saving you hours of manual work.

---

### Why choose Amazon Autocomplete Scraper?

| Feature | Benefit |
|---|---|
| ✅ **Autocomplete keyword scraping for a given query** | Quickly get Amazon autocomplete keyword results for your seed term |
| ✅ **Configurable result size (`max_results`)** | Control how many suggestions you collect per query |
| ✅ **Optional prefix/suffix expansion (`use_prefix`, `use_suffix`)** | Generate broader coverage for an Amazon keyword suggestion scraper workflow |
| ✅ **Built-in proxy support for reliable scraping** | Improves consistency when scraping public web data |
| ✅ **Structured dataset output** | Produces clean JSON records you can analyze or export |
| ✅ **Scales across many generated queries in one run** | Save time by collecting suggestions for the whole expanded query set |

---

### Key features

- 🔎 **Autocomplete suggestions extraction**: Collects suggestion values for each query you provide
- 🎛️ **Flexible controls for coverage**: Use `use_prefix` and/or `use_suffix` to expand your search space
- 📊 **Result limiting with `max_results`**: Returns up to the number of suggestions you request per query
- 🧩 **Query-aware records**: Each dataset record includes the `query` and a numbered set of suggestions (`suggestion_01`, `suggestion_02`, …)
- 🛡️ **Resilience for real-world scraping**: Includes robustness patterns so runs complete reliably over time
- 💾 **Easy-to-export JSON dataset**: Outputs directly into the default dataset in a consistent structure
- 🤖 **Automation-ready**: Designed for repeatable runs—ideal for building an Amazon autocomplete data scraper pipeline

---

### Input

Provide input via an `input.json` file. Example structure:

```json
{
  "query": "apple watch",
  "max_results": 10,
  "use_prefix": false,
  "use_suffix": false
}
````

#### Input Fields

| Field | Required | Description |
|---|---|---|
| query | Yes | The search term to get suggestions for (your starting point for scraping Amazon autocomplete suggestions). |
| max\_results | No | The maximum number of suggestions to return for each query. |
| use\_prefix | No | Whether to add alphabetic prefixes to the query to expand suggestion coverage. |
| use\_suffix | No | Whether to add alphabetic suffixes to the query to expand suggestion coverage. |

***

### Output

The actor saves the collected results into the default dataset as a JSON array.

```json
[
  {
    "query": "apple watch",
    "suggestion_01": "apple watch series 10",
    "suggestion_02": "apple watch deals",
    "suggestion_03": "apple watch bands",
    "suggestion_04": "apple watch waterproof",
    "suggestion_05": "apple watch apple care"
  }
]
```

#### Output Fields

| Field | Type | Description |
|---|---|---|
| query | string | The query term used to fetch autocomplete suggestions (original and any generated prefix/suffix queries). |
| suggestion\_01 | string | The first suggestion value returned for that query. |
| suggestion\_02 | string | The second suggestion value returned for that query. |
| suggestion\_03 | string | The third suggestion value returned for that query. |
| suggestion\_04 | string | The fourth suggestion value returned for that query. |
| suggestion\_05 | string | The fifth suggestion value returned for that query. |
| suggestion\_06 | string | The sixth suggestion value returned for that query (present when requested by `max_results`). |
| suggestion\_07 | string | The seventh suggestion value returned for that query (present when requested by `max_results`). |
| suggestion\_08 | string | The eighth suggestion value returned for that query (present when requested by `max_results`). |
| suggestion\_09 | string | The ninth suggestion value returned for that query (present when requested by `max_results`). |
| suggestion\_10 | string | The tenth suggestion value returned for that query (present when requested by `max_results`). |
| error\_message | ❌ | Not returned by this actor as no failure object fields are pushed to the dataset. |

> Note: The dataset records include `suggestion_01` through `suggestion_XX` where `XX` depends on `max_results`.

***

### How to use Amazon Autocomplete Scraper (via Apify Console)

1. **Open Apify Console**\
   Log in at [console.apify.com](https://console.apify.com) and open the **Actors** section.

2. **Find Amazon Autocomplete Scraper**\
   Search for **Amazon Autocomplete Scraper** and open the actor page.

3. **Go to the INPUT panel**\
   Use the built-in form to set your starting `query` (required).

4. **Set your collection limits and expansion options**\
   Enter `max_results` (default is 10). If you want broader coverage like an Amazon autocomplete keyword research tool workflow, enable `use_prefix` and/or `use_suffix`.

5. **(Recommended) Use proxy support**\
   Enable the actor’s proxy configuration as needed to keep scraping stable when pulling from public web data.

6. **Run the actor**\
   Click **Run**. Watch the logs to confirm that suggestions are being fetched and records are being written.

7. **Open the OUTPUT dataset**\
   After completion, open the default dataset to view the JSON records and numbered suggestions.

8. **Export for analysis**\
   Export the results to your preferred format (commonly JSON/CSV) and plug them into your keyword research and Amazon autocomplete scraping software workflow.

No coding required—get actionable Amazon autocomplete keyword data in minutes.

***

### Advanced features & SEO optimization

- 🚀 **Engineered for Amazon autocomplete keyword research tool workflows**: The actor is specifically built for scraping Amazon autocomplete suggestions, turning one seed query into structured, analyzable output.
- 🔤 **Broad coverage with prefix and suffix expansion**: Use `use_prefix` and `use_suffix` to expand suggestion extraction for an Amazon autosuggest keyword extractor approach.
- 🧾 **Consistent numbered fields for easy import**: Suggestions are stored as `suggestion_01`, `suggestion_02`, etc., making it simple to map into spreadsheets or databases.
- 🧠 **Log-friendly visibility during runs**: The actor logs suggestion sets for each query, helping you validate results quickly.

***

### Best use cases

- 📈 **SEO and PPC researchers**: Generate fresh Amazon keyword ideas by scraping Amazon search autocomplete suggestions from a single starting term.
- 🛒 **Amazon sellers**: Build lists of relevant product and category keywords using an Amazon autosuggest scraper approach.
- 🧠 **Content strategists**: Expand topic coverage by finding related search phrases (great for an Amazon autocomplete keyword scraper workflow).
- 📊 **Data analysts**: Load structured suggestions into your pipeline to compare keyword variations across runs.
- 🧰 **Keyword tooling teams**: Automate enrichment as part of an Amazon autocomplete data scraper pipeline feeding reporting dashboards.
- 💡 **Growth marketers**: Rapidly test keyword direction by collecting suggestions for multiple query variations in one run.

***

### Technical specifications

- **Supported Input Formats**
  - ✅ JSON input with: `query`, `max_results`, `use_prefix`, `use_suffix`
- **Proxy Support**
  - ✅ Built-in proxy support for reliable scraping of publicly available data
- **Retry Mechanism**
  - ✅ Includes resilience patterns for scraping stability (details handled internally)
- **Dataset Structure**
  - ✅ Default dataset with JSON records containing `query` and `suggestion_01` … `suggestion_XX`
- **Rate Limits & Performance**
  - ✅ Performance depends on network conditions and the size of the generated query set
- **Limitations**
  - ❌ Only suggestions for the provided `query` (and optional generated prefix/suffix variations) are returned
  - ❌ No dataset field for `error_message` is pushed by this actor

***

### FAQ

#### What does Amazon Autocomplete Scraper return?

✅ It returns a JSON dataset where each record includes your `query` plus numbered suggestion fields like `suggestion_01`, `suggestion_02`, and so on (up to `max_results`). This is what you use as an Amazon autocomplete keyword extractor output.

#### Do I need to provide multiple queries?

❌ No. You provide a single required `query`, and optionally enable `use_prefix` and/or `use_suffix` to generate additional queries automatically.

#### How do I control how many suggestions I get?

You set `max_results`. The actor uses it to limit how many suggestion values it stores per query record.

#### Can I use this for Amazon keyword suggestion scraper workflows?

✅ Yes. This actor is designed to scrape Amazon autocomplete suggestions and output them in a structured way that’s easy to incorporate into keyword research and keyword expansion processes.

#### Can I integrate it into a larger automation pipeline?

✅ Yes. Because the output is a consistent JSON dataset, it’s straightforward to integrate into reporting, database imports, and other automation steps used in an Amazon autocomplete API workflow.

#### Do I need special authentication or login?

❌ This actor is intended to scrape suggestions from publicly available sources and does not require you to provide credentials via the input schema.

#### Is this compliant for legal and policy use?

✅ The actor only works with publicly accessible data. Still, you should ensure your usage complies with applicable laws (for example GDPR/CCPA), platform terms, and your internal compliance requirements.

#### What if a query returns fewer suggestions?

The actor will store whatever suggestion values it receives up to your requested `max_results`. If none are returned for a query, the suggestion fields will be absent for that record.

***

### Support & feature requests

If you’re using **Amazon Autocomplete Scraper** and want enhancements or run into issues, share feedback—your ideas help improve the actor.

- 💡 **Feature Requests**: Consider upgrades like CSV-friendly output formatting, support for additional expansion strategies, or more granular control over how results are structured for tools that need an Amazon autocomplete scraping script workflow.
- 📧 **Contact**: Reach out at <dataforleads@gmail.com> for support and feature requests.

Thanks in advance—feature requests and real-world feedback shape the roadmap.

***

### Closing CTA / Final thoughts

*If you’re looking for an SEO-optimized Amazon Autocomplete Scraper that turns autocomplete research into clean, export-ready data, this is the fastest path from seed keyword to structured suggestions.*

***

### Disclaimer

**This tool only accesses publicly accessible sources.** It does not access private profiles, authenticated data, or password-protected content.

You are responsible for ensuring your use complies with applicable laws (including GDPR/CCPA where relevant), spam regulations, and the platforms’ terms of service. For any data-removal requests, contact <dataforleads@gmail.com>.

Use **Amazon Autocomplete Scraper** responsibly, ethically, and for legitimate purposes only.

# Actor input Schema

## `query` (type: `string`):

The search term to get suggestions for.

## `max_results` (type: `integer`):

The maximum number of suggestions to return for each query.

## `use_prefix` (type: `boolean`):

Whether to add alphabetic prefixes to the query.

## `use_suffix` (type: `boolean`):

Whether to add alphabetic suffixes to the query.

## Actor input object example

```json
{
  "query": "apple watch",
  "max_results": 10,
  "use_prefix": false,
  "use_suffix": false
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers-hub/amazon-search-autocomplete-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("scrapers-hub/amazon-search-autocomplete-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call scrapers-hub/amazon-search-autocomplete-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers-hub/amazon-search-autocomplete-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Search Autocomplete Api",
        "description": "🔎 Amazon Search Autocomplete API fetches real-time autocomplete suggestions to power smarter search, SEO, and product discovery. 🚀 Improve rankings, boost conversions, and enhance UX with fast, reliable query insights.",
        "version": "1.0",
        "x-build-id": "60loDSH59et4rAmH9"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers-hub~amazon-search-autocomplete-api/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers-hub-amazon-search-autocomplete-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapers-hub~amazon-search-autocomplete-api/runs": {
            "post": {
                "operationId": "runs-sync-scrapers-hub-amazon-search-autocomplete-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapers-hub~amazon-search-autocomplete-api/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers-hub-amazon-search-autocomplete-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "query"
                ],
                "properties": {
                    "query": {
                        "title": "Query",
                        "type": "string",
                        "description": "The search term to get suggestions for.",
                        "default": "apple watch"
                    },
                    "max_results": {
                        "title": "Max Results",
                        "type": "integer",
                        "description": "The maximum number of suggestions to return for each query.",
                        "default": 10
                    },
                    "use_prefix": {
                        "title": "Use Prefix",
                        "type": "boolean",
                        "description": "Whether to add alphabetic prefixes to the query.",
                        "default": false
                    },
                    "use_suffix": {
                        "title": "Use Suffix",
                        "type": "boolean",
                        "description": "Whether to add alphabetic suffixes to the query.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
