Google Keyword Suggestions Scraper avatar

Google Keyword Suggestions Scraper

Pricing

from $12.35 / 1,000 keyword rows

Go to Apify Store
Google Keyword Suggestions Scraper

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

Leonardo Santos

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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"]}
InputMeaning
modekeyword (expand seeds into suggestions) or detail (profile specific keywords).
keywordsSeeds to expand (up to 20) or keywords to profile (up to 50); trimmed, deduplicated, capped. One suggest request per keyword.
maxResultsHard local cap on delivered rows and charges in keyword mode (1–1000).
languageLanguage code for the query (hl), e.g. en, de, pt-BR.
countryCountry code for the query (gl), e.g. us, gb, br.
proxyConfigurationProxy 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"}
FieldMeaning
modeWhich mode produced the row: keyword or detail.
inputThe seed keyword (keyword mode) or profiled keyword (detail mode) this row came from.
keywordThe delivered keyword: a suggestion in keyword mode, the profiled keyword in detail mode.
seedThe seed keyword this row was suggested for.
kindsuggestion (keyword mode) or detail (detail mode).
position0-based rank in Google's suggestion list, keyword mode only.
suggest_relevanceGoogle's own ordering weight for this suggestion (google:suggestrelevance); null when Google omits it.
suggest_typeGoogle's suggestion type, e.g. QUERY.
suggest_subtypesRaw google:suggestsubtypes codes for the suggestion.
verbatim_relevancedetail mode only: google:verbatimrelevance for the keyword itself.
languagehl request parameter used for this row.
countrygl request parameter used for this row.
urlCanonical Google search URL for the keyword.
relateddetail mode only: Google's ordered suggestions for the keyword; [] in keyword mode.
errorFree per-keyword error message; null on keyword rows.
scraped_atExtraction 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.

EventPriceWhat one charge buys
Keyword row$0.019One 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.002One 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.