# Google Autocomplete Keyword Scraper (`kawsar/google-autocomplete-keyword-scraper`) Actor

Collect Google autocomplete keyword suggestions into a clean dataset instantly. Enter seed terms, use alphabet expansion for long-tail research, set language and country locales, and export results as JSON, CSV, or Excel for your SEO and market analysis workflows

- **URL**: https://apify.com/kawsar/google-autocomplete-keyword-scraper.md
- **Developed by:** [Kawsar](https://apify.com/kawsar) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.99 / 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.
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

## Google Autocomplete Keyword Scraper

![Google Autocomplete Keyword Scraper cover](https://images.bigibyte.com/cdn-cgi/image/width=1260,height=540,fit=cover,format=webp/apify-actors-covers/google-autocomplete-keyword-scraper-cover.png)

Collect Google autocomplete suggestions for your seed keywords and turn them into structured keyword research data. Discover related search phrases, expand keywords using letters and numbers, and export results in JSON, CSV, Excel, or other supported Apify dataset formats.

### What It Does

This actor retrieves autocomplete suggestions for each seed keyword and stores them as individual dataset records. Each result includes the original seed, suggested keyword, result position and collection timestamp.

### Key Features

- Collect autocomplete suggestions for multiple seed keywords.
- Expand keywords using alphabet and numeric combinations.
- Retrieve long-tail keyword ideas from different search queries.
- Configure language and country preferences.
- Limit the number of collected results.
- Export structured keyword data in multiple formats.

### Collection Modes

- **Keyword Suggestions:** Retrieves autocomplete suggestions for each seed keyword until the configured item limit is reached.
- **Alphabet Expansion:** Queries each seed with letters `a-z` and numbers `0-9` to discover additional keyword variations.
- **Expand Alphabet:** Can also be enabled in suggest mode to append letters `a-z` to each seed.

### Input Example

```json
{
  "mode": "suggest",
  "keywords": [
    "python"
  ],
  "hl": "en",
  "gl": "us",
  "maxItems": 50,
  "requestDelaySecs": 1
}
```

### Output Example

```json
  {
    "seed": "java",
    "query": "java",
    "suggestion": "java",
    "position": 1,
    "subtypes": [
      512,
      433
    ],
    "scraped_at": "2026-11-02T05:56:28.496380+00:00"
  }
```

### Output Fields

| Field | Description |
|---|---|
| `seed` | Original keyword submitted for collection |
| `query` | Which is give you|
| `suggestion` | Autocomplete keyword suggestion |
| `position` | Position of the suggestion in the returned results |
| `subtypes` | Your query all subtypes |
| `scraped_at` | Timestamp when the result was collected |

The dataset overview highlights the seed keyword, suggestion, position, and source URL.

### Use Cases

- **Seed Keyword Expansion:** Generate related keyword ideas from a small list of primary keywords.
- **Long-Tail Keyword Research:** Discover more specific search phrases using alphabet expansion.
- **SEO Research:** Identify autocomplete suggestions for content planning and keyword analysis.
- **Locale Comparison:** Compare suggestions using different language (`hl`) and country (`gl`) settings.
- **Scheduled Monitoring:** Run recurring collections to refresh keyword research datasets.

### Frequently Asked Questions

**What does this actor collect?**

It collects Google autocomplete suggestions associated with your seed keywords, including each suggestion's position and source information.

**Can I submit multiple seed keywords?**

Yes. Provide multiple keywords in the `keywords` input to collect suggestions for each seed.

**How does alphabet expansion work?**

Alphabet expansion appends letters `a-z` and numbers `0-9` to each seed keyword. The Expand Alphabet option in suggest mode appends letters `a-z` only.

**Can I collect suggestions for a specific country or language?**

Yes. Use `gl` to specify the country and `hl` to specify the language for autocomplete requests.

**What happens if a query fails?**

The actor continues processing and stores an error record containing the status and error message instead of stopping the entire run.

**What export formats are supported?**

You can export results as JSON, CSV, Excel, and other formats supported by Apify datasets.

**Can I schedule keyword collection?**

Yes. Configure an Apify schedule to automatically repeat collections at your preferred interval.

### Trademark Notice

Google and related names, logos, and trademarks belong to their respective owners. They are referenced only to identify the source of the autocomplete suggestions. This actor is not affiliated with or endorsed by Google.

### Disclaimer

This actor is an independent keyword research tool. The availability and relevance of autocomplete suggestions depend on the source and the selected language and country settings. Users are responsible for using collected information in accordance with applicable laws and source policies.

### Is Web Scraping Legal?

This actor collects publicly accessible autocomplete suggestions without bypassing login screens, paywalls, or technical security measures. How collected information can be used depends on applicable laws and the source website's policies.

- **Personal Data:** Autocomplete suggestions may occasionally contain personal or identifying information. Handle collected data responsibly and comply with applicable privacy laws, including GDPR or CCPA where relevant.
- **Copyright and Licensing:** Avoid unauthorized reproduction or redistribution of copyrighted content. Review applicable source policies before using collected information commercially.
- **Platform Terms and Rate Limits:** Collect responsibly, respect source policies, and avoid excessive requests.
- **Disclaimer:** This information is general guidance, not legal advice. Consult a qualified legal professional if you are unsure about your intended use.

[Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

# Actor input Schema

## `mode` (type: `string`):

What to scrape.

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

Seed keywords.

## `expandAlphabet` (type: `boolean`):

Also query seed plus a through z.

## `hl` (type: `string`):

Language code passed as hl.

## `gl` (type: `string`):

Country code passed as gl.

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

Stop after this many successful rows. Hard max is 1000.

## `requestDelaySecs` (type: `number`):

Seconds to wait between requests.

## `userAgent` (type: `string`):

User-Agent header sent with each request.

## `timeoutSecs` (type: `integer`):

Overall run budget in seconds.

## `requestTimeoutSecs` (type: `integer`):

Per-request timeout in seconds.

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

Optional proxy. Leave off unless you need it.

## Actor input object example

```json
{
  "mode": "suggest",
  "keywords": [
    "python"
  ],
  "expandAlphabet": false,
  "hl": "en",
  "gl": "us",
  "maxItems": 100,
  "requestDelaySecs": 1,
  "userAgent": "ActorResearch/1.0",
  "timeoutSecs": 300,
  "requestTimeoutSecs": 30,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

Dataset rows in the overview table.

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

Full dataset for this run.

## `items` (type: `string`):

Dataset items as JSON.

# 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": [
        "python"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("kawsar/google-autocomplete-keyword-scraper").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": ["python"] }

# Run the Actor and wait for it to finish
run = client.actor("kawsar/google-autocomplete-keyword-scraper").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": [
    "python"
  ]
}' |
apify call kawsar/google-autocomplete-keyword-scraper --silent --output-dataset

```

## MCP server setup

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

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/erxqNPCgzMIqLSJSt/builds/SQRu8QoUI3U8L9Mdi/openapi.json
