# Google Autocomplete Suggestions (`maximedupre/google-autocomplete-suggestions`) Actor

Collect current Google autocomplete suggestions from seed phrases. Choose a language and country, add alphabet or question expansion, and save lookup context, search links, and optional entity details.

- **URL**: https://apify.com/maximedupre/google-autocomplete-suggestions.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** SEO tools, Developer tools, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.01 / 1,000 autocomplete suggestions

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

### 🔎 Google autocomplete suggestions for search ideas

Content planners, SEO writers, product researchers, and developers can use Google Autocomplete Suggestions to collect current autocomplete phrases from one or more seed phrases. Each saved row keeps the suggestion, the first lookup context, its position, the source URL, a direct Google Search link, and optional entity details when Google returns them. Use the structured rows to plan content, expand search ideas, or pass source-linked phrases into a workflow.

- Review a seed phrase in **[Google Autocomplete Suggestions](https://apify.com/maximedupre/google-autocomplete-suggestions/examples/google-autocomplete-suggestions)**.
- Send several phrases to **[Google Autocomplete API](https://apify.com/maximedupre/google-autocomplete-suggestions/examples/google-autocomplete-api)** for a structured export.
- Open phrase links with **[Autocomplete Searches and URLs](https://apify.com/maximedupre/google-autocomplete-suggestions/examples/autocomplete-searches-and-urls)**.
- Explore broader ideas with **[Autocomplete With Trending Searches](https://apify.com/maximedupre/google-autocomplete-suggestions/examples/autocomplete-with-trending-searches)**.
- Check one focused phrase with **[Autocomplete Search](https://apify.com/maximedupre/google-autocomplete-suggestions/examples/autocomplete-search)**.

#### 📦 Google autocomplete rows

Each dataset row contains one accepted Google autocomplete suggestion. It keeps the exact lookup phrase, the position, the count returned for that lookup, the public source URL, and a direct Google Search link. When Google provides entity context, the row also includes its name, category, and thumbnail URL. The `dataset` link in the run output opens these structured rows.

#### ▶️ Run Google autocomplete lookups

1. Add one or more seed phrases.
2. Choose one language and country for every lookup in the run.
3. Turn on alphabet expansion or question expansion when you want more lookup variants. Either option can increase the number of lookups and saved suggestions.
4. Set **Maximum suggestions** if you want a cap. Leave it empty to get all available results until the source is exhausted.
5. Start the Actor, then open the dataset link in the run output.

#### ⚙️ Input

**Default input**

This example is copied from a successful current-beta default-input run.

```json
{
  "seedPhrases": [
    "coffee"
  ],
  "languageCode": "en",
  "countryCode": "US",
  "alphabetExpansion": true,
  "questionExpansion": true
}
```

**Input fields**

| Field | Type | What it does |
| --- | --- | --- |
| `seedPhrases` | array of strings | Seeds that start the Google autocomplete lookups. Each phrase starts its own lookup. |
| `languageCode` | string | Language code used for every lookup, such as `en`. |
| `countryCode` | string | Two-letter country code used for every lookup, such as `US`. |
| `alphabetExpansion` | boolean | Adds alphabet-based lookup variants for each seed when true. |
| `questionExpansion` | boolean | Adds research and buyer-intent question variants for each seed when true. |
| `maxItems` | integer or empty | Optional cap on saved suggestions. Leave it empty to get all available results until the source is exhausted. |

#### 🧾 Output

The run output provides a link to the default dataset.

**Run output**

| Field | Type | What it does |
| --- | --- | --- |
| `dataset` | URL string | Opens the structured Google autocomplete suggestions from the run. |

**Suggestion row**

Each dataset item uses the shape below. `entity` and its nested fields are optional and appear when Google returns entity context.

| Field | Type | What it does |
| --- | --- | --- |
| `suggestion` | string | Autocomplete suggestion text returned by Google. |
| `lookup` | object | Context for the first lookup that returned the suggestion. |
| `lookup.seedPhrase` | string | Submitted seed phrase that started the lookup. |
| `lookup.lookupPhrase` | string | Exact phrase sent to Google for the lookup. |
| `lookup.languageCode` | string | Language code used for the lookup. |
| `lookup.countryCode` | string | Two-letter country code used for the lookup. |
| `lookup.position` | integer | Suggestion position in that lookup, starting at 1. |
| `lookup.suggestionCount` | integer | Number of predictions returned for that lookup. |
| `lookup.sourceUrl` | URL string | Public Google URL used for the lookup. |
| `searchUrl` | URL string | Direct Google Search link for the suggestion. |
| `entity` | object, optional | Entity details returned by Google when available. |
| `entity.name` | string, optional | Entity name returned by Google. |
| `entity.category` | string, optional | Entity category returned by Google when available. |
| `entity.thumbnailUrl` | URL string, optional | Public thumbnail URL returned by Google. |

**Example row**

This complete row comes from a successful current-beta run.

```json
{
  "suggestion": "coffee",
  "lookup": {
    "seedPhrase": "coffee",
    "lookupPhrase": "coffee",
    "languageCode": "en",
    "countryCode": "US",
    "position": 5,
    "suggestionCount": 10,
    "sourceUrl": "https://www.google.com/complete/search?client=gws-wiz&q=coffee&hl=en&gl=US"
  },
  "searchUrl": "https://www.google.com/search?q=coffee&hl=en&gl=US",
  "entity": {
    "name": "Coffee",
    "category": "Beverage",
    "thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSaPTFJVzX2zzXLv953V6r3m8CrsVBk617TtoAB70zhw2p8RC_N8fJVJ1tAyw&s=10"
  }
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. The primary event is **Autocomplete suggestion**. The configured price is $0.00001 for each suggestion saved to the dataset. `maxItems` can cap saved suggestions and possible charges.

#### 🔌 Integrations

Use the `dataset` link in the run output to open the saved rows. You can export them from Apify or read them through the Apify API for programmatic workflows.

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### What is the difference between autocomplete suggestions and search results?

Autocomplete suggestions are phrases Google shows as you type. This Actor does not return Google result pages, rankings, search volume, keyword difficulty, or paid-ad metrics.

##### Can I use one run for different languages or countries?

No. One language and one country apply to every lookup in a run. Start another run for a different locale.

##### What do the expansion options do?

Alphabet expansion adds alphabet-based lookup variants for each seed. Question expansion adds research and buyer-intent question variants. Either can increase the number of lookups and suggestions.

##### What if Google returns fewer suggestions or none?

Some lookups can return fewer suggestions or none. The dataset includes only suggestions returned by the source, and it does not invent rows.

##### Does every row include entity details?

No. `entity` is optional and appears when Google returns entity context. The suggestion, lookup, and search link can still be present without it.

##### Does each row include a source URL and a search URL?

Yes. `lookup.sourceUrl` is the public Google URL used for the lookup, and `searchUrl` opens a Google Search for the suggestion.

##### Can I leave Maximum suggestions empty?

Yes. Leaving `maxItems` empty returns all available results until the source is exhausted. The field still allows a cap when you want one.

##### Does this return search volume or keyword difficulty?

No. It returns autocomplete suggestions and lookup context, not search-volume, keyword-difficulty, ranking, or popularity metrics.

##### Do I need a Google API key?

The public input has no credential field. The Actor uses public Google autocomplete data and returns the public lookup URL in each row.

##### Can I use the results in a program?

Yes. Open the dataset through the run output or read it with the Apify API. The rows use the documented JSON field names.

### 📝 Changelog

**v0.0** (01-10-2026)

- Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~google-autocomplete-suggestions/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [TikTok Keywords Discovery Tool](https://apify.com/maximedupre/tiktok-keywords-discovery-tool) - Find TikTok autocomplete phrases for social content planning.
- [Pinterest Keyword Autocomplete Scraper](https://apify.com/maximedupre/pinterest-keyword-scraper) - Collect Pinterest autocomplete phrases for pin and board planning.
- [Amazon Keywords Discovery Tool](https://apify.com/maximedupre/amazon-keywords-discovery-tool) - Explore Amazon autocomplete wording for listing and product research.
- [Youtube Keywords Discovery Tool](https://apify.com/maximedupre/youtube-keywords-discovery-tool) - Find YouTube autocomplete phrases for video topic planning.
- [Google Autocomplete Suggestions API](https://apify.com/khadinakbar/google-autocomplete-api) - Try another Google autocomplete API workflow for comparison.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `seedPhrases` (type: `array`):

Enter one or more seed phrases. Each phrase starts a separate Google autocomplete lookup.

## `languageCode` (type: `string`):

Choose the language code used for every lookup, such as en.

## `countryCode` (type: `string`):

Choose the two-letter country code used for every lookup, such as US.

## `alphabetExpansion` (type: `boolean`):

Turn this on to add alphabet-based lookup variants for each seed. It can increase the number of lookups.

## `questionExpansion` (type: `boolean`):

Turn this on to add research and buyer-intent question variants for each seed. It can increase the number of lookups.

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

Optional cap on saved suggestions. Leave this empty to get all available results until the source is exhausted.

## Actor input object example

```json
{
  "seedPhrases": [
    "coffee",
    "running shoes"
  ],
  "languageCode": "en",
  "countryCode": "US",
  "alphabetExpansion": false,
  "questionExpansion": false,
  "maxItems": 100
}
```

# Actor output Schema

## `dataset` (type: `string`):

Open the structured Google autocomplete suggestions.

# 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 = {
    "seedPhrases": [
        "coffee"
    ],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/google-autocomplete-suggestions").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 = {
    "seedPhrases": ["coffee"],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/google-autocomplete-suggestions").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 '{
  "seedPhrases": [
    "coffee"
  ],
  "maxItems": 100
}' |
apify call maximedupre/google-autocomplete-suggestions --silent --output-dataset

```

## MCP server setup

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

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/k87adMcXFjgcQgjEe/builds/TKKsitUwgAQX4Pm46/openapi.json
