Web-first keyword discovery
Collect keyword signals from live public endpoints, not stale static keyword lists.
kwg helps SEOs, founders, and marketers generate keyword ideas from real public web signals, then score and cluster them into actionable topic groups.
python kwg.py pop "vps hosting" --top 200 --clusters 8 --format report --out ./kwg_out
keywords.json, keywords.csv, clusters.json, and report.md
Use kwg for content planning, cluster mapping, competitor SERP analysis, and long-tail keyword expansion. Results are directional, transparent, and fast to iterate.
Everything is optional and controlled with explicit CLI flags.
Collect keyword signals from live public endpoints, not stale static keyword lists.
Source weighting, recurrence, weakness proxies, and intent-aware scoring in one ranking system.
Generate deterministic long-tail expansions for question, commercial, compare, and platform use cases.
Create grouped topic clusters and publishable reports for content planning and SEO briefs.
Retries, source-level failure isolation, and graceful warnings when a provider blocks requests.
Stdlib-only Python design makes kwg easy to run in scripts, cron jobs, and CI pipelines.
Use these commands to run keyword generation, expansion, and scoring right away.
git clone https://github.com/zaunere/kwg
cd kwg
python kwg.py --helppython kwg.py pop "keyword clustering" --top 150python kwg.py pop "keyword research tool" --top 250 --format jsonpython kwg.py pop "technical seo" --variants all --variants-only --format mdKWG is optimized for modern keyword research and topical authority workflows.
Generate parent terms, long-tail modifiers, and intent groupings to build content hubs and supporting pages.
Use SERP domain diversity and UGC-heavy results as competition proxies to spot lower-friction ranking targets.
Export JSON/CSV bundles and feed them into your SEO dashboard, CMS tooling, or internal briefing workflow.
Complete command reference for kwg, synchronized with docs.md.
kwg is a web-first keyword discovery CLI with no login, no API keys, and no external Python dependencies.
git clone https://github.com/zaunere/kwg
cd kwg
python kwg.py --helpPython 3.10+ is recommended.
pop: full pipeline (fetch, expand, score, output).
python kwg.py pop "vps hosting" --top 200 --format reportexpand: candidate generation only (no scoring).
python kwg.py expand "vps hosting" --limit 500 --format jsonscore: score existing term lists.
cat terms.txt | python kwg.py score --from stdin --top 200
python kwg.py score --from file --file terms.txt --format csv--sources autocomplete,trends,reddit,serp
--geo US
--hl en
--kl us-en--serp-related / --no-serp-related
--serp-snippets / --no-serp-snippets
--serp-freshness / --no-serp-freshness
--serp-ugc / --no-serp-ugc
--serp-weakness / --no-serp-weakness
--serp-ngrams / --no-serp-ngrams--variants none|basic|all|custom
--variants-packs question,commercial,compare,local,platform,opensource,howto
--variants-max-per-term N
--variants-max-total N
--variants-seed-only
--variants-to-sources
--variants-only
--variants-include-original / --no-variants-include-originalUse --explain to inspect reason-level scoring output.
python kwg.py pop "vps hosting" --top 200 --clusters 8 --format report
python kwg.py pop "vps hosting" --top 200 --clusters 8 --out ./kwg_outOutputs can include clusters.json and report.md.
--format txt|json|csv|md|report
--out ./kwg_out--cache-dir ~/.kwg/cache
--cache-ttl 21600
--rate-limit 0.6python kwg.py pop "vps hosting" --sources autocomplete,trends,serp
python kwg.py pop "vps hosting" --sources autocomplete --rate-limit 1.0
python kwg.py pop "vps hosting" --variants all --variants-onlyOfficial links for docs, source code, and site reference.
- Project site: https://keywordgenerative.com/
- Docs: https://keywordgenerative.com/#docs
- Repo: https://github.com/zaunere/kwg