SEO

AI backlink analysis with Claude: audit links and find competitor gaps

Connect Claude to Manifold MCP, run an AI backlink analysis: audit your own links, pull the sites that link to competitors, find the backlink gap, then get contacts and a draft pitch.

Jesse Sibley
By , FounderPublished · Last updated · 19 min read

A backlink analysis is the list of sites that link to you or to a competitor, scored so you can tell which links matter and which sites to pitch next. You can run the whole job in Claude as an AI backlink analysis: connect Manifold MCP, pull your own link totals, audit the referring domains, reverse engineer three competitors, find the backlink gap, then get a contact and a draft pitch.

A short real run of the summary and referring-domain calls is check your backlinks. This page is the deep how-to, including competitor backlink analysis, the backlink gap, pasteable prompts, and what to monitor afterwards.

  1. Connect Manifold MCP to Claude (claude.ai, Claude Desktop or Claude Code).
  2. Pull your link summary: backlinks, referring domains, dofollow share, domain rank, spam score.
  3. Audit referring domains: which sites pass rank, which look like directories or spam.
  4. Analyze three SERP competitors: the domains that share search results with you, not only the businesses you already have in mind.
  5. Find the backlink gap: domains that link to two or more of those competitors and not to you.
  6. Shortlist by domain rank, spam score and relevance. Drop directories and scrapers.
  7. Find who to email at each target site and draft a pitch you will personalize.
  8. Track the keywords those links are meant to move, or watch a competitor's press or partners page.
Four step diagram: audit your links, analyze competitors, find the link gap, contact and pitch
How to run a backlink analysis in Claude: audit your links, analyze competitors, find the link gap, then contact and pitch.

There is no dedicated backlink-gap tool. Claude computes the intersect from seo_get_referring_domains on you and on each competitor. Monitors are on every plan, including Free, and their checks cost no credits. There is no backlink monitor. The free plan keeps 1 monitor. A Google rank monitor on Free watches 3 keywords. Monitors a workspace can keep, by plan: 1 on Free, 5 on Pro, 25 on Growth, 100 on Agency. For types and cadences, see how monitors work.

What to look at

AI overviews of this query name the same handful of metrics. Here is which Manifold tool returns each one.

MetricMeaningManifold tool
Referring domainsDistinct sites that link to the target. referring_main_domains counts registered domains; referring_domains counts subdomains too.seo_get_backlink_summary for the totals. seo_get_referring_domains for one row per site.
BacklinksIndividual links. One directory can be hundreds of rows.Totals on the summary. Each link from seo_get_backlinks.
Dofollow shareShare of links that pass rank, 0 to 1.seo_get_backlink_summary (dofollow_share). Per-domain dofollow counts on referring-domain rows.
Domain rankDataForSEO's score, 0 to 1000.The summary for one target. seo_get_domain_ratings for a list.
Anchor textThe clickable text of each link.seo_get_backlinks (anchor). The summary does not return an anchor mix.
Spam score0 to 100.Average of the backlinks on the summary. Per linking site on referring-domain rows. Per link on seo_get_backlinks.
Lost linksLinks found before and gone at the last check.seo_get_referring_domains or seo_get_backlinks with status lost. The summary has first_seen (first link in the index) and no new or lost totals.

rank_passed on a referring-domain row is the rank that domain's links pass to the target, 0 to 1000. It is not the linking site's own rank. The list is sorted by rank_passed, so the "strongest" row is not necessarily the most authoritative site. Rate a shortlist with seo_get_domain_ratings before you treat a domain as worth a pitch. seo_get_backlinks is the call that puts the strongest referring domain first (dr_from is that domain's own rank).

What it costs

Data comes from DataForSEO. You do not register an SEO subscription of your own. You pay per call with credits. Default rows are 100, cap 1,000. Backlink calls are cached 7 days. A repeat this account already paid for comes back at no cost.

Worked from the credit formulas:

  • seo_get_backlink_summary: 10 credits flat. Cached 7 days.
  • seo_get_referring_domains: 10 credits, then 1.5 per 100 rows. Default 100 rows = 12 credits. 1,000 rows = 25. Cached 7 days.
  • seo_get_backlinks: the same formula. Default 100 rows = 12 credits. Cached 7 days. Use this for anchors and the pages that earn links.
  • seo_get_domain_ratings: 7 credits, then 2.5 per 100 domains. About 40 domains = 8 credits. Default 100 = 10. Cached 7 days. Up to 1,000 domains in one call.
  • seo_get_serp_competitors: 5 credits, then 5 per 100 rows. Default 100 rows = 10 credits. Cached 7 days.
  • leads_get_domain_emails: 1 credit per domain asked, then 30 more for each domain that returns addresses. One found domain = 31 credits. Up to 20 domains per call. Cached 30 days. Addresses come back unverified for the most part; leads_get_email_status is 1 credit per address you actually want to send to.

A full analysis, SERP competitors (10) plus your summary (10) plus your referring domains (12) plus three competitors' referring domains (36) plus ratings on a shortlist of about 40 (8), is about 76 credits. Add one 100-row backlinks call for anchors and you are around 88.

That audit fits the free plan's 250 credits a month. Outreach is the expensive step. Five sites that return addresses are 155 credits (1 + 30 each). Audit plus those five is about 230, which still fits. Ten sites that all return addresses are 310 credits on their own, which does not fit the remaining free-plan credits after the audit. Pull the gap first, then contact a shortlist.

A suite seat is a monthly subscription for a UI: a huge link index, historical charts, lost-link alerts, team logins. Skip those prices here. If you came from a suite and want its own MCP, see other SEO MCP servers. This guide is the how-to without that seat.

Step 1: connect Manifold MCP to Claude

Manifold is a hosted MCP server. It is listed in the official MCP registry as com.manifoldmcp/manifold. Every account gets 250 credits a month on the free plan. Full client steps are in the docs. Credit formulas are on the credits page.

Claude.ai and Claude Desktop. From the Claude setup guide:

  1. Open Settings, then Connectors.
  2. Choose Add custom connector. Name it Manifold and paste the server URL from the setup guide.
  3. Choose Connect, sign in to Manifold, and approve Claude.
  4. Start a chat, check that Manifold is on in the chat's tools menu, and ask a question.

A connector you add on the web is also there in the desktop app and on your phone. The first time you sign in, Manifold creates your account on the free plan.

Claude Code. From the Claude Code setup guide: add the server with the URL from that guide. Start Claude Code, run /mcp, choose manifold, and finish sign-in in the browser. Add --scope user to have it in every project.

Paste this to check the connection:

Which Manifold tools summarize backlinks, list referring domains, list individual backlinks, rate many domains, find SERP competitors, and find emails at a domain? Tell me the default cost of each at 100 rows (or one found domain for emails), and that there is no backlink-gap tool.

Claude should name seo_get_backlink_summary, seo_get_referring_domains, seo_get_backlinks, seo_get_domain_ratings, seo_get_serp_competitors and leads_get_domain_emails. Those are on the SEO tools and leads tools pages. Monitor tools (monitoring_create_monitor and the rest) cost 0 credits to call, and so do the checks they schedule. Every parameter is on the monitoring tools page.

The wider Claude setup, plugins and four SEO workflows, is Claude SEO. Keep this page on the links.

Step 2: audit your own profile

Start with you, not the competitors. seo_get_backlink_summary takes a domain or page as target and returns the totals: backlinks, referring_domains, referring_main_domains, dofollow_share (0 to 1), domain_rank (0 to 1000), spam_score (backlinks' average, 0 to 100), broken_backlinks, first_seen, and counts by link type, attribute, placement, platform, TLD and country. 10 credits. Subdomains are included by default; a URL target ignores that flag.

Then seo_get_referring_domains on the same target, default 100 rows = 12 credits. Each row is a linking site: domain, rank_passed, backlinks, dofollow_backlinks, spam_score, first_seen. Raise limit to 1,000 (25 credits) when the profile is large; 100 rows on a site with thousands of linking domains is a sample, sorted by rank passed, not a complete list.

Paste:

How strong is [site]'s backlink profile? Pull the summary, then the top 100 referring domains. Tell me backlinks vs referring domains, dofollow share, domain rank, average spam score, and first_seen. Flag domains with spam score 25 or more, and domains that pass no rank. Group the rest: real articles, directories, and junk. Do not treat rank_passed as the linking site's own authority.

For the anchor mix and the pages that earn links, add seo_get_backlinks (12 credits for 100 rows). Group by url_to after stripping query strings, and count distinct domain_from per page, not rows. Sitewide directory links dominate a raw row list.

Disavow. A handful of low-quality links is normal. Google's own disavow documentation is for a manual action, or for links you know were built to manipulate rankings. A spam score on a row is not that. Most sites do not need a disavow file. Do not upload one because a checker painted domains red.

Lost links are a separate call: seo_get_referring_domains or seo_get_backlinks with status lost. Use that when you are chasing a drop, not on every audit.

The competitors in a sales meeting are often not the domains on page one. seo_get_serp_competitors takes your domain as target and returns domains that share search results with it: domain, shared_keywords, avg_position, organic_traffic. Sorted by shared keywords. The target itself is excluded. These are SERP competitors, not business competitors. How to pick them, and how that list feeds a keyword gap, is the keyword gap analysis guide. The use case for that sibling job is find competitor keyword gaps.

Paste:

Find SERP competitors for [site]. List domain, shared keywords, average position and organic traffic. Drop wikipedia.org, reddit.com, youtube.com, linkedin.com, facebook.com and amazon.com unless they are actually who we lose rankings to. Keep the next three domains. Say why each stayed.

Two or three remaining domains is enough. Then pull referring domains for each, 100 rows (12 credits) or 1,000 (25) on a large publisher.

Paste:

For each of these three domains, pull referring domains, 100 rows. Then, on the strongest competitor, pull 100 backlinks and group them by target URL (strip query strings) so I can see which pages earn links. Those pages are the linkable assets: data, tools, research, comparisons. Do not invent pages that were not in the rows.

A page that attracts links is the thing to replicate, not a homepage with a sitewide footer. If one competitor's list is all tool directories and blog networks, say so and spend the next credits on a different rival.

A backlink gap analysis is the list of domains that link to two or more competitors and not to you. Manifold has no intersect tool. Claude builds it: your referring-domain set minus theirs, then the overlap across competitors.

Paste:

You have referring domains for [site] and for these three competitors. List domains that appear on two or more competitor lists and not on ours. Drop exact-match of our own domain and obvious subdomains. Then rate the remaining domains with seo_get_domain_ratings in one call. Return a table: domain, domain_rank, which competitors they link to, spam_score from the referring-domain rows, and a one-line guess at the linked page type. Sort by domain_rank, then by how many competitors they link to. Drop directories, scrapers, comment-spam hosts, and anything with spam_score 25 or more unless I ask to keep it.

Filter in this order:

Relevance. If you would not want the link, drop it. A regional plumber directory is not a gap for a B2B API.

Spam score. The 25 cutoff above is a working sort, not a law. Read the domain.

Domain rank. High rank on an unrelated site is still the wrong pitch. Low rank on a niche blog that linked two rivals is often the better email.

Link type. A sitewide footer on all three competitors is a paid listing, not an editorial gap. seo_get_backlinks on that domain's rows (or on the competitor page they link to) shows whether the link sits in an article.

100-row pulls miss linking sites that pass little rank. If the three competitors are large, rerun referring domains at limit 1,000 (25 credits each) before you trust an empty gap.

Step 5: find who to contact and draft the pitch

leads_get_domain_emails takes up to 20 domains and returns addresses known for each site: name, role, department, confidence, and whether the address looks personal or generic (press@, info@). 1 credit per domain, plus 30 if that domain returns any addresses. Filter department to marketing and communication when you want editors and content people. Default is all departments.

Paste, after the shortlist:

For these [n] domains, find email addresses with leads_get_domain_emails, departments marketing and communication. Prefer a named person in content, editorial or partnerships over a generic inbox. For each domain return: domain, name, role, email, confidence, and a two-sentence pitch that names the page they already linked (from the competitor backlinks) and the page of ours that is the closest match. Do not send anything. I will personalize each one. If a domain returns no addresses, say so and stop; do not guess an email.

Personalize. A pitch that only swaps the domain name is spam. Name the URL they linked, why your page is the closer resource, and one fact from their site. If the list is long, send a few a day. leads_get_email_status (1 credit) is for the addresses you are about to use, not for the whole dump. Many addresses come back unverified; an accept_all mail server means no address there can be proven.

Do not contact every domain in the gap. Ten found domains are 310 credits. Five is 155. Pick the five you would actually write to.

Paste this as one prompt after Manifold is connected. It should return a table you can sort, not a narrative.

TEXT
Run a backlink analysis for [site] in the United States.

1. Pull seo_get_backlink_summary for [site], then seo_get_referring_domains,
   100 rows. Summarise totals, dofollow share, domain rank, spam score,
   and flag junk directories.
2. Find SERP competitors with seo_get_serp_competitors. Drop wikipedia.org,
   reddit.com, youtube.com, linkedin.com, facebook.com and amazon.com unless
   they are actually who we lose rankings to. Keep three domains.
3. For each of those three, pull seo_get_referring_domains, 100 rows.
   On the strongest competitor, also pull seo_get_backlinks, 100 rows, and
   group by target URL so we see which pages earn links.
4. Compute the backlink gap: domains on two or more competitor lists and
   not on ours. There is no intersect tool; use the four referring-domain
   lists. Drop directories, scrapers and spam_score 25 or more.
5. Rate the remaining domains with seo_get_domain_ratings in one call.
6. Keep the top 8 by relevance first, domain_rank second. Find emails with
   leads_get_domain_emails (marketing and communication). Do not invent
   addresses. Then a two-sentence pitch each, naming the page they linked
   and our closest page. Do not send.
7. Return a table with columns: domain, domain_rank, links to which
   competitors, linked page, contact, angle. Sort by domain_rank.
   Limit to 8 rows. Only use tool output.
   Then preview a weekly Google rank monitor on [site] for the three
   keywords these links are meant to help, location United States.
   Show what it will watch, and wait for me before creating it.

Worked example (illustrative)

The names, ranks and contacts below are an example, not measurements of a real site.

Acme sells B2B software at acme.example. After connecting Claude, Acme pastes the template with [site] as acme.example. Claude keeps three SERP competitors, say rival.example, tools.example and agency.example, and drops youtube.com.

Example table (illustrative):

DomainDomain rankLinks toLinked pageContactAngle
reviews.example410rival, toolsrival.example/alternativessam@reviews.exampleTheir alternatives roundup omitted Acme
handbook.example280rival, agencyrival.example/blog/benchmarkseditor@handbook.exampleThey cited rival's benchmark; Acme has 2026 figures
stack.example190tools, agencytools.example/integrationspress@stack.exampleIntegration directory lists two rivals
directory.example60all threehomepage footerskipSitewide listing, not editorial

None of those rows are live measurements. They show the shape: a roundup and a research citation worth a personal email, a directory that may be a listing fee, and a sitewide footer to skip.

For your own site, Google Search Console's Links report is free: top linking sites and top linked pages, as Google has seen them. It will not show a competitor. Manifold's Search Console tools read queries, pages, sitemaps and indexing from your connected account at 0 credits; they do not return that Links report. Use Console in Google's UI for your own links, and Manifold's backlink tools when you need a competitor or a spam score.

For competitors, the free plan includes 250 credits a month. The audit and gap above is about 76 credits. That is a free backlink check in the sense that it fits the plan, not in the sense of unlimited. Cached repeats this account already paid for cost nothing for 7 days.

A "free backlink checker" landing page that asks for a domain and shows a widget is a different product. This page is the workflow in Claude.

There is no backlink monitor, and no lost-link alert. Creating a monitor and its checks cost 0 credits. On Free you keep 1 monitor, so pick one of these two.

Google rank tracking, if the point of the pitch is rankings. One site, one location (default United States), desktop. 1 to 50 keywords on the preset. On Free, the plan cap is 3 keywords. Default cadence is weekly. Daily is the fastest it runs. Alerts start off. The first check records a starting point and reports nothing. The setup in depth is the free rank tracker guide.

Paste, after the table:

Preview a weekly Google rank monitor named "Link targets" for [site] on these keywords, location United States: [k1], [k2], [k3]. Description: "Keywords the backlink pitches are meant to help." Show what it will watch, and wait for me before creating it.

Website tracking, if you care that a competitor keeps collecting the same kind of link. A Website tracking monitor holds 1 to 10 pages. Default cadence is daily. Alerts start off. Default mode new_items reports new child links under each page, which fits a /press, /partners or /blog URL. The setup is how to monitor website changes. Watching a rival's ranks on the same keywords is a second monitor; that wider setup is how to track competitors.

You can also start from the dashboard form. The product page is monitors.

On Free this is the one monitor you keep. Pro keeps 5 and lifts the per-monitor keyword cap to the preset's 50.

Limits, and when a suite is still better

This workflow is a few live calls, a gap you compute in the chat, and a short list you actually email. It is the right job for a founder or an SEO who wants the next ten pitches, not a dump of 50,000 rows.

You will still want a suite when you need:

  • A historical link index, with charts of links gained and lost over years
  • Huge exports across many competitors at once, and a Venn UI for the intersect
  • Lost-link alerts on a schedule (Manifold has no backlink monitor)
  • Team seats on that UI, with saved projects

Referring-domain pulls cap at 1,000 rows, sorted by rank passed. They are a model of DataForSEO's backlink index, not Google's graph and not Search Console. Positions of the pages those links support still want a rank check or Console. Do not rerun the whole gap every morning. Backlink calls are cached 7 days. Let a monitor watch the keywords or the competitor page instead.

Run this in your agent

Connect Manifold to Claude, ChatGPT or Cursor, then paste this prompt.

Run a backlink analysis for [site] in the United States. Pull our backlink summary and 100 referring domains. Find SERP competitors, drop Wikipedia, Reddit, YouTube and other giants, and keep three domains. For each, pull 100 referring domains. On the strongest competitor, pull 100 backlinks and group by target URL so we see which pages earn links. Compute the backlink gap: domains two or three competitors have and we do not. There is no intersect tool. Drop directories, scrapers and spam_score 25 or more. Rate the rest with seo_get_domain_ratings. Keep about eight by relevance, then domain rank. Find emails with leads_get_domain_emails (marketing and communication). Do not invent addresses. Return a table: domain, domain_rank, links to which competitors, linked page, contact, angle. Then preview a weekly Google rank monitor on [site] for the three keywords these links are meant to help, location United States, and wait for me before creating it.

Run the workflow, then create the monitor

Run the backlink analysis, then create the Google rank monitor for the keywords the pitches are meant to help, or a website monitor on a competitor's press page. Every account gets 250 credits a month on the free plan. A typical audit and gap is about 76 credits. Five sites that return addresses add about 155. Creating a monitor and its checks cost 0 credits. On Free a rank monitor watches 3 keywords.

Open the check your backlinks use case for a real summary call, or monitors and the dashboard form to start the tracker. Connect Claude and paste the prompt above. The preview shows what the monitor will watch before anything is created.

Questions people ask

What is backlink analysis?

Backlink analysis is the job of listing the sites that link to a domain or page, scoring which links matter (referring domains, dofollow share, domain rank, anchors, spam score), and deciding what to do: earn similar links, ignore junk, or disavow only in the rare case of a manual action or a clear link scheme.

How do I find competitor backlinks?

Call seo_get_referring_domains on the competitor's domain for one row per linking site, or seo_get_backlinks for the individual URLs, anchors and target pages. Pick the competitors with seo_get_serp_competitors so you use domains that share search results with you, not only the businesses you already treat as rivals.

What is a backlink gap analysis?

A backlink gap analysis is the list of domains that link to two or more competitors and not to you. Manifold has no dedicated intersect tool. Your agent pulls referring domains for you and for each competitor, then keeps the overlap. Rate those domains with seo_get_domain_ratings before you pitch.

How often should I do a backlink audit?

After you have worked the last shortlist, or about once a month. The backlink calls are cached for 7 days, so running twice in a week often hits the cache. Use a Google rank monitor or a website monitor on a competitor page so you do not have to rerun the whole analysis to see whether a pitch did anything. Creating a monitor and its checks cost 0 credits.

Should I disavow bad links?

Usually no. A handful of low-quality links is normal, and a spam score on a row is not a reason to upload a disavow file. Google's disavow tool is for a manual action, or for links you know were built to manipulate rankings. Most sites do not need one.

Can Claude analyze backlinks without an SEO tool?

No. Claude can filter junk, compute a gap from lists, and draft a pitch, but it cannot see who links to a site unless you connect link data. That is what Manifold MCP provides: hosted, no SEO subscription of your own, pay per call. Without that data, any backlink list Claude invents is a guess.

Sources

Jesse Sibley

Jesse Sibley

Founder of Manifold. A growth engineer who has worked with London startups for eight years.

All SEO guides