Autocomplete & Keyword Suggest Scraper - 7 Engines at Once
Pricing
from $0.73 / 1,000 suggestion returneds
Autocomplete & Keyword Suggest Scraper - 7 Engines at Once
For SEO keyword research, PPC and product research: autocomplete suggestions for your seeds from Google, YouTube, Bing, DuckDuckGo, Amazon, eBay and Wikipedia in one run, one row each with the engine, the exact query and its rank. Seven engines show which surfaces a term and which does not.
Pricing
from $0.73 / 1,000 suggestion returneds
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Autocomplete & Keyword Suggest Scraper - seven engines in one run
For SEO keyword research, content planning, PPC negative-keyword lists and product-demand research: autocomplete suggestions from seven services in a single run — Google, YouTube, Bing, DuckDuckGo, Amazon, eBay and Wikipedia — one row per suggestion, with the engine that produced it, the exact query that was sent, and the rank it held in that engine's list.
Autocomplete is the only free, first-party record of what people actually type. Asking one engine tells you what searchers type; asking seven tells you something you cannot get any other way: which engine surfaces a term and which does not. A phrase Google suggests but Amazon does not is informational; one Amazon suggests and Google does not is commercial; one YouTube suggests is a video someone should make.
It expands a seed the way a keyword tool does, and it tells you the cost before it runs away with your bill. A–Z (26 queries), 0–9 (10), question words (12: how, what, why, where, when, which, who, can, is, are, does, should) and prepositions (8: for, with, without, near, like, to, from, vs). All four on turns one seed into 57 queries per engine — three engines is 171 requests and three seeds is 513 — so there is a request limit as well as a row limit. Measured on 2026-09-08, responses came back in 206–370 ms each with no proxy needed.
Every seed gets its fair share of the row limit. Measured on 2026-09-08 before this was fixed, a plain cut left the third of three seeds with 6 rows out of 307 and said nothing about it.
No API key. Export as JSON, CSV or Excel.
What one run gives you
| Column | What it is |
|---|---|
engine, engineTitle | which service produced the suggestion |
seed | the term you asked for |
query | the exact string that was sent - with expansion on, this is seed a, how seed and so on |
expansion | which expansion produced that query: seed, alphabet, digits, questions, prepositions |
suggestion | the suggested phrase |
rank | its position in that engine's list (1 = first) |
isSeedItself | engines usually repeat the seed as the first suggestion; this marks it |
wordCount, characterCount | for sorting long-tail phrases |
requestedCountry, requestedLanguage | what was asked for - see the honest note below |
engines, engineCount, bestRank | with deduplication on: every engine that produced the phrase, and its best rank |
Expansion: one seed into many queries
Autocomplete only answers what you type, so the standard way to go deep is to type more:
| Switch | Queries added per seed, per engine |
|---|---|
| A-Z expansion | 26 (seed a … seed z) |
| 0-9 expansion | 10 (seed 0 … seed 9) |
| Question expansion | 12 (how seed, what seed, why, where, when, which, who, can, is, are, does, should) |
| Preposition expansion | 8 (seed for, with, without, near, like, to, from, vs) |
All four on turns one seed into 57 queries per engine. Three engines means 171 requests, and three seeds means 513. That is why there is a request limit as well as a row limit: the row limit cannot stop requests, because filtering happens after the answer arrives. When the request limit is reached the run stops asking and says so in a free row. Within one seed the same query is never sent twice; two seeds that expand onto the same query will each send it.
What is measured, and what is not
- The seven engines above are the ones that answered when this was measured from Apify on 2026-09-08 (206-370 ms each, no proxy needed). The old Play Store suggest endpoint answered 404 and is not offered rather than being offered and failing.
- 🔴 Country targeting is honest here. Google and YouTube decide the region mostly from the IP the
request leaves from, not from the parameter. Measured on the same day:
dereturned German suggestions,jpreturned the same US English list. So the column is calledrequestedCountry- what was asked for - and this README does not claim it always changes the answer. Bing, DuckDuckGo, Amazon, eBay and Wikipedia ignore the parameter entirely. - An empty list is an answer, not a failure. All seven services return an empty list for a term with no suggestions. Those queries produce no charged rows, and a free row at the end says how many of the run's requests came back empty - so you can tell "nothing is suggested here" apart from "this was never asked".
- The row limit never drops a whole seed. When more suggestions were collected than you asked for, the rows are taken evenly from every seed and a free row lists how many each seed ended up with. Measured on 2026-09-08 before this was fixed, a plain cut left the third of three seeds with 6 rows out of 307 and said nothing.
- The same suggestion from the same engine is charged once. Expansion makes an engine repeat
itself across queries; those repeats are dropped by default, and
keepRepeatsPerEnginebrings them back if you want to see every query that produced a phrase. - An answer in a shape this Actor has not measured is reported, not read as "no suggestions". That is the difference between "Amazon has nothing for this" and "Amazon changed its format".
- An engine name that is not one of the seven is rejected before the run starts (Apify validates the input against the list), so a typo costs you nothing instead of producing a half-empty result.
Rows that are never charged
status | What happened |
|---|---|
no-results | every request came back with an empty suggestion list - that is the engines' answer |
blocked | a service answered with a bot check instead of suggestions |
unreadable | a service could not be read, or answered in a shape this Actor has not measured |
no-match | suggestions were read and none matched your filters |
budget-reached | the run collected more than your row limit, or hit the charge limit you set; the row says how many were left out |
Filters
filterKeywords / excludeKeywords (searched in the suggestion, the query and the seed),
minWords, maxWords, excludeSeedItself, and deduplicate to collapse the same phrase across
engines into one row that lists them all. Filters run before the cap, so
maxSuggestions counts the rows you actually receive.
Input
| Field | What it does |
|---|---|
keywords | the seed terms |
engines | which of the seven services to ask |
expandAlphabet, expandDigits, expandQuestions, expandPrepositions | how far to expand each seed |
country, language | sent to Google and YouTube; language also picks the Wikipedia edition |
amazonMarketplaceId | which Amazon storefront to ask (default is Amazon US) |
deduplicate, excludeSeedItself, minWords, maxWords, filterKeywords, excludeKeywords | shaping the result |
maxSuggestions | hard cap on returned rows, taken evenly from every seed |
maxRequests | hard cap on requests sent to the engines - the limit that protects them |
keepRepeatsPerEngine | keep every occurrence when one engine repeats a phrase across queries |
useProxy | retry through a proxy only if a service answers with a bot check |