Keyword Clustering Tool & Grouper + Content Brief Generator
Pricing
Pay per event
Keyword Clustering Tool & Grouper + Content Brief Generator
Keyword clustering & keyword grouping tool: group a keyword list or Ahrefs/Semrush/GSC/Keyword Planner export into topic clusters by shared terms + search intent, build a topical map, get content briefs. 100 keywords free, then $0.70/1k + $0.01/brief.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Umair Saleem Mohammad Saleem
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Security
Limited permissionsShare
Answer first: this actor is a keyword clustering (keyword grouping) tool and content brief generator. Paste a keyword list or an Ahrefs / Semrush / Google Search Console / Google Keyword Planner export, in any language. It groups keywords into topic clusters by shared terms and search intent (a "what is X" article never lands in the same cluster as a "best X" or pricing page), picks a pillar keyword per cluster, ranks clusters by priority (your topical map / content plan) and writes a content brief for each top cluster: working title, page type, H2 outline, FAQs, schema and internal links. First 100 keywords and 1 brief free every run, then $0.70 per 1,000 keywords and $0.01 per brief.
| Quick facts | |
|---|---|
| Best for | Keyword clustering and keyword grouping, topical maps, pillar / cluster content plans, content briefs, PPC ad groups |
| Input | A keyword list, or a pasted CSV/TSV export (Ahrefs, Semrush, GSC, Keyword Planner) with keyword and optional volume columns, up to 50,000 keywords, any language |
| Output | One row per cluster: clusterName, pillarKeyword, intent, pageType, priority, keywords[], brief{...} |
| Price | First 100 keywords + 1 brief free every run, then $0.0007 per keyword and $0.01 per brief. No start fee. Invalid lines, duplicates and anything over your max cost are never charged |
| Needs | No API keys, no LLM calls, no proxies |
| Not included | SERP-overlap clustering, search volume lookup |
Sample output (real run on the 10 CRM example keywords, re-run 20 Oct 2026 on build 0.1.12)
| clusterName | pillarKeyword | intent | keywordCount | brief.workingTitle |
|---|---|---|---|---|
| crm small business | crm for small business | commercial | 3 | CRM for Small Business: Top Picks Compared (2026) |
| crm pricing | crm pricing | transactional | 2 | CRM Pricing: Plans, Pricing & How to Get Started |
| crm erp | crm vs erp | commercial | 2 | CRM vs ERP: Top Picks Compared (2026) |
| free crm software | free crm software | commercial | 1 | Free CRM Software: Top Picks Compared (2026) |
| choose crm | how to choose a crm | informational | 1 | How to Choose a CRM: A Complete Guide (2026) |
| crm | what is a crm | informational | 1 | What Is a CRM: A Complete Guide (2026) |
Output fields (one row per cluster)
clusterName, pillarKeyword, intent, pageType, keywordCount, totalVolume, priority, keywords[], brief{workingTitle, targetKeyword, secondaryKeywords, outline, faqs, schema, suggestedWordCount, internalLinks, answerFirst}
How to use
- Paste keywords, or paste a CSV with keyword and volume columns.
- Choose how many briefs you want (top-priority clusters first).
- Export to CSV, JSON or Excel, or call it via API/MCP.
Input example
{"keywords": ["best crm for small business", "crm pricing", "what is a crm", "crm vs erp"],"generateBriefs": true,"maxBriefs": 20,"minClusterSize": 1}
Or leave keywords empty and paste a whole export into csvText. The keyword (or query) and volume columns are detected automatically. Up to 50,000 keywords per run. If you paste a CSV and leave the example CRM keywords in the form, the examples are ignored (noted in SUMMARY.notes).
Paste any keyword export (tested 20 Oct 2026)
| Export | What the parser handles |
|---|---|
| Google Keyword Planner (CSV/TSV download) | Skips the 2 title lines above the header, reads Avg. monthly searches |
| Semrush | Quoted values such as "1,300" and keywords that contain commas ("crm software, free") |
| Ahrefs | Keyword + Volume columns, tab or comma separated, BOM removed |
| Google Search Console | Top queries + Impressions (impressions used as volume) |
Plain list or keyword,volume without a header | One keyword per line; a numeric second column is read as volume |
Volumes like 1K-10K use the lower bound, 1.2k = 1,200. Semicolon-separated files (European Excel) work too. Rows with missing cells are skipped, not fatal. SUMMARY.csv shows which header line, delimiter and volume column were used.
Pricing (pay per event)
- First 100 keywords and the first brief in every run are free
- then $0.70 per 1,000 keywords ($0.0007 each)
- and $0.01 per content brief
| Run | Keywords | Briefs | Cost |
|---|---|---|---|
| Quick test | 100 | 1 | $0.00 |
| Small site | 1,000 | 20 | $0.82 |
| Topical map | 5,000 | 50 | $3.92 |
| Big export | 10,000 | 100 | $7.92 |
Never charged: duplicate keywords, blank lines, invalid lines (URLs, lines with no letters such as 12345 or !!!, over 150 characters), runs with no valid keywords (they succeed with a $0 explanation row), and anything beyond your maximum cost per run. The actor works out how many keywords fit your cap before clustering: if a 250-keyword run only has budget for 150, it clusters the 150 highest-volume keywords (then input order), lists the rest in SUMMARY.notProcessedKeywords and does not charge them. Briefs that would go over the cap are skipped (briefSkipped on the row) and not charged. SUMMARY reports keywordsCharged, briefsCharged, chargedUsd, invalidKeywords and notes.
Example
10 CRM keywords give 6 clusters: crm for small business (3 keywords, commercial), crm pricing (2, transactional), crm vs erp (2, commercial), free crm software, how to choose a crm, what is a crm. Each comes with a brief:
{"workingTitle":"CRM for Small Business: Top Picks Compared (2026)","pageType":"comparison, 'best X' list or review page","outline":["What CRM for small business means (quick answer)","Best CRM for small business","Small business CRM software","Comparison table","How we chose","FAQ"],"faqs":["What is CRM for small business?","How much does CRM for small business cost?","Is CRM for small business worth it?"],"schema":["ItemList","FAQPage"],"suggestedWordCount":"1,800-2,500"}
Use cases
Topical authority maps, pillar/cluster content plans, briefs for writers or AI writers, and grouping PPC ad groups.
How it compares (live Apify Store prices, verified 29 Oct 2026)
List prices on the Apify Free plan, read from the Apify Store API on 29 October 2026.
| Actor | Price | Cost for 1,000 keywords + 20 briefs | Method |
|---|---|---|---|
| cygnix_labs/keyword-clusterer-brief (this) | $0.0007 / keyword + $0.01 / brief, first 100 keywords + 1 brief free | $0.82 | Shared terms + intent on your list, briefs included |
| doesaiknow/ai-keyword-clustering-tool-topical-clustering-bulk-serp | $3.95 per 1,000-keyword batch ($0.99 on Gold plans and up) | ~$3.95 (no briefs) | Live SERP-overlap clustering |
| thesamirux/seo-keyword-clusters | $0.0012 / keyword + $0.00005 start | ~$1.20 (no briefs) | Expands seeds via autocomplete, then tags intent + cluster |
| ucchiii/serp-keyword-clustering | $0.002 / keyword (Free plan) | ~$2.00 (no briefs) | SERP-based clustering |
| changeable_peddler/serp-content-brief-generator | $0.05 / brief | ~$1.00 for 20 briefs (no clustering) | SERP + People Also Ask briefs |
| santhej/keyword-clustering-tool | $0.13 / seed expansion + $0.001 start | Seed-based, not list-based | Expands seeds into a content plan |
| khadinakbar/surfer-seo-alternative | $0.02 / SERP request + $0.005 / brief | ~$0.50 for 20 briefs (no clustering) | One live SERP per brief |
| orbitai/googletrends-content-brief-generator | $0.10 start + $0.10 / result | ~$2.10 for 20 briefs (no clustering) | Google Trends based briefs |
Honest take. SERP-overlap clustering (doesaiknow) groups keywords the way Google actually ranks them and is more accurate on ambiguous terms; on the Free plan it costs about 5x more per 1,000 keywords and returns no briefs. Use this actor for the first-pass topical map and briefs on a full export, then check your top clusters against the SERP.
For AI agents / MCP
When an agent should call this actor: the user has a keyword list or export and asks to cluster it, build a topical map or pillar / cluster plan, or create content briefs or outlines from keywords.
Connect the Apify MCP server with only this actor enabled (works in Claude, ChatGPT, Cursor, VS Code, Codex and any MCP client):
https://mcp.apify.com?tools=cygnix_labs/keyword-clusterer-brief
Or search for it with the default server: search-actors keywords such as keyword clustering, content brief, topic clusters.
Example call-actor input:
{"keywords": ["best crm for small business", "crm pricing", "what is a crm", "crm vs erp"],"generateBriefs": true,"maxBriefs": 10}
What to read from the result: each row is one cluster: clusterName, pillarKeyword, intent, pageType, keywordCount, priority, keywords[] and brief (workingTitle, outline, faqs, schema, suggestedWordCount, internalLinks, answerFirst).
Cost control for agents: Set generateBriefs: false if the user only needs clusters; 100 keywords are free. Pass maxTotalChargeUsd in callOptions to hard-cap spend. This actor is pay-per-event, so it also works with Apify agentic payments (no Apify account needed for the agent).
Example prompt: "Cluster this 2,000-keyword Semrush export into topics and write briefs for the 10 highest-priority clusters."
FAQ
How does clustering work? Keywords are matched on their core terms (Jaccard similarity) with an intent tie-break, so it's fast and deterministic. In our 29 Oct 2026 test, 50,000 real multi-word phrases (PyPI package names, 42,770 clusters) finished in about 18 seconds. Informational keywords ("what is a crm", "how to choose a crm") are never merged into commercial or transactional clusters ("best crm", "crm pricing"), because Google ranks different page types for them. It does not compare live SERPs.
Is this different from SERP-based clustering? Yes. SERP clustering tools pay for live Google results on every keyword, which is slower and costs more per keyword. This actor clusters on shared terms and intent, so 10,000 keywords cost about $7 and finish in seconds. Use it for a first-pass topical map, then check your top clusters against the SERP.
Do I need search volume? No. With volume, clusters and pillar keywords are ranked by total volume. Without it, priority falls back to cluster size and intent (transactional and commercial clusters rank first).
Are duplicates charged? No. Keywords are lowercased and de-duplicated before clustering, and you pay only for unique keywords. The first 100 unique keywords and the first brief each run are free (see Pricing).
Which languages work? Any language with spaces between words: Spanish, French, German, Arabic, Japanese with spaces, and so on. Words are matched on Unicode letters, so café paris and meilleur café paris, or مطعم في الرياض and أفضل مطعم في الرياض, land in one cluster. English gets extra help (plurals, stop words, intent labels); other languages get intent unclear.
How do I cap my spend? Set a maximum charge per run in the run options, and lower maxBriefs (or turn off generateBriefs) if you only need clusters. The cap is respected exactly: keywords and briefs that don't fit are listed and not charged, never silently dropped.
What if none of my lines are valid, or the list is empty? The run still finishes as SUCCEEDED, charges nothing ($0) and returns one row explaining why, with the rejected lines in SUMMARY.invalidKeywords. Earlier builds marked these runs FAILED.
What does briefSkipped mean? Your maximum cost per run ran out before that cluster's brief. It is not charged. Only clusters inside your maxBriefs slots are flagged, so a 5,000-cluster run with maxBriefs: 20 never shows thousands of skipped briefs.
Why is my keyword missing? Check SUMMARY.invalidKeywords (URLs, numbers-only lines), duplicatesRemoved and notProcessedKeywords (max cost reached).
What do I do with the briefs? Hand them to a writer or paste one into ChatGPT or Claude as the outline for a draft. Each brief includes an answer-first intro line written to be quoted by AI Overviews.
Can an AI writer use the briefs directly? Yes. Each brief has an outline, FAQs, schema types and an answer-first intro line, so it can be pasted into ChatGPT or Claude as the structure for a draft.
Integrations
Run via the Apify API, schedule weekly runs, or send results to Google Sheets, Make, Zapier, n8n, Slack or webhooks.
Changelog
- 0.1.14 (2026-10-29): Empty or all-invalid input now finishes SUCCEEDED with a $0 explanation row instead of a FAILED run. Clustering uses a token index (same clusters, verified identical on 5,000 keywords; 20,000 keywords went from 43 s to 7 s in our test). Results are saved in batches of 1,000 rows (big exports no longer make one API call per cluster). Fixed
briefSkipped: when the max cost ran out, every cluster was flagged and counted; now only clusters insidemaxBriefsare. Comparison re-verified 29 Oct 2026. Price unchanged. - 0.1.12 (2026-10-20): Spend and billing fixes: keyword charges never go over your maximum cost per run (keywords that don't fit are listed, not clustered for free or dropped), brief charges stop exactly at the cap; the example CRM keywords are no longer mixed into pasted CSV runs; URLs, numbers-only and blank lines are skipped free. Import fixes: Google Keyword Planner title lines, quoted Semrush values ("1,300"), semicolon files, ragged rows (previously crashed the run). Non-Latin keywords (Arabic, Japanese, accented words) now cluster. Informational and commercial keywords are kept in separate clusters; internal links in briefs point to related clusters; pillar keyword prefers the head term. Richer SUMMARY. Price unchanged.
- 0.1.10 (2026-10-19): Brief titles now use proper Title Case and keep acronyms (CRM, SEO, SaaS, B2B, ERP, API…), so
workingTitle, outlines and FAQs are ready to paste. Sample output re-run on 19 Oct 2026; comparison re-verified. Price unchanged. - 0.1.9 (2026-10-18): README rewritten answer-first for search and AI agents: quick facts, comparison re-verified on 18 Oct 2026, honest SERP-clustering note, "For AI agents / MCP" section. Price unchanged.
- 0.1.8 (2026-10-16): Price $0.70 per 1,000 keywords + $0.01 per brief, first 100 keywords + 1 brief free.
More SEO and AEO tools by Cygnix Labs
- Website SEO Audit + AEO/GEO Checker (full-site crawl)
- AEO & GEO Audit + llms.txt Checker (URL list)
- Internal Link Audit & Orphan Page Finder
- Content Decay Audit (Search Console)
- Keyword Cannibalization Checker (Search Console)
- Search Intent Classifier
- Free local SEO MCP server: cygnix-seo-mcp (
npx -y cygnix-seo-mcp)
Questions or a feature request? Open an issue on this actor's Issues tab. We answer within 24 hours.