Use this Google keyword scraper to generate public keyword ideas from seed topics and export them as structured JSON, CSV, or Excel. It is a focused keyword research tool for long-tail discovery, localized content planning, and keyword-list expansion without a Google Ads login. It does not claim to provide Google keyword volume.
Example input
{
"keywords": ["running shoes"],
"country": "us",
"language": "en",
"maxResults": 20,
"expandAlphabet": true
}
Example output
{
"keyword": "running shoes for women",
"seedKeyword": "running shoes",
"country": "us",
"language": "en",
"source": "Google Autocomplete",
"queryVariant": "running shoes",
"sourceRank": 1
}
What data it exports
| Field | Description |
|---|---|
keyword |
Public keyword suggestion |
seedKeyword |
Original input seed |
country |
Requested two-letter country code |
language |
Requested two-letter language code |
source |
Public source provenance |
queryVariant |
Exact seed expansion that produced the suggestion |
sourceRank |
Position in the source response |
This Actor does not invent search volume, CPC, competition, or difficulty. Those metrics are not available from the anonymous public suggestion source and are therefore not advertised or returned.
Input settings
| Setting | Description | Default |
|---|---|---|
keywords |
One to 20 seed topics | required |
country |
Two-letter country code | us |
language |
Two-letter language code | en |
maxResults |
Unique ideas to save (1–500) | 50 |
expandAlphabet |
Expand each seed with a–z variants | true |
Who is it for?
This Actor is for SEO specialists, content teams, ecommerce marketers, agencies, and developers who need a repeatable way to turn seed topics into exportable public keyword ideas.
Use cases
- Build long-tail topic lists for editorial planning
- Compare suggestions across countries and languages
- Discover phrasing for category pages, FAQs, and ads
- Feed keyword ideas into spreadsheets, warehouses, or downstream SEO tools
Tips and limits
- Use one focused seed at a time when you want the maximum number of ideas for that topic.
- Disable alphabet expansion for a faster, narrower result set.
- Suggestions reflect the public source at run time and can vary by locale and over time.
- A source rate limit can produce partial output; already saved ideas are preserved.
API usage
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~google-keywords-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords":["running shoes"],"country":"us","language":"en","maxResults":20}'
Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/google-keywords-scraper').call({
keywords: ['running shoes'], country: 'us', language: 'en', maxResults: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
Python
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/google-keywords-scraper').call(run_input={
'keywords': ['running shoes'], 'country': 'us', 'language': 'en', 'maxResults': 20,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
Use the completed run's dataset ID to download JSON, JSONL, CSV, or Excel.
MCP and agents
Connect through Apify MCP so an AI agent can generate keyword lists as part of a research workflow.
claude mcp add apify --transport http "https://mcp.apify.com/?tools=fetch_cat/google-keywords-scraper"
Or add this server configuration to an MCP-compatible client:
{
"mcpServers": {
"apify": {"url": "https://mcp.apify.com/?tools=fetch_cat/google-keywords-scraper"}
}
}
Example prompts:
- “Generate 50 public keyword ideas for sustainable running shoes in the US.”
- “Compare public suggestion phrasing for email marketing in the US and UK.”
Support
Open an issue from the Actor's Issues tab with the input (excluding secrets), expected behavior, and run ID. We will investigate reproducible source or parsing problems.