The competitors on your battlecard aren't the ones in your SERPs
The domains you lose clicks to are rarely the companies you lose deals to. How to compare a keyword set, read the list that falls out, and work out which of those results you can actually take.
How do you find out who your real SEO competitors are?
Ask a founder to name their competitors and you get the sales answer: the three companies that come up in deal reviews. That list is real, and it's the wrong input for a content plan. Search doesn't rank companies, it ranks pages. The page you have to beat for a term you care about is often published by someone who's not in your market at all.
The fix is to stop naming competitors and start measuring them. Take a keyword set you'd genuinely like to own, compare every domain that turns up across those SERPs, and rank them by how much of that result space they hold. What you get back isn't a competitor list. It's a list of who's standing between you and the clicks right now.
Jeremy Moser, who runs the agency uSERP, calls this the first thing his team fixes on any new engagement:
A lot of folks will come in and say... these are the main core central themes or topics that we want to rank for long-term. But then when you actually go to the search results and you look and see what's there, sometimes it's just not even worth it.
The topic list and the SERP disagree more often than anyone expects. Measuring is what tells you which one to believe.
Why your SERP competitors aren't your business competitors
Here's a real comparison across five terms in the property restoration category. The head terms, plus one city-modified term.
The top result by visibility was the national brand everyone in that industry names first. No surprise. But fifth on the list was Yelp. Tenth was Home Depot. Twelfth was YouTube.
None of those three sell restoration services. All three sit in positions a restoration company would happily hold. A directory, a big-box retailer and a video platform were between them taking more of that result space than most of the actual restoration firms in the comparison.
That changes what you build. You don't out-content Yelp with a better service page. You either target the terms where a directory has no business being, or you accept a slice of that SERP is structurally out of reach and price your forecast accordingly.
The reverse surprise is just as useful. On the city-modified term, position one belonged to a small local operator nobody would have named. The national brand doing millions of visits a month was at position three, on its own category term, in a single city. Scale didn't decide that result. Relevance did.
The three groups every competitor list splits into
Once you've got the measured list, sort it into three buckets before you plan anything.
- Direct competitors who sell what you sell and rank for what you want. These are the ones worth a full competitor analysis, because everything they rank for is a page you could plausibly build too.
- Structural competitors like directories, marketplaces, review sites and video. You'll rarely displace them, but you can often join them. If Yelp holds a position on your term, being well-placed inside Yelp is a cheaper win than trying to rank above it.
- Accidental competitors who rank on one term because of a single strong page, usually a guide or a glossary entry. They're the softest targets on the list. One page beat you, so one better page can take it back.
Most competitive analysis fails because it treats all three as group one.
There's a fourth category worth keeping in mind, even though no tool will surface it for you. Jorge Chavez, who consults on sales process at Topaz Sales Consulting, makes the point that the competitor named in a deal review is usually not the one that actually wins:
You could ask anybody in any podcast you ever do, who's your biggest competitor? I suspect nine out of ten will tell you a name of a competitor... But the real answer is no change.
Search has the same problem. A lot of the demand you're measuring ends with nobody buying anything. A competitor list tells you who takes the clicks. It doesn't tell you which of those clicks were ever going to become customers, which is why the intent filter matters as much as the visibility ranking.
Run this in Role SEO
Comparing domains across a keyword set is one of the competitive research tools in the MCP.

Find SERP competitors runs through the MCP and the agent rather than through a page in the app. That's on purpose, and probably the better shape for it. The useful version of this question involves a keyword set, an exclusion list, and a judgement call about each result, which is a conversation rather than a form.
Using the Role SEO MCP, find the SERP competitors for [mydomain.com].
1. Compare these keywords: [list 5-15 terms you actually want to
own, including at least one modified the way a real buyer
would modify it]. Exclude my own domain from the results.
2. Return the domains sorted by visibility, and for each one show
which of my keywords it ranks for and at what position.
3. Sort the list into three groups:
- direct competitors who sell what I sell
- structural results (directories, marketplaces, review sites,
video, retailers) that I am unlikely to outrank
- accidental competitors ranking on a single strong page
4. For group three, tell me which single URL is ranking and what
it would take to beat it.
Flag anything in the list I would not have guessed.That last line is the one that earns its keep. The point of this workflow isn't confirmation. It's the names you didn't see coming.
Picking the keyword set to compare on
The output is only as good as the terms you feed it, and the most common mistake is feeding it your own vocabulary. If you compare on the words your marketing site uses, you get back the domains that also use your words, which is a smaller and friendlier world than the one you actually sell into.
Seed the comparison from customer language instead. The same discipline that governs seeding keywords from conversation applies here. Use the terms buyers actually type, not the terms your category page was written around. And keep at least one modified term in the set. Head terms tell you who's big. Modified terms tell you who's beatable.
Where to start
Pick five terms you'd be happy to rank for next quarter, run the comparison, and read the list without editing it. Then answer one question for each unexpected domain: is this a company, a platform, or a page?
Companies go into a full competitor analysis. Platforms go into a distribution plan. Pages go into your content backlog, and they're usually the fastest wins on the board.
From there, the next step is measuring the distance. Once you know who ranks, keyword gap analysis tells you what they hold that you don't, and reading their domain overview honestly tells you whether their advantage is really as big as it looks.
Finding SEO competitors FAQ
How do you find your competitors' websites?
Compare a set of keywords you'd like to rank for and see which domains show up across those results. That measured list is more reliable than one you build from memory, because it comes from the SERPs you're actually competing in, not from the companies you meet in sales calls.
What are the types of competitor analysis?
For search work, three groupings matter more than any formal framework. Direct competitors selling what you sell. Structural results like directories and marketplaces that own positions by category rather than by merit. And accidental competitors ranking on one strong page. Each one asks for a different response.
Should you target the same keywords as your competitors?
Only where you can plausibly win and the term matches something you sell. A competitor ranking for a term is evidence of demand, not evidence that you should chase it. Terms held by directories and marketplaces are often better joined than fought, and terms held by a competitor's single strong page are usually the cheapest to take.
Why does a small site outrank a big brand on some terms?
Because relevance is scored per page, not per company. A page written specifically for one query, in one city, for one intent, routinely beats a national brand's generic category page on that query. This is the single most useful thing a measured competitor list will show you.
Run this strategy in Role SEO
Run the MCP prompt in this guide with Role SEO. Role SEO is open source, free to try, and does not require a credit card.