Cluster keywords by real SERP overlap
Group related keywords by the Google results they share when the cluster is generated, so every page targets one topic. Research in Seonio, call the REST API or ask your AI assistant.
Real clustering reports
Live clusters Seonio holds for these seed keywords. Open any card for the full report.
Know how many pages you need before you write
A content roadmap built from what Google ranks, not from guesswork.
Group keywords by Google's own results
Keyword pairs are compared by the ranking pages they share. The keywords form a weighted graph and the Louvain algorithm finds dense topic groups. Encyclopedias, marketplaces and reference sites are filtered out first so they do not create false links.
- SERP overlap scoring between keyword pairs
- Graph clustering for natural topic groups
- False-connection filter for noisy domains
| Keyword pair | Shared URLs | Bar |
|---|---|---|
| trail running shoes · best trail running shoes | 7/10 | |
| trail running shoes · trail shoes for men | 6/10 | |
| waterproof trail shoes · gore-tex trail runners | 6/10 | |
| trail running shoes · waterproof trail shoes | 2/10 | |
| trail vs road shoes · trail running shoes | 1/10 |
Get a page plan with the demand behind it
Each cluster names its primary keyword, sums the search volume of every keyword in it, and lists the pages that rank for two or more of its keywords.
- Primary keyword per page
- Total topic demand per cluster
- Ranking and competing pages
Keep every keyword accounted for
Keywords join a cluster only when they share at least two ranking URLs. Single keywords and small, low-volume groups move to an uncategorized group with their volume preserved.
- Minimum overlap thresholds
- Small groups set aside, not merged
- Uncategorized keywords kept, not dropped
| Keyword | Volume | KD |
|---|---|---|
| trail running shoes | 49,500 | 62 |
| best trail running shoes | 22,200 | 54 |
| trail running shoes women | 12,100 | 21 |
| waterproof trail shoes | 6,600 | 28 |
| trail vs road running shoes | 2,900 | 17 |
| trail running shoes wide | 1,600 | 14 |
How keyword clustering runs
Start with one keyword and end with the pages you need to write.
Enter a keyword
Pick a market and a seed topic.
Read the top 10
Ranking pages for every keyword.
Group by overlap
Shared URLs link keywords into topics.
Sum the demand
Total volume per cluster.
Write one page each
Primary keyword and supporting terms.
Clusters in your code and your AI assistant
Run clustering with your API key, or let ChatGPT, Claude or Cursor do it through MCP. Same prices, same balance.
| Cluster | Volume | Keywords |
|---|---|---|
| Trail shoes | 86,300 | 17 |
| Waterproof | 19,700 | 13 |
| Comparisons | 12,400 | 15 |
You need three pages. The “Trail shoes” cluster carries most of the demand at 86,300 searches a month across 17 keywords; waterproof shoes and comparisons each deserve their own page. Want the keyword list for each?
// Example only: see the setup guide for your client { "mcpServers": { "seonio": { "type": "http", "url": "https://seonio.com/mcp" } } }
Client-specific steps for ChatGPT, Claude, Cursor and more are in the MCP setup guide.
curl -X POST https://seonio.com/api/v1/keywords/clustering \ -H "Content-Type: application/json" \ -H "X-API-Key: $SEONIO_API_KEY" \ -d '{"country": "us", "keyword": "keyword research"}'
{
"keyword": "keyword research",
"country": "us",
"clusters": [
{
"name": "keyword research",
"volume": 673000,
"size": 3,
"keywords": [
{
"text": "keyword research",
"volume": 550000
},
{
"text": "keyword research tool",
"volume": 90500
},
{
"text": "free keyword research",
"volume": 33100
}
],
"shared_urls": [
"https://ahrefs.com/keyword-generator",
"https://moz.com/explorer"
]
},
{
"name": "long tail keywords",
"volume": 41200,
"size": 2,
"keywords": [
{
"text": "long tail keywords",
"volume": 27100
},
{
"text": "long tail keyword research",
"volume": 14100
}
],
"shared_urls": [
"https://backlinko.com/long-tail-keywords"
]
}
],
"uncategorized": [
{
"text": "keyword research course",
"volume": 880
},
{
"text": "keyword research for etsy",
"volume": 720
}
]
}| POST/keywords/global | $0.001 / keyword |
| POST/website/traffic | $0.01 / request |
| POST/backlink/table | $0.02 / request |
What our users say
Results reported by Seonio users.
Seonio’s unique similarity score showed us trending keywords we’d never thought of implementing in our ad campaigns and landing pages.
The Spam Score and DA metrics are essential for our link-building outreach. We now can vet prospects in seconds, saving us hours each week.
$10/mo is a no-brainer. Knowing what our potential clients actually search and our competition is ranking for, has shifted our whole online marketing strategy.
Pairs well with Keyword Clustering
Each one reads from the same balance and works in Seonio, the REST API and MCP.
Plans that scale with your usage
Create a free account with $1 to test Seonio. Subscribe when you are ready for monthly usage and Extra Usage.
- All website tools
- REST API and MCP
- 10 API requests per second
- Extra Usage while active
+25% more usage
- All website tools
- REST API and MCP
- 15 API requests per second
- Extra Usage while active
+50% more usage
- All website tools
- REST API and MCP
- 20 API requests per second
- Extra Usage while active
Questions, answered
The tool, usage, billing and coverage in plain words.
By the Google results they share. Keywords whose top-10 results overlap enough are linked, the links form a weighted graph, and the Louvain algorithm finds the topic groups. Reference sites and marketplaces are filtered out first.
A cluster reflects the Google results at the time it was generated. Search results move, so treat older clusters as a snapshot of that moment.
One run through the REST API or MCP costs $0.25 / request, drawn from your balance. In the Seonio app, datasets you already paid for on a report page load for $0 when you return within 7 days.
Each action has a published dollar price or formula, and website, REST API, and MCP actions share one balance. Dataset requests from the first signed-in website visit use their published prices. Datasets you already paid for there cost $0 when you return to the same page, including filters, within seven days. REST API and MCP keep their published prices.
Free accounts receive a one-time $1 testing balance. Starter includes $15, Pro $37.50 and Business $90 at each subscription-month boundary.
New Extra Usage is valid for one year. Testing balance is spent first, then included usage and Extra Usage expiring soonest. Buying and spending Extra Usage requires an active subscription.
Data actions pause until the next included refresh, or until you activate a subscription and add Extra Usage.
Yes. Verify a free account to receive a one-time $1 testing balance. No card is required, and the balance works without a subscription until it is used.
Starter is $15 monthly or $120 yearly, Pro is $30 monthly or $240 yearly, and Business is $60 monthly or $480 yearly.
Cancel anytime from Billing. You keep access until the end of the paid period. Remaining Extra Usage stays on your account but requires an active subscription to spend.
Refunds and statutory withdrawal rights follow our Terms and applicable law. Contact [email protected] with a billing question.
We currently cover 50 markets and add new countries regularly.
Email support for account, billing and product questions is available at [email protected].
Turn search insights into measurable growth
Start your SEO research in seconds.