Google Autocomplete unofficial API: get autocomplete keywords
Automatically get autocomplete keywords on google.com. An unofficial Google Search autocomplete suggestion API: the autocomplete keywords Google suggests for a phrase, in its ranking order, for SEO and keyword research. Get the autocomplete suggestions Google offers for a search query, in the order it ranks them — the completions that would appear as you type in the search box. Partial input works well, so "best crm for" returns the ways people finish that phrase, which makes this a quick way to see what an audience actually searches for around a topic. Suggestions are personalised to the signed-in account and its location, and a query Google does not recognise comes back with an empty list rather than an error. Note that Google sometimes reinterprets an unfamiliar term and answers for a similar one, so the suggestions can drift from exactly what was asked.
Input
query requiredThe partial or full search query to get suggestions for. Partial words work well — 'generative engine optimi' returns the completions Google would offer as you type.
Output
query requiredThe query as passed in.
source requiredWhere the suggestions were read from. search_box means the endpoint was unavailable and the on-page dropdown was used instead.
suggestions requiredThe suggestions in the order Google ranks them. Empty when Google offers none for the query.
count optionalechoedQuery optionalThe query as Google echoed it back, which can differ from what was sent.
FAQ
Search Google
Run a Google search and return the page's organic result cards (title, url, site, byline, meta, snippet), with redirect wrappers already cleaned from urls. Runs logged out by default; if the browser happens to carry Google cookies, results are personalized to that account/IP. Google serves result links as redirects rather than destination addresses, so each one is followed far enough to read the address it points at before the results are returned. That adds a fraction of a second per result, and each destination site sees one request. Supports full Google query syntax: site:, quoted "exact phrases", OR, -exclude, intitle:. Quoted phrases return a smaller, more precise set; dropping quotes broadens recall with some near-miss results mixed in. Use site: to scope a domain/path, e.g. site:www.linkedin.com/in. Each call returns one results page (up to ~10 organic cards, no per-call count option). Use `page` (0-based) to move through further pages, mirroring the search results pager. Pages are reproducible on the same account/IP and are largely non-overlapping (occasional overlap of one result at page boundaries), so different pages can be fetched concurrently and unioned — always dedupe by canonical url. Narrow queries return the same results in the same order across replays on one account/IP; very broad, high-volume queries may reorder between runs. For broader coverage, fetch multiple pages concurrently and/or split the query itself — vary the site: path, phrases/OR-terms, or use `freshness` for disjoint date-bounded windows. Always dedupe by url.
Search Google Maps places
Search Google Maps for places matching a query, optionally near a location. Returns n, captured, and records with name, address, phone, website, rating, category, lat, lng, placeId, and placeUrl. placeId is the join key for get_place and get_place_reviews; rating, category, lat and lng can be null.
Search Gmail
Search the signed-in Gmail with the native query syntax (from:, to:, subject:, has:attachment, after:/before:, labels…) and return matching threads: threadId (feed it to get_thread / reply_to_email), sender, senderEmail, subject, snippet, date, unread, starred, hasAttachment. Results are threads rather than individual messages, which is Gmail's own search granularity, and only the first page of results is returned (up to 50).
