DEV Community

Mate Technologies
Mate Technologies

Posted on

πŸš€ KeySage – Keyword Suggester Pro (Google Autocomplete Scraper in Python)

If you're into SEO, content creation, or digital marketing, you already know one thing:

πŸ‘‰ Keywords are everything.

But finding high-quality, long-tail keywords manually? That’s slow and painful.

So I built KeySage – Keyword Suggester Pro β€” a fast, clean, and powerful desktop tool that pulls keyword ideas directly from Google Autocomplete.

πŸ”— Get KeySage Here

πŸ‘‰ https://gum.new/gum/cmk5ca5og002f04lbfga113vy

πŸ’‘ What is KeySage?

KeySage is a lightweight Python desktop app that generates hundreds (or thousands) of keyword ideas using:

Google Suggest API
Smart expansion logic (A–Z, 0–9)
Phrase manipulation (prepend/append)
Real-time scraping UI

No login. No API keys. No fluff.

⚑ Core Features
πŸ” 1. Google Autocomplete Scraping

Pulls real-time keyword suggestions directly from Google’s suggestion engine.

def fetch_suggestions(query):
    params = {"client": "firefox", "q": query, "hl": language.get(), "gl": country.get()}
    r = requests.get(GOOGLE_SUGGEST_URL, params=params, headers=HEADERS, timeout=10)
    return r.json()[1]
Enter fullscreen mode Exit fullscreen mode

πŸ”€ 2. A–Z Keyword Expansion

Automatically expands your base keyword:

keyword a
keyword b
...
keyword z
optionally 0–9

chars = list(string.ascii_lowercase)
if mode.get() == "A-Z + 0-9":
    chars += list(string.digits)
Enter fullscreen mode Exit fullscreen mode

🧠 3. Phrase Modes (Smart Variations)

Generate smarter keyword combinations:

Exact β†’ keyword a
Prepend β†’ best keyword
Append β†’ keyword tool

if phrase_mode.get() == "Prepend":
    query_list = [f"{w} {base}" for w in words]
elif phrase_mode.get() == "Append":
    query_list = [f"{base} {w}" for w in words]
Enter fullscreen mode Exit fullscreen mode

🌍 4. Language & Country Targeting

Target keywords by region:

Language: en, fr, de, etc.
Country: US, UK, IN, etc.

Perfect for localized SEO research.

πŸ” 5. Proxy Support

Avoid rate limits or blocks by using a proxy:

def get_proxies():
    proxy_text = proxy_entry.get().strip()
    if proxy_text:
        return {"http": f"http://{proxy_text}", "https": f"http://{proxy_text}"}
Enter fullscreen mode Exit fullscreen mode

πŸ“Š 6. Keyword Clustering

Automatically groups keywords by root word:

def cluster_keywords():
    for k in results:
        root = k.split()[0].lower()
        clusters[root].append(k)
Enter fullscreen mode Exit fullscreen mode

Example output:

[seo] seo tools, seo tips, seo checklist...
[python] python tutorial, python gui, python scraping...
πŸ“ 7. Export Options

Export your keyword data in:

βœ… TXT (clustered)
βœ… CSV (structured)
βœ… JSON (developer-friendly)
βš™οΈ 8. Multithreaded Scraping

The UI stays responsive while scraping runs in the background:

threading.Thread(
    target=run_scraper,
    args=(base_keywords,),
    daemon=True
).start()
Enter fullscreen mode Exit fullscreen mode

πŸ–₯️ User Interface Highlights
Clean UI powered by ttkbootstrap
Live keyword feed
Start / Stop controls
Advanced settings toggle
Built-in help guide
🧩 How It Works
Enter base keywords
Choose expansion mode (A–Z / A–Z + 0–9)
(Optional) Add prepend/append words
Hit Start Scraping
Watch live keyword results
Export when done
πŸ›‘ Smart Safeguards
Prevents export if scraping is incomplete
Allows safe stopping mid-process
Handles request errors gracefully
🧱 Tech Stack
Python
Tkinter + ttkbootstrap
Requests
Multithreading
🎯 Who Is This For?
SEO specialists
Bloggers & niche site builders
YouTubers
Affiliate marketers
Indie hackers
πŸš€ Final Thoughts

KeySage is built for speed, simplicity, and power.

Instead of paying monthly for keyword tools, you can:

βœ” Generate unlimited ideas
βœ” Customize queries
βœ” Export structured data
βœ” Stay fully offline (except scraping)

πŸ”₯ Download Now

πŸ‘‰ https://gum.new/gum/cmk5ca5og002f04lbfga113vy

Top comments (0)