# Keyword Autocomplete Explorer - Google, YouTube, Amazon (`tiger19935/keyword-autocomplete-explorer`) Actor

Google Autocomplete scraper for keyword suggestions: mine long-tail keywords from Google, YouTube, Amazon and Bing. Expand seeds with A-Z and question prefixes, any language and country. Built for SEO and content research.

- **URL**: https://apify.com/tiger19935/keyword-autocomplete-explorer.md
- **Developed by:** [Andrew Boiko](https://apify.com/tiger19935) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.40 / 1,000 suggestion collecteds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Keyword Autocomplete Explorer - Google, YouTube, Bing, Amazon, eBay

Find long-tail keyword ideas the way real people type them. The actor reads the search suggestions of Google, YouTube, Bing, Amazon, eBay and DuckDuckGo for your seed keywords, expands them with letters, questions and prepositions, and returns a clean, deduplicated list. No API key, no account, no browser.

### What you can do

- **Six sources in one run**: Google, YouTube, Bing, Amazon, eBay, DuckDuckGo.
- **A-Z and 0-9 expansion**: "running shoes a", "running shoes b" ... for hundreds of ideas per seed.
- **Question keywords**: how, what, why, when, where, which, who, can, are, is, does, do, will, should.
- **Modifiers and prepositions**: for, with, without, near, vs, versus, best, cheap, free, online.
- **Follow suggestions**: use every suggestion as a new seed (depth 1 or 2) to map a whole topic.
- **Any language and country**: set the language and country codes (40+ combinations work, for example en-us, de-de, fr-fr, pt-br, ja-jp, ru-ru).
- **Amazon marketplaces**: com, co.uk, de, fr, es, it, ca, co.jp, in, com.au.
- **Unique mode**: one row per unique suggestion with the list of platforms that returned it and the best position - ready for clustering and prioritising.

### Typical uses

- SEO and content planning: blog topics, FAQ questions, long-tail keywords.
- YouTube and e-commerce keyword research: video titles, product listing keywords, Amazon and eBay search terms.
- PPC: build large keyword lists for ad groups.
- Market research: what people ask about a brand, product or problem.
- Feed an LLM or clustering tool with real user queries.

### Input

| Field | Description |
|---|---|
| Seed keywords | One per row (required). |
| Sources | Google, YouTube, Bing, Amazon, eBay, DuckDuckGo. |
| Expand each keyword | A-Z, 0-9, A-Z before, questions, prepositions. |
| Language and country | Two-letter codes, for example de and de. |
| Follow suggestions (depth) | 0, 1 or 2 levels. |
| Output format | One row per suggestion and source, or one row per unique suggestion. |
| Max requests | Safety limit on the number of queries. |

Example input:

```
{
    "keywords": ["running shoes"],
    "sources": ["google", "youtube", "amazon"],
    "expansions": ["alphabet", "questions"],
    "language": "en",
    "country": "us",
    "outputMode": "unique"
}
```

### Output (one row per source and suggestion)

```
{
    "keyword": "running shoes",
    "source": "google",
    "query": "running shoes for flat feet",
    "expansionType": "preposition",
    "suggestion": "running shoes for flat feet women",
    "position": 3,
    "relevance": 601,
    "depth": 0,
    "language": "en",
    "country": "us",
    "scrapedAt": "2026-10-14T08:00:00.000Z"
}
```

### Pricing

You pay per suggestion returned. Duplicates, failed queries and blocked sources are free.

| Event | Price |
|---|---|
| Suggestion returned | $0.0005 |

Volume discounts apply automatically for Bronze, Silver and Gold Apify subscribers. One seed keyword with A-Z expansion on three sources typically yields 500 to 1,500 suggestions, about $0.25 to $0.75. Set a maximum cost per run to stay in control.

### Tips

- Start with the unique output format and sort by the number of sources: ideas that appear on several platforms are usually the strongest.
- Use A-Z and questions expansions on one source first to see the volume, then add sources.
- Keep parallel requests low (3-5). If a platform starts rate-limiting, the actor skips that source for the rest of the run and keeps what it collected.
- Autocomplete shows popularity-ranked phrases but not search volume. Combine with a volume tool if you need numbers.

### Limits

- The suggestion endpoints are public but unofficial; platforms may change or limit them. The actor does not bypass rate limits or blocks.
- Suggestions depend on language, country and time; results can differ from what you see in your own browser with your history.
- Please follow the terms of each platform.

### FAQ

**Does it need a proxy?** Usually not for moderate volumes.

**Why did a source return nothing?** Some platforms limit requests from data-centre addresses. Lower the parallel requests, raise the delay, or try again later.

**Can I use it for non-English markets?** Yes, set language and country, and for Amazon the marketplace.

### More tools by the same author

- [Keyword Search Volume & Ideas](https://apify.com/tiger19935/keyword-search-volume-api): Bulk search volume, CPC and trends
- [Google News Scraper](https://apify.com/tiger19935/google-news-scraper): Google News headlines and full article text

# Actor input Schema

## `keywords` (type: `array`):

One keyword or phrase per row, for example "running shoes" or "how to learn python".

## `sources` (type: `array`):

Where to collect suggestions. Each source shows what real users type on that platform.

## `expansions` (type: `array`):

Create more queries from every seed. A-Z adds each letter after the keyword ("running shoes a" ... "running shoes z"); Questions adds how, what, why ... in front; Prepositions adds for, with, vs, near ... after it. More expansions mean many more suggestions and queries.

## `language` (type: `string`):

Two-letter language code for the suggestions, for example en, de, fr, es, pt, ru, uk, ja.

## `country` (type: `string`):

Two-letter country code for the suggestions, for example us, gb, de, fr, br, in.

## `amazonMarketplace` (type: `string`):

Which Amazon store to use for Amazon suggestions.

## `recursiveDepth` (type: `integer`):

0 = only your seeds. 1 = also use every suggestion found as a new seed. 2 = one more level. Grows fast; use with the request limit.

## `outputMode` (type: `string`):

One row per suggestion and source, or one row per unique suggestion with the list of sources that returned it (best for clustering and ranking ideas).

## `dedupe` (type: `boolean`):

Skip a suggestion that was already returned by the same source.

## `maxRequests` (type: `integer`):

Safety limit for the number of suggestion queries in the run.

## `maxConcurrency` (type: `integer`):

How many queries run at the same time. Keep it low to avoid rate limits.

## `requestDelayMs` (type: `integer`):

Pause before each query. Raise it if a source starts rate-limiting.

## Actor input object example

```json
{
  "keywords": [
    "running shoes"
  ],
  "sources": [
    "google",
    "youtube",
    "bing",
    "amazon"
  ],
  "expansions": [
    "none"
  ],
  "language": "en",
  "country": "us",
  "amazonMarketplace": "com",
  "recursiveDepth": 0,
  "outputMode": "rows",
  "dedupe": true,
  "maxRequests": 3000,
  "maxConcurrency": 5,
  "requestDelayMs": 120
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# 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 = {
    "keywords": [
        "running shoes"
    ],
    "sources": [
        "google",
        "youtube",
        "bing",
        "amazon"
    ],
    "expansions": [
        "none"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("tiger19935/keyword-autocomplete-explorer").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 = {
    "keywords": ["running shoes"],
    "sources": [
        "google",
        "youtube",
        "bing",
        "amazon",
    ],
    "expansions": ["none"],
}

# Run the Actor and wait for it to finish
run = client.actor("tiger19935/keyword-autocomplete-explorer").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "keywords": [
    "running shoes"
  ],
  "sources": [
    "google",
    "youtube",
    "bing",
    "amazon"
  ],
  "expansions": [
    "none"
  ]
}' |
apify call tiger19935/keyword-autocomplete-explorer --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,tiger19935/keyword-autocomplete-explorer"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/s0UdwZlKSLbnjfrCI/builds/OUzhtZViDYZ5ltyi4/openapi.json
