Google Keyword Research Scraper
Pricing
from $1.18 / 1,000 keyword ideas
Google Keyword Research Scraper
Export localized public Google keyword ideas with seed, query, locale, source, and rank provenance for SEO research and content planning.
Generate public Google Autocomplete keyword ideas from seed topics and export them as JSON, CSV, or Excel. This Google keyword scraper supports long-tail discovery and localized content planning without a Google Ads login. It does not return search volume, CPC, competition, or keyword difficulty.
Quick start
- Enter one to 20 seed topics in Seed keywords.
- Choose a country, language, and small result limit, then run the Actor.
- Open the dataset and export the suggestions for your content plan or downstream SEO tool.
{"keywords": ["running shoes"],"country": "us","language": "en","maxResults": 20,"expandAlphabet": true}
maxResults is shared across all seeds, not a quota per seed. Available suggestions may be fewer than the limit.
Prefer a video guide? This short Apify walkthrough shows you how to set up and run an Actor. It uses a different Actor, but the setup steps are the same.
Ready-to-run examples
Choose a public example to see its settings before starting a run:
What you get
One row per saved unique suggestion, with the first seed and query variant that produced it, requested locale and position within that source response. Alphabet expansion can request additional seed variants, while the saved-result cap is shared across all seeds rather than a separate quota for each.
Who is it for?
- SEO specialists: discover long-tail phrases to investigate in a separate metrics tool.
- Content teams: expand topics for briefs, category pages, and FAQs.
- Agencies and developers: export repeatable keyword lists for spreadsheets and data workflows.
How you can use the data
- Prepare a running-shoes phrase shortlist. Use the existing seed with a small whole-run cap. Keep keyword, seedKeyword, queryVariant and sourceRank together so each idea remains traceable to its first source variant.
- Choose a narrow or expanded sample. Disable alphabet expansion for original seeds only, or enable it for additional variants. Earlier seeds can fill the shared cap before later ones are reached, so separate samples when balanced seed coverage matters.
- Compare requested locale observations. Repeat a chosen seed in separate country/language runs and keep settings with each export. Locale metadata does not establish that a phrase is unique to that market.
- Use suggestions as input to your own planning. Group ideas into briefs or questions downstream and evaluate metrics separately. Source order and sourceRank are not global popularity, search-volume or search-result rankings.
Input settings
| Setting | API key | Default / scope |
|---|---|---|
| Seed keywords | keywords | Required. One to 20 non-empty topics |
| Country | country | us. Two-letter locale code |
| Language | language | en. Two-letter language code |
| Maximum keyword ideas | maxResults | 50 when omitted. Form example 20. Range 1–500 across all seeds |
| Expand with alphabet | expandAlphabet | true. Turn off for original seeds only |
See the input-field help for detailed limits. Seeds are processed in input order, so an early seed may fill the run-wide limit before later seeds are reached. The Actor does not offer a connection selector or proxy input.
Example inputs
Use the Quick start input as a small first run. Adjust the fields described above for your own data.
Output data
The following is an illustrative shape-only example, not a guaranteed suggestion or a fresh run result:
{"keyword": "running shoes for women","seedKeyword": "running shoes","country": "us","language": "en","source": "Google Autocomplete","queryVariant": "running shoes","sourceRank": 1}
| Field | Meaning |
|---|---|
keyword | Public suggestion text |
seedKeyword | First input seed that produced this saved suggestion |
country | Requested country code, normalized to lowercase |
language | Requested language code, normalized to lowercase |
source | Google Autocomplete |
queryVariant | Seed or alphabet variant that first produced the suggestion |
sourceRank | One-based position within that variant's source response, not global popularity or search-result rank |
Repeated suggestions are combined case-insensitively across the run. The first occurrence supplies provenance. Rows follow discovery order, not sorting by volume, popularity, or rank across seeds. Country and language are requested locale settings, not proof that a phrase is unique to a market.
Download your results
Open your run's dataset, choose Export and select JSON, CSV or Excel. JSON keeps nested fields together. CSV and Excel are useful when you want to review the records in a spreadsheet.
See Apify's download and export guide for the available formats and field options.
Pricing
The start event is charged once when processing starts, separately from the item event for each keyword idea saved to the dataset.
See the live Pricing tab for current rates and account-tier discounts.
Tips for best results
- Begin with one focused seed and a low total cap. Inspect available ideas before expanding the input.
- Choose alphabet expansion deliberately. Turn it off when you want original-seed responses only.
- Keep first-occurrence provenance in your sheet. Suggestions are combined without regard to case across the run.
- Separate seeds when balanced coverage matters. An earlier seed can use the shared saved-result limit.
- Read final status before interpreting no rows. No saved suggestions currently means failure rather than proof of no demand.
Limits and caveats
Only public Google Autocomplete ideas are returned. There is no search volume, CPC, competition, difficulty, Google Ads result data or YouTube suggestions. Requested locale settings are not proof of market exclusivity.
The saved-result cap is shared across seeds in input order, so output can favor earlier seeds. Repeated suggestions are combined case-insensitively and retain first-occurrence provenance. Rows follow discovery order without global volume, popularity or rank sorting.
Suggestions vary over time and locale, and the result limit is a ceiling rather than a guaranteed count. Source failures can leave fewer rows while already-saved suggestions remain available. A run with no saved suggestions currently fails. Inspect status before treating an empty dataset as a completed keyword list.
No Google Ads login, proxy input or connection selector is provided. Comparisons, topic grouping, alerts and external metric evaluation belong in your own workflow.
Automation and integrations
Save your settings for next time
Once you have an input that works for you, save it as an Apify task. This keeps your settings together so you can use them again without filling in the form from scratch.
Run on a schedule
Need fresh results regularly? You can schedule the Actor or a saved task to run at a time that suits you.
Each scheduled run collects the data again. If you want to compare results or highlight changes, add that step in your own workflow.
Send results to your other tools
Use n8n, Make or Zapier to connect this scraper to the rest of your workflow. For example, you could pass its results to an AI assistant or add records to a spreadsheet. Follow the Apify integration guides for your chosen tool.
For a custom connection, an Apify webhook can notify your app when a run finishes or fails. Your app can then fetch the results or handle the failure.
API usage
Want to collect this data from your own app or automation? The examples below send input to the scraper and show how to collect its results.
The Node.js and Python examples wait for the run to finish before reading its results. The cURL example starts the run and returns its details. Wait for that run to finish, then use its defaultDatasetId to fetch the results.
For setup instructions, see Apify's JavaScript client guide, Python client guide and Actor runs API reference.
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~google-keywords-scraper/runs' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \--data @- <<'JSON'{"keywords": ["running shoes"],"country": "us","language": "en","maxResults": 20,"expandAlphabet": true}JSON
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,"expandAlphabet": true});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
import osfrom apify_client import ApifyClientclient = 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, 'expandAlphabet': True})print(client.dataset(run['defaultDatasetId']).list_items().items)
API usage notes
This returns a run record, not the keyword rows. Wait for completion, then use defaultDatasetId to retrieve the dataset.
MCP and AI agents
You can ask your AI assistant to collect data with Google Keyword Research Scraper and help you work with the results. The scraper returns the data, and your assistant can then summarize it, compare records or prepare notes.
Connect your assistant through the Apify MCP server. MCP gives your assistant a way to find this scraper, run it and read the results. Follow the official setup and sign-in guide for your app.
Easier setup with an Apify plugin
If you use a supported coding assistant, the official Apify plugin can set up the connection for you. It connects your assistant to Apify and includes instructions for common tasks. Follow the guide for your particular app.
Use Apify AI in Console
Prefer to keep everything in Apify? Open Apify AI in Console and ask it to find Fetch Cat's Google Keyword Research Scraper. You can describe the data you want and ask questions about the results.
Apify AI is currently in beta. It asks for confirmation before starting an Actor, and normal run charges apply.
Choose your assistant
- Claude and Claude Code (Anthropic): Apify setup guide.
- ChatGPT and Codex (OpenAI): Apify setup guides.
- Grok Bot (xAI): Apify plugin guide.
- Gemini CLI (Google): MCP server setup guide. Use the server URL below with the HTTP configuration supported by Gemini CLI.
Connect just this scraper
To keep your setup focused on this scraper, add this server configuration to a compatible MCP client:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/google-keywords-scraper"}}}
Sign in to Apify when your client asks. If your client uses a Bearer token instead, follow its setup guide and keep the token in its secure configuration. Configuration formats vary by app, so use the linked guide if your client needs a different format.
Use Apify's general server
Already connected to the general Apify MCP server at https://mcp.apify.com? You can use it to find this scraper without adding another server. Ask your assistant to use Google Keyword Research Scraper by Fetch Cat, or give it the identifier fetch_cat/google-keywords-scraper.
Your assistant can check the available settings and retrieve the results from the returned run. If the run is still working, it should follow that run rather than start it again. Both connection options use Apify's hosted service.
Example requests
- “Use Fetch Cat’s Google Keywords Scraper to collect up to 10 ideas for running shoes in English for the US with alphabet expansion enabled. Show first seed, query variant and source position without estimating search volume.”
- “Collect at most 5 ideas for office chair in English for the UK with alphabet expansion off. Keep locale and provenance so I can review a narrow original-seed sample.”
- “Retrieve up to 8 keyword ideas across standing desk and office chair in English for the US. Explain that the cap is shared and keep first-occurrence provenance rather than treating source positions as popularity rankings.”
Normal Apify charges apply. Check the live Pricing tab before asking your assistant to run a larger batch.
Pay with x402
If your AI agent has a funded wallet, it can pay for Apify usage through x402. This experimental option lets an agent use Apify without a conventional account.
Apify AGI provides a prepaid API token with a spending cap after payment. Your agent can use that token to run this scraper through the Apify API or an authenticated MCP connection.
Some MCP setups also support paying for each request directly. That is a different payment option, so check the official guide for its availability.
Follow the official guide for wallet setup, supported payment options and current terms. Apify handles the payments. Keep wallet keys and payment tokens in your agent's secure configuration.
Other ways for agents to pay
Apify also supports MPP for prepaid access through AGI and Skyfire for eligible Actors. If your agent already uses one of these, see the agentic payment guide to choose the right setup.
FAQ
Is this a keyword research tool, and does it include Google keyword volume?
It is a public suggestion tool for expanding seed topics. It does not return monthly search volume or CPC. Use a separate metrics source to evaluate ideas.
Can I compare countries and languages?
Yes. Run the same seeds separately with different two-letter country and language values. Each run accepts one country and one language. Suggestions are not guaranteed to differ or to belong exclusively to that locale.
Can I export the results to CSV, Excel, or JSON?
Yes. Use the dataset export controls or retrieve the completed run's dataset through the Apify API.
Why did I get fewer results than requested?
The source may have fewer unique suggestions, repeated phrases are combined, and source failures can reduce coverage. maxResults caps the whole run, so later seeds may contribute nothing once it is reached. Inspect the run status if no rows were saved.
Does it require a Google login or API key?
No Google login, cookies, or Google Ads key are required. Apify API and MCP access use your own Apify authentication.
Related Actors
- Bing Search Results Scraper — Collect ranked web results after selecting target keywords. This uses Bing rather than Google.
- Google Autocomplete Scraper — Collect autocomplete phrase suggestions from seed keywords. These are suggestions rather than People Also Ask answers.
- Google News Journalist Lead Finder — Research news-related contacts.
- Google Scholar Profiles Scraper — Research academic profiles.
- Google Maps Photos Scraper — Collect place photos for local research.
- Google Shopping Results Scraper — Research product listings.
Support and feedback
For custom additions or integrations, email hello@fetchcat.dev.
Found an error or have a feature request? Open an issue with the run URL, a non-sensitive input example and what you expected.
Need help sharing it? See Apify’s guide to sharing a run when reporting an issue. Sharing a run can give the developer access to its input, logs and results, so use a run that contains no sensitive data. Please leave out API tokens, passwords, cookies, private documents and personal data. Use a public sample URL or a redacted example instead.
Tried this scraper? We'd love to hear how it worked for you. Leave a review to help others choose the right tool and help us improve it. Your feedback means a lot to us.
Made with care for curious people, AI agents and the possibilities in data. ♥