SEO Skill

SEO competitor analysis

Find the sites that compete with you in Google, the pages that earn their traffic and the sites that link to them and not to you. Your agent runs each step from your own DataForSEO or Ahrefs key and shows the numbers it used.

Run it in a terminal, then sign in with Google.

Or run it on your machine

Installs the CLI, signs you in and adds the skill to your agents. Site crawls and Bing data run this way, on your own machine. A crawl fetches many pages, and Bing blocks our hosted server.

What an SEO competitor analysis answers

An SEO competitor analysis compares your site with the sites that rank for the same Google searches. It answers three questions: who ranks for the searches you want, which of their pages earn the traffic, and which sites link to them and not to you.

Your SEO competitors are often not the companies you sell against. A software company can lose its best searches to a publisher, a forum or a tool directory, and those are the sites to study first.

Plausible's 10 closest search competitors include 5 SEO sites

We ran this page's first step on plausible.io, the privacy-friendly web analytics product, with DataForSEO for the US on 11 November 2026. DataForSEO counted 15,475 domains that share at least one ranking keyword with plausible.io. These were the 10 with the most shared keywords, with each site's Domain Rating by Ahrefs:

DomainShared keywords (DR)
google.com653 (DR 100)
semrush.com590 (DR 92)
medium.com535 (DR 94)
backlinko.com481 (DR 90)
hubspot.com474 (DR 93)
ahrefs.com436 (DR 91)
neilpatel.com436 (DR 91)
monsterinsights.com423 (DR 83)
seranking.com386 (DR 86)
matomo.org369 (DR 92)

Besides Google, only 2 of the 10 sell website analytics: MonsterInsights, a Google Analytics plugin for WordPress, and Matomo. Five are SEO tools or SEO blogs. Simple Analytics, a direct rival, shares 127 keywords and sits far down the list.

The top pages for plausible.io show the likely reason. Its backlinks guide ranks for 170 keywords, including "backlinks" (4,400 US searches a month) in sixth place, and those are exactly the searches Semrush, Ahrefs and Backlinko compete for. The home page carries the business: by DataForSEO's estimate it earns 1,193 of the site's 1,808 monthly visits from search (66%).

The lesson works for any site: a competitor list counts shared keywords, so read it next to your own top pages. A site that only shares one off-topic guide with you is not a competitor worth a strategy.

Set up competitor analysis in your agent

  1. Add the hosted MCP server to Claude Code, Codex, Cursor, ChatGPT or any client with remote MCP, and sign in with Google. The commands are at the top of this page.
  2. Save a DataForSEO or Ahrefs key on your account page. The provider bills you directly, and every DataForSEO result says what the request cost.
  3. Ask in plain words, like the prompts in the steps below.

Prefer a terminal? npm i -g seo then seo start gives you the same data through the seo research command, with the key kept on your machine. Each step below shows the prompt and the command.

Run an SEO competitor analysis in 5 steps

1. Find your SEO competitors

Who are the SEO competitors of example.com in the US? Group them into direct rivals, publishers and tools.
seo research competitors --target example.com --country us

The competitors list gives each domain's shared keywords, its average position on them and its own keyword count. Your own site and platforms that share keywords with almost everyone, such as YouTube, Reddit and Wikipedia, are left out, and the result names each one it dropped. For a quick read on any one of them, ask for a domain overview: its estimated traffic, top pages, competitors and links in one answer.

2. See which pages earn their traffic

Show the top pages of example.org and say what each one is: guide, tool, comparison or product page.
seo research top_pages --target example.org --country us

Top pages rank a site's pages by estimated search traffic, with how many keywords each page ranks for in first place, second or third, and fourth to tenth. Add a trailing slash to read one section, such as example.org/blog/. The page types tell you what Google rewards in your market better than any keyword list.

3. Read what one competitor page ranks for

What does https://example.org/blog/pricing-guide rank for, and which of those searches could one of my pages win?
seo research ranked_keywords --target https://example.org/blog/pricing-guide

A full URL reads that one page. Each row has the keyword, its position, its monthly searches and its difficulty, so you can see the long tail a single strong page collects.

4. Check who ranks for the searches you want

Show the top 10 for "invoice software for freelancers" and "freelance invoice app" with each site's Domain Rating, and say whether they need one page or two.
seo research serp --keywords "invoice software for freelancers,freelance invoice app" --depth 10
seo research serp_overlap --keywords "invoice software for freelancers,freelance invoice app"

The SERP lists who ranks today for up to 5 keywords, each with its domain's authority, and the sites an AI Overview cites. A first page full of sites with a lower Domain Rating than yours is a better target than a low difficulty score. SERP overlap counts how many top 10 pages and sites each pair of searches shares. DataForSEO often returns Google redirect links without the exact page, so compare sites with it, or use Ahrefs when you need pages.

5. Find the sites that link to them and not you

Run a link gap for example.com against example.org, example.net and competitor.example. Which sites link to two or more of them and not to me?
seo research link_gap --target example.com --competitors example.org,example.net,competitor.example

Link gap reads each site's top 1,000 referring domains and lists the sites that link to at least two of your competitors and not to you, highest Domain Rating first. URL shorteners, link lists and site-stats directories link to almost everyone, so they are left out and named. To see what earns a competitor its links, ask for pages_by_backlinks, and for one site's full list ask for backlinks.

Link gap works best between sites of a similar size. When one site has more than 1,000 referring domains, the list stops where the read stopped rather than guess below it. The backlink gap analysis page has a worked run and how to read the result.

Compare their keywords with yours in a keyword gap

Steps 1 to 3 show what competitors rank for. The next question is which of those searches you are missing. The keyword gap analysis page shows how your agent compares each competitor's ranked keywords with your own Search Console queries, with a worked example. For a quick look at one competitor's keywords without an account, use the free competitor keyword research tool.

What competitor data can and cannot show

Every number on this page is a provider estimate from DataForSEO's or Ahrefs' own index, and the two providers count keywords and traffic differently, so compare competitors within one provider. Shared keywords say two sites appear for the same searches, not that they sell the same thing. An empty list means the provider has nothing for that site in its database. When you want to know what your own pages actually get, your Search Console is the number to trust, and your agent keeps it apart from the estimates.