
Website Content Crawler
scrape.ly/store/querystone/website-content-crawlerAIDeveloper tools
1 monthly user

Turn seed keywords into hundreds of real search suggestions from Google, YouTube, Google Shopping, News, Images, Bing and Amazon: A-Z, question, preposition and number expansion, recursive depth, any country and language.
Turn a handful of seed keywords into hundreds of real search suggestions, straight from the search boxes of Google, YouTube, Google Shopping, Google News, Google Images, Bing and Amazon. A–Z, question, preposition and number expansion plus recursive depth find the long-tail phrases people actually type, in any country and language. No login, no API key, and you pay per query, not per month.
running shoes.| Field | Description |
|---|---|
keywords | Seed keywords to expand, one per line |
maxResults | Stop after this many unique suggestions (0 = no limit) |
sources | google, youtube, google-shopping, google-news, google-images, bing, amazon |
country / language | Two-letter country code and language code, e.g. us / en, de / de |
maxDepth | 1 = direct suggestions, 2 = suggestions of suggestions, up to 5 |
appendAlphabet, prependAlphabet | Query "keyword a…z" and "a…z keyword" |
questionPrefixes, prepositions, appendNumbers | Question words, prepositions/comparisons, numbers 0–9 |
customPrefixes, customSuffixes | Your own words before or after each keyword |
maxSuggestionsPerQuery | Keep at most this many suggestions per query (default 10, 0 = all) |
deduplicate | Save each suggestion once per source (default on) |
mustContainKeyword, excludeWords, minWords, maxWords | Filters |
{
"keywords": ["running shoes"],
"sources": ["google", "youtube", "amazon"],
"country": "us",
"language": "en",
"maxDepth": 1,
"appendAlphabet": true,
"questionPrefixes": true,
"maxResults": 1000
}
| Field | Description |
|---|---|
keyword | Seed keyword the suggestion came from |
suggestion | The autocomplete suggestion |
query | Exact text sent to the source (e.g. running shoes b) |
source | Which search box answered |
position | Zero-based position in the source's answer |
depth | 0 for suggestions of a seed query, 1 for suggestions of suggestions, ... |
expansionType | seed, alphabet, alphabet-prefix, question, preposition, number, custom-prefix, custom-suffix, recursive |
parentKeyword | The query that was expanded: the seed keyword for expanded starting queries (A-Z, questions, prepositions, numbers, custom modifiers), the expanded suggestion for recursive rows, null for the plain keyword |
relevance | Google's relevance score where the source returns one |
suggestionType | QUERY, NAVIGATION or ENTITY (Google), KEYWORD (Amazon) |
wordCount, containsSeed | Word count and whether every seed word appears |
language, country, scrapedAt | Locale used and collection time (UTC) |
[
{
"keyword": "running shoes",
"suggestion": "running shoes for women",
"query": "running shoes",
"source": "google",
"position": 0,
"depth": 0,
"expansionType": "seed",
"parentKeyword": null,
"relevance": 651,
"suggestionType": "QUERY",
"wordCount": 4,
"containsSeed": true,
"language": "en",
"country": "us",
"scrapedAt": "2026-10-15T21:07:28Z"
}
]
You pay $0.90 per 1,000 keyword queries ($0.0009 per query) that return suggestions, and each query saves up to 10 suggestions by default (up to 15 from Google and 25 from Bing when you raise the per-query limit). Empty and failed queries are free, and there is no start fee.
Worked example: one keyword on Google with A–Z expansion is 27 queries, about $0.024. One keyword with A–Z and depth 2 is roughly 300 queries and about 2,800 suggestions, about $0.27. Platform usage (compute and datacenter proxy traffic) is billed separately and is tiny for this actor, usually well under a cent per run.
Is it legal? The actor reads the public suggestions that the search boxes show to anyone. It collects no personal data. Check the terms of each site and your local laws for your use case.
Do I need a login, API key or proxy? No. Datacenter proxies are included by default; queries the datacenter pool can't answer are retried through residential proxies in your country.
How many results can I get? Each query returns up to 10 suggestions (Google up to 15, Bing up to 25, Amazon 10). A–Z, questions and depth multiply that: one keyword with A–Z and depth 2 gives a few thousand unique suggestions.
Why did a query return nothing? Very long or unusual phrases often have no suggestions, and some sources (Amazon especially) show fewer suggestions for question-style queries. Those queries are not charged.
What does depth do? Depth 2 types every suggestion back into the search box and saves its suggestions too. Each extra level multiplies the number of queries, so set Maximum results to keep big runs in check.
Can I schedule it or use the API? Yes. Schedule runs to track suggestions over time, or start runs and read the dataset through the API.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
keywordsarrayRequiredKeywords
Seed keywords to expand into autocomplete suggestions, one per line. Each keyword is typed into the search box of every selected source.
maxResultsintegerOptionaldefault 1000Maximum results
Stop after this many unique suggestions in total. 0 means no limit (up to 200,000).
sourcesarrayOptionaldefault ["google"]Sources
Where to read suggestions from. Each source is queried separately and every row says which source it came from.
countrystringOptionaldefault "us"Country
Two-letter country code for localized suggestions, for example us, gb, de, fr, br, jp. For Amazon it picks the marketplace.
languagestringOptionaldefault "en"Language
Language code for suggestions, for example en, de, fr, es, pt, ja.
maxDepthintegerOptionaldefault 1Expansion depth
1 returns the direct suggestions of each query. 2 also expands every suggestion into its own suggestions, 3 goes one level further, and so on. Each extra level multiplies the number of queries.
appendAlphabetbooleanOptionaldefault falseAppend A–Z
Also query "keyword a" through "keyword z" for each keyword (26 extra queries per keyword and source).
prependAlphabetbooleanOptionaldefault falsePrepend A–Z
Also query "a keyword" through "z keyword" (26 extra queries per keyword and source).
questionPrefixesbooleanOptionaldefault falseQuestion prefixes
Also query who / what / when / where / why / how / which / can / is / are / does / should / will + keyword. German, French, Spanish, Italian, Portuguese and Dutch use their own question words.
prepositionsbooleanOptionaldefault falsePrepositions and comparisons
Also query keyword + for / with / without / near / to / vs / versus / like / in / on / from / under / or / and / is / can (localized for de, fr, es, it, pt, nl).
appendNumbersbooleanOptionaldefault falseAppend numbers 0–9
Also query "keyword 0" through "keyword 9" (finds years, sizes and model numbers).
customPrefixesarrayOptionaldefault []Custom prefixes
Your own words to put before each keyword, for example best, cheap, buy.
customSuffixesarrayOptionaldefault []Custom suffixes
Your own words to put after each keyword, for example 2026, near me, for beginners.
maxSuggestionsPerQueryintegerOptionaldefault 10Suggestions per query
Keep at most this many suggestions from each query (Google returns up to 15, Bing up to 25, Amazon 10). Lower values also keep deep expansions smaller. 0 keeps all.
deduplicatebooleanOptionaldefault trueRemove duplicates
Save each suggestion once per source. Turn off to save every query and suggestion pair, even when the same suggestion comes back for several queries.
mustContainKeywordbooleanOptionaldefault falseMust contain the keyword
Keep only suggestions that contain every word of the seed keyword.
excludeWordsarrayOptionaldefault []Exclude words
Drop suggestions that contain any of these words or phrases (case-insensitive), for example a competitor's brand.
minWordsintegerOptionalMinimum words
Drop suggestions with fewer words. Useful to keep only long-tail keywords. 0 means no minimum.
maxWordsintegerOptionalMaximum words
Drop suggestions with more words. 0 means no maximum.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work well for suggest endpoints and are the default. Queries the datacenter pool can't answer are retried once through residential proxies in your country.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| keyword | string | null | Seed keyword this suggestion was expanded from |
| suggestion | string | null | Autocomplete suggestion |
| query | string | null | Exact text sent to the suggest endpoint |
| source | string | null | google, youtube, google-shopping, google-news, google-images, bing or amazon |
| position | number | Zero-based position in the source's answer |
| depth | number | 0 = suggestion of a seed query, 1 = suggestion of a suggestion, ... |
| expansionType | string | null | seed, alphabet, alphabet-prefix, question, preposition, number, custom-prefix, custom-suffix or recursive |
| parentKeyword | string | null | Query that was expanded: the seed keyword for expanded starting queries, the expanded suggestion for recursive rows, null for the plain keyword |
| relevance | number | null | Google's relevance score when the source returns one |
| suggestionType | string | null | QUERY, NAVIGATION, ENTITY (Google) or KEYWORD (Amazon) |
| wordCount | number | Number of words |
| containsSeed | boolean | True when every word of the seed keyword appears in the suggestion |
| language | string | null | Language code used |
| country | string | null | Country code used |
| scrapedAt | string | null | When the suggestion was collected (UTC) |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Keyword query | One keyword query that returned suggestions (up to 10 saved by default). Empty and failed queries are free. | $0.0009 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('querystone/google-autocomplete-scraper').call({
"keywords": [
"web scraping"
],
"maxResults": 1000,
"sources": [
"google"
],
"country": "us",
"language": "en",
"maxDepth": 1,
"maxSuggestionsPerQuery": 10,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run querystone/google-autocomplete-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=querystone/google-autocomplete-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Google autocomplete suggestions for the German market.
Suggestions for the keyword plus every letter of the alphabet.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.