# YouTube Autocomplete Keywords: Search Suggestions | $1/1K (`one_dollar_store/youtube-autocomplete-keywords`) Actor

$1 per 1,000 results, platform usage included. Keyword ideas from YouTube search suggestions: each seed is expanded with a to z (and 0 to 9) and every unique suggestion is returned with its seed, rank, country and language. No API key.

- **URL**: https://apify.com/one_dollar_store/youtube-autocomplete-keywords.md
- **Developed by:** [One Dollar Store](https://apify.com/one_dollar_store) (community)
- **Categories:** SEO tools, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## YouTube Autocomplete Keywords: Search Suggestions for Any Seed, by Country and Language

**$1 per 1,000 suggestions. Platform usage included. No rental, no minimum.**

Type a seed keyword into YouTube's search box and see what it suggests. This actor does that for every seed you give it, then adds a to z (and optionally 0 to 9) after the seed to pull out the long tail. Each unique suggestion comes back with its seed, the exact text typed, its rank in YouTube's list, the country and the language. No YouTube account and no API key.

[Open it in Apify Console](https://console.apify.com/actors/ASE7pgLYcFbRiVCU8/input)

### What it costs

| Suggestions | This actor |
|---|---|
| 1,000 | $1.00 |
| 10,000 | $10.00 |
| 100,000 | $100.00 |

Plus $0.001 per run. One flat price, platform usage included, so there is no separate compute or proxy bill. Only suggestion rows are charged. Repeats inside one seed are removed before you are charged. A monthly refresh of 20 seeds that yields 4,000 suggestions costs about $4.00 a run.

### Why use it

- **One flat price.** The bill follows the number of suggestions and nothing else.
- **The long tail.** In our test one seed with a to z gave 255 unique suggestions from 27 searches, far more than the handful YouTube shows at once.
- **Country and language.** Suggestions differ by market, so you can set both, for 23 languages and 40 countries.
- **Rank and origin on every row.** You can see which seed and which added letter produced each idea, and where YouTube placed it.

### Quick start

1. Open the actor, type a seed keyword, press **Start**.
2. Or paste this input:

```json
{ "keywords": ["guitar lessons", "how to cook"], "expand": "letters", "language": "en", "country": "us", "maxItems": 500 }
```

3. Download the results as JSON, CSV or Excel, or read them through the API.

### Use it from code

```bash
curl -X POST "https://api.apify.com/v2/acts/one_dollar_store~youtube-autocomplete-keywords/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": ["guitar lessons"], "expand": "letters", "maxItems": 100}'
```

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("one_dollar_store/youtube-autocomplete-keywords").call(
    run_input={"keywords": ["guitar lessons"], "expand": "letters", "maxItems": 100}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["rank"], item["keyword"])
```

### Use it from an AI assistant

Claude, ChatGPT, Cursor and other assistants can call this actor through Apify's MCP server. Add it with this server address:

```
https://mcp.apify.com?tools=one_dollar_store/youtube-autocomplete-keywords
```

Then ask, for example: "Give me 100 YouTube search suggestions for 'beginner guitar' in the UK, grouped by the letter that produced them."

### Switching from another autocomplete scraper

Seeds go in `keywords` (a list). The extra searches are set with `expand` (`none`, `letters` or `lettersAndDigits`). Market is `language` (the hl setting) and `country` (the gl setting). The core output fields are `keyword`, `seed`, `rank` and `query`. Each row is one unique suggestion for one seed.

### Input

| Field | Type | Default | What it does |
|---|---|---|---|
| `keywords` | list of text | required | Seed words or phrases, one per line. |
| `expand` | text | `letters` | `none`: only the seed. `letters`: also the seed followed by a to z (27 searches). `lettersAndDigits`: also 0 to 9 (37 searches). |
| `language` | text | `en` | Interface language of the search box. |
| `country` | text | `us` | Country the suggestions are tuned for. |
| `maxItems` | number | 1000 | Most suggestions in the whole run. Minimum 10. |
| `proxyConfiguration` | proxy | off | No proxy to start with. If Google refuses requests, the actor moves to Apify datacenter proxy by itself. |

### Output fields

| Field | Meaning |
|---|---|
| `keyword` | The suggestion, as YouTube shows it. |
| `seed` | The seed keyword it came from. |
| `query` | The exact text typed into the search box, for example `guitar lessons b`. |
| `expansion` | The letter or digit added after the seed. Left out for the seed itself. |
| `rank` | Position in YouTube's list for that search, starting at 1. The seed itself and suggestions already returned earlier for the same seed are skipped, so the first row of a search can have a rank above 1. |
| `language`, `country` | The market used. |
| `scrapedAt` | When the row was read. |

A suggestion that comes up under several added letters is returned once, with the first search that produced it (the seed itself first, then a, b, c and so on). The same suggestion under two different seeds is returned once for each seed.

### Sample results

Real rows from a test run on 9 October 2026 for the seed "guitar lessons" (US, English).

```json
[
  {"keyword": "guitar lessons for beginners", "seed": "guitar lessons", "query": "guitar lessons", "rank": 2, "language": "en", "country": "US", "scrapedAt": "2026-10-09T04:26:13.248Z"},
  {"keyword": "guitar lessons for kids", "seed": "guitar lessons", "query": "guitar lessons", "rank": 3, "language": "en", "country": "US", "scrapedAt": "2026-10-09T04:26:13.310Z"},
  {"keyword": "guitar lessons app", "seed": "guitar lessons", "query": "guitar lessons a", "expansion": "a", "rank": 3, "language": "en", "country": "US", "scrapedAt": "2026-10-09T04:26:13.612Z"},
  {"keyword": "guitar lessons at guitar center", "seed": "guitar lessons", "query": "guitar lessons a", "expansion": "a", "rank": 4, "language": "en", "country": "US", "scrapedAt": "2026-10-09T04:26:13.671Z"},
  {"keyword": "guitar lessons by brian", "seed": "guitar lessons", "query": "guitar lessons b", "expansion": "b", "rank": 3, "language": "en", "country": "US", "scrapedAt": "2026-10-09T04:26:14.028Z"},
  {"keyword": "guitar lessons basic", "seed": "guitar lessons", "query": "guitar lessons b", "expansion": "b", "rank": 4, "language": "en", "country": "US", "scrapedAt": "2026-10-09T04:26:14.060Z"}
]
```

### Limits

- **About 10 suggestions per search.** YouTube returns at most around 10 for each text typed, so volume comes from the added letters and digits, not from one search. A seed with `letters` is 27 searches.
- **Suggestions, not search volume.** The list shows what people type, in YouTube's order. It does not give search counts, competition or trends.
- **Suggestions change.** They depend on the day, the country and the language, so two runs can differ a little.
- **Added letters follow the seed.** The actor types the seed, a space and one letter (`guitar lessons b`). It does not put letters or question words in front of the seed.
- **Not logged in.** Suggestions are those a visitor without a YouTube account sees, with no personal history.
- **Datacenter proxy fallback.** The actor starts without a proxy. If Google refuses three requests, the rest of the run goes through Apify datacenter proxy, which is covered by the price. A search that still fails after four tries is skipped and listed in the run summary under `failedQueries`.
- **Pace.** About four searches run at a time. A seed with `letters` took 10 to 30 seconds in our tests.

### FAQ

**How much does it cost to collect 10,000 YouTube keyword ideas?**
$10, plus $0.001 for each run.

**Do I pay for compute or proxy on top?**
No. Platform usage, including the proxy if it is needed, is included in the $1 per 1,000 price.

**How many suggestions does one seed give?**
In our test, 255 unique suggestions for "guitar lessons" with letters a to z. It depends on the seed. A narrow phrase can give fewer.

**Do I need a Google or YouTube account or an API key?**
No. The actor reads the same suggestions that YouTube's search box shows to any visitor.

**Can I use it for other languages?**
Yes. Pick one of 23 languages and one of 40 countries. Write your seeds in that language.

**Is it legal?**
The actor reads public search suggestions that YouTube shows to anyone without logging in. How you use them is up to you: follow the terms of the service and the law where you live.

**Is this an official YouTube or Google product?**
No. It is an independent tool and is not affiliated with or endorsed by YouTube or Google.

**Do I need an Apify account?**
Yes. Actors run from an Apify account, and a free account is enough to start: it includes $5 of platform usage every month. You can [sign up here](https://www.apify.com?fpr=ymnoit). This is a referral link and it costs you nothing.

**Is there a limit on the free plan?**
Yes. A run started from a free plan account delivers the first 10 results, then ends with a message and a link to the plans. Any paid plan returns everything you ask for, up to your own limit. The price per result is the same on every plan.

### More from The One Dollar Store

Every actor here costs $1 per 1,000 results, platform usage included. See the whole store: https://apify.com/one_dollar_store

**Google and search**

- [Google News Scraper](https://apify.com/one_dollar_store/google-news-articles-scraper): News articles by keyword, topic or country.
- [Google Maps Leads Scraper](https://apify.com/one_dollar_store/google-maps-leads-scraper): Local businesses with phones, websites and emails.
- [Google Ads Transparency Scraper](https://apify.com/one_dollar_store/google-ads-transparency-scraper): Ads any advertiser or domain runs on Google.

**Maps and local business**

- [2GIS Business Scraper](https://apify.com/one_dollar_store/2gis-business-scraper): Businesses in Russia, Central Asia and the UAE.

### Changelog

- October 2026: first release.

# Actor input Schema

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

Words or phrases to start from, one per line. Each is typed into YouTube's search box the way a visitor would, and the suggestions are collected.

## `expand` (type: `string`):

How many extra searches to run per seed. Letters adds a to z after the seed (27 searches in all). Letters and digits also adds 0 to 9 (37 searches). None returns only the suggestions for the seed itself.

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

Interface language of the YouTube search box (the hl setting). It changes which suggestions appear.

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

Country the suggestions are tuned for (the gl setting).

## `maxItems` (type: `integer`):

The run stops after this many suggestions in total. Minimum 10.

## `proxyConfiguration` (type: `object`):

Off by default: the suggestions load without a proxy. If Google starts refusing requests, the actor switches to Apify datacenter proxy by itself for the rest of the run and says so in the log. You can also switch it on from the start.

## Actor input object example

```json
{
  "keywords": [
    "guitar lessons",
    "how to cook"
  ],
  "expand": "letters",
  "language": "en",
  "country": "us",
  "maxItems": 500,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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": [
        "guitar lessons",
        "how to cook"
    ],
    "expand": "letters",
    "language": "en",
    "country": "us",
    "maxItems": 500,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("one_dollar_store/youtube-autocomplete-keywords").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": [
        "guitar lessons",
        "how to cook",
    ],
    "expand": "letters",
    "language": "en",
    "country": "us",
    "maxItems": 500,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("one_dollar_store/youtube-autocomplete-keywords").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": [
    "guitar lessons",
    "how to cook"
  ],
  "expand": "letters",
  "language": "en",
  "country": "us",
  "maxItems": 500,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call one_dollar_store/youtube-autocomplete-keywords --silent --output-dataset

```

## MCP server setup

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

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/ASE7pgLYcFbRiVCU8/builds/KwMeEu94T3q6dPvu0/openapi.json
