Google Keyword Suggestions Scraper
Pricing
from $12.35 / 1,000 keyword rows
Google Keyword Suggestions Scraper
A scraper for Google's public autocomplete keyword data: expand seed keywords into ordered suggestions, each carrying Google's relevance weight, suggestion type and a ready search URL.
Pricing
from $12.35 / 1,000 keyword rows
Rating
0.0
(0)
Developer
Leonardo Santos
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Expand seed keywords into Google's public autocomplete suggestions — ordered the way Google orders them — and profile specific keywords with their suggestion neighborhood. Every row is flat, typed and null-safe for SEO research, content planning, spreadsheets and pipelines.
Why this actor?
- Two buyer-shaped modes: expand seeds into keyword ideas, or profile a keyword list.
- One flat row per keyword: the keyword text, Google's own ordering position and relevance weight, the suggestion type, and a ready Google search URL.
- Hard local result limits keep delivery and spend bounded.
- Invalid input, a keyword with no suggestions, and blocked/5xx/timeout fetches are free error rows.
- Public suggest endpoint only: no login, no cookies, no challenge bypass.
Input
{"mode":"keyword","keywords":["web scraping","keyword research"],"maxResults":100}
For keyword profiles, set mode to detail:
{"mode":"detail","keywords":["web scraping","keyword research"]}
| Input | Meaning |
|---|---|
mode | keyword (expand seeds into suggestions) or detail (profile specific keywords). |
keywords | Seeds to expand (up to 20) or keywords to profile (up to 50); trimmed, deduplicated, capped. One suggest request per keyword. |
maxResults | Hard local cap on delivered rows and charges in keyword mode (1–1000). |
language | Language code for the query (hl), e.g. en, de, pt-BR. |
country | Country code for the query (gl), e.g. us, gb, br. |
proxyConfiguration | Proxy for the requests; datacenter is the validated default. |
Output
One keyword-mode row:
{"mode":"keyword","input":"web scraping","keyword":"web scraping meaning","seed":"web scraping","kind":"suggestion","position":0,"suggest_relevance":1250,"suggest_type":"QUERY","suggest_subtypes":[512],"verbatim_relevance":null,"language":"en","country":"us","url":"https://www.google.com/search?q=web%20scraping%20meaning","related":[],"error":null,"scraped_at":"2026-09-11T10:11:03.240Z"}
One detail-mode row (the related list is truncated here; the field carries
Google's full ordered suggestion list for the keyword):
{"mode":"detail","input":"web scraping","keyword":"web scraping","seed":"web scraping","kind":"detail","position":null,"suggest_relevance":null,"suggest_type":null,"suggest_subtypes":[],"verbatim_relevance":1300,"language":"en","country":"us","url":"https://www.google.com/search?q=web%20scraping","related":[{"keyword":"web scraping meaning","position":0,"relevance":1250,"suggest_type":"QUERY"},{"keyword":"web scraping python","position":1,"relevance":950,"suggest_type":"QUERY"}],"error":null,"scraped_at":"2026-09-11T10:11:03.240Z"}
| Field | Meaning |
|---|---|
mode | Which mode produced the row: keyword or detail. |
input | The seed keyword (keyword mode) or profiled keyword (detail mode) this row came from. |
keyword | The delivered keyword: a suggestion in keyword mode, the profiled keyword in detail mode. |
seed | The seed keyword this row was suggested for. |
kind | suggestion (keyword mode) or detail (detail mode). |
position | 0-based rank in Google's suggestion list, keyword mode only. |
suggest_relevance | Google's own ordering weight for this suggestion (google:suggestrelevance); null when Google omits it. |
suggest_type | Google's suggestion type, e.g. QUERY. |
suggest_subtypes | Raw google:suggestsubtypes codes for the suggestion. |
verbatim_relevance | detail mode only: google:verbatimrelevance for the keyword itself. |
language | hl request parameter used for this row. |
country | gl request parameter used for this row. |
url | Canonical Google search URL for the keyword. |
related | detail mode only: Google's ordered suggestions for the keyword; [] in keyword mode. |
error | Free per-keyword error message; null on keyword rows. |
scraped_at | Extraction timestamp. |
Pricing
Pay per event, and the platform usage is on us — the price you see is the price you pay, with no compute bill on top.
| Event | Price | What one charge buys |
|---|---|---|
| Keyword row | $0.019 | One delivered keyword row: an ordered suggestion in keyword mode, or a keyword profile in detail mode. Invalid or empty input, a keyword with no suggestions, and any blocked, 5xx or timed-out fetch are free error rows and are never charged. |
| Actor Start | $0.002 | One run, whatever it returns. |
Higher Apify subscription tiers pay less on every event (Silver −20%, Gold −35%).
Proxy
Requests use the Apify proxy configured in proxyConfiguration. The validated
default is datacenter. This actor does not bypass challenges, log in, or read
private pages.
Use cases
- Grow a seed term into long-tail keyword ideas, in Google's own order.
- Profile an existing keyword list with Google's suggestion neighborhood.
- Export keyword ideas with positions and weights for scoring in a spreadsheet.
- Refresh keyword research for a niche on a schedule (task runs).
FAQ
Does this return absolute search volume? No — Google's public autocomplete
surface does not expose absolute volume, and no number here is invented. Each
row carries Google's own ordering position and relevance weight (suggest_relevance),
which are the signals Google uses to rank suggestions. Any actor that claims
absolute volume from this surface is estimating, not measuring.
Do I need a Google account? No. Only the public suggest endpoint is read.
Why is position empty in detail rows? position belongs to a
suggestion inside a list; detail rows carry the list itself in related.
Why do some rows have a null suggest_relevance? Google omits the weight
for some queries and regions; the key is always present, the value may be null.
This Actor is an independent tool and is not affiliated with Google.