Backlink Researcher
[Live] ·
agent__backlink-researcher· Claude Sonnet 4.6
Identifies high-quality backlink prospects — domains likely to link to the client — by analysing competitor link profiles, resource pages, and content assets, then scores each prospect by domain authority, relevance, and relationship warmth.
Overview
| Function | Build a scored prospect list of domains likely to link to the client, classified by outreach type and prioritised by domain rating and relationship warmth |
| Type | Worker — SEO |
| Model | Claude Sonnet 4.6 |
| Queue | agent__backlink-researcher |
| Concurrency | 3 |
| Timeout | 8 min |
| Est. cost / task | ~$0.60 |
| Plan | Pro+ |
Triggers
| Trigger type | When | Who initiates |
|---|---|---|
| Activity Planner dispatch | Monthly backlink pipeline — Strategist enqueues Backlink Researcher at the start of the month’s link-building campaign, before any outreach is drafted | Activity Planner |
| Human on-demand | User clicks “Find prospects” in DM Portal — e.g. when launching a new content asset or targeting a new keyword cluster for link acquisition | Tenant admin / DM reviewer |
| Scheduled / cron | Monthly cron — runs on the 2nd of each month to refresh the prospect pool for the upcoming outreach cycle | Platform scheduler |
Input
interface BacklinkResearcherInput {
tenantId: string;
clientDomain: string; // e.g. "acme.com"
clientNiche: string; // e.g. "B2B SaaS project management"
contentAssets: ContentAsset[]; // existing high-value pages worth linking to
maxProspects: number; // default 20; max 50
campaignId?: string;
focusTypes?: ProspectType[]; // optional — filter to specific outreach types
}
interface ContentAsset {
url: string;
title: string;
description: string; // one sentence on what makes it link-worthy
assetType: 'guide' | 'tool' | 'data-study' | 'case-study' | 'comparison' | 'template';
}
type ProspectType =
| 'resource-page'
| 'guest-post'
| 'broken-link'
| 'competitor-backlink'
| 'mention';Output
interface BacklinkResearcherOutput {
tenantId: string;
clientDomain: string;
generatedAt: string; // ISO timestamp
totalProspects: number;
prospects: BacklinkProspect[];
researchSummary: string; // 2–3 sentence summary of findings
}
interface BacklinkProspect {
id: string;
domain: string;
domainRating: number; // 0–100 Ahrefs/SEMrush DR
relevanceScore: number; // 1–10 agent-assessed relevance to client niche
relevanceReason: string; // why this domain is relevant
contactPageUrl: string; // verified contact or "write for us" page URL
existingRelationship: RelationshipLevel;
prospectType: ProspectType;
pitchAsset: string; // which contentAsset URL to pitch to this prospect
pitchRationale: string; // why this asset fits this prospect
priority: 'high' | 'medium' | 'low';
priorityRationale: string;
}
type RelationshipLevel =
| 'warm' // existing partnership, association, or known contact
| 'brand-mention' // has mentioned the client by name without linking
| 'cold'; // no prior relationshipSample output excerpt
## Backlink Prospect Report — acme.com
**Generated:** 2026-03-02 | **Prospects found:** 18 of 20 requested
---
### Research Summary
17 competitor backlink domains were identified — 6 link to all 3 major competitors but not to
acme.com, representing the highest-priority outreach targets. 3 resource pages in the project
management niche were found that list tools in acme.com's category. 2 brand mentions (no link)
were identified on SaaS review blogs with DR > 50, making them the warmest prospects in the list.
---
### Prospect 1 (High Priority)
**Domain:** projectmanagement.com | **DR:** 72 | **Relevance:** 9/10
**Type:** Competitor backlink (links to Asana, Monday.com, ClickUp — not acme.com)
**Existing relationship:** Cold
**Contact page:** projectmanagement.com/contact
**Pitch asset:** acme.com/guides/construction-pm-software-comparison
**Pitch rationale:** Their "Best PM Tools for Construction" resource page links to 3 competitors.
The acme.com comparison guide covers the construction niche more deeply than any linked resource.
---
### Prospect 2 (High Priority)
**Domain:** techblogreviews.io | **DR:** 58 | **Relevance:** 8/10
**Type:** Brand mention (mentioned "Acme" in their SaaS roundup, no link)
**Existing relationship:** Brand mention
**Contact page:** techblogreviews.io/write-for-us
**Pitch asset:** acme.com/features/integrations
**Pitch rationale:** The existing mention in their article is unlinked. A simple outreach
asking them to add the link to the existing mention has the highest conversion probability
of any prospect in this list.
---
### Prospect 3 (Medium Priority)
**Domain:** saasfoundry.com | **DR:** 61 | **Relevance:** 7/10
**Type:** Guest post opportunity
**Existing relationship:** Cold
**Contact page:** saasfoundry.com/guest-post-guidelines
**Pitch asset:** acme.com/blog/product-led-onboarding-guide
**Pitch rationale:** Published 3 guest posts this month on SaaS topics (DR 55–70 authors).
Active editorial calendar with 2–3 SaaS ops posts per month — a strong fit for a thought
leadership post referencing the onboarding guide.How It Works
-
Load client context and content assets. The Client Context File and
contentAssetsinput provide the link-worthy resources to pitch. Tenant settings supplyclientNiche,industry, andtargetAudience. -
RAG: competitor backlink sources. Query Competitor Research for competitor link profiles — domains that already link to the client’s direct competitors. Domains linking to 2+ competitors but not to the client are the highest-priority “competitor backlink” prospects. Query Client Documents for existing partnerships, industry associations, and supplier/reseller relationships — these are “warm” prospects.
-
Competitor backlink analysis. Call
semrush_backlink_analyticsfor each known competitor domain (up to 3 competitors from the Client Context File). Extract unique referring domains with DR > 30 and relevance to the client’s niche. Deduplicate across competitors and remove any domain already linking toclientDomain. -
Link building tool scan. Call
semrush_link_buildingto identify: (a) resource pages in the niche that curate tools or guides, (b) broken link opportunities (pages that link to dead resources the client’s content could replace), (c) unlinked brand mentions. -
Ahrefs supplementary data (if configured). If
ahrefs_site_exploreris available in tenant settings, call it for a second competitor domain to cross-validate DR scores and surface any prospects SEMrush missed. -
Verify contact pages. Call
web_fetchon the top 25 prospect domains to verify: (a) the contact page or “write for us” page exists and is accessible, (b) the domain is active and not a spam/parked domain, (c) the domain’s content is genuinely relevant to the client’s niche. Remove any prospect that fails verification. -
Score and prioritise. Score each prospect using: DR (40%), relevance score (30%), relationship warmth (20%), prospectType conversion rate (10%). Apply the conversion rate multiplier by type: brand-mention (highest) > broken-link > competitor-backlink > resource-page > guest-post. Rank the final list and apply
prioritylabels: top 30% = high, middle 40% = medium, bottom 30% = low. -
Match content assets to prospects. For each prospect, select the most relevant
contentAssetfrom the input. The pitch rationale explains the specific connection between the asset and the prospect’s audience or existing content.
System Prompt
You are an SEO link-building strategist at a digital marketing agency. Your job is to
identify and score backlink prospects for a client based on competitor link profiles,
resource page opportunities, and brand mentions.
CLIENT CONTEXT:
{{CLIENT_CONTEXT}}
TENANT SETTINGS:
{{TENANT_SETTINGS}}
KNOWLEDGE BASE CONTEXT:
{{RAG_CONTEXT}}
You have been provided with:
- Competitor backlink data from SEMrush (referring domains, DR scores, anchor text)
- Resource page and broken link opportunities from SEMrush Link Building tool
- Ahrefs site explorer data (if available)
- Contact page verification results for candidate domains
- Client document data: existing partnerships, industry associations, and known contacts
Your output must be a scored, prioritised prospect list of up to {{MAX_PROSPECTS}} domains.
For each prospect, provide:
1. Domain and domain rating (DR from tool data — never fabricate scores)
2. Relevance score (1–10) with specific rationale — why is this domain's audience
likely to value a link to the client?
3. Prospect type: resource-page, guest-post, broken-link, competitor-backlink, or mention
4. Existing relationship level: warm (known contact/partner), brand-mention, or cold
5. Contact page URL (verified — must be a URL returned by web_fetch, not guessed)
6. Which content asset to pitch, and why that asset fits this prospect specifically
7. Priority: high / medium / low — justified by DR + relevance + relationship warmth
Prioritisation rules:
- Warm prospects (existing relationships, unlinked brand mentions) are ALWAYS high priority
regardless of DR — the conversion probability is 3–5x higher than cold outreach
- Competitor backlinks (domains linking to 2+ competitors) are the most evidence-backed
targets — they've demonstrated willingness to link in this niche
- Guest post opportunities have the lowest conversion rate per outreach; only include
high-DR (> 50) sites with active, recent editorial activity
- Do not include domains with DR < 25 unless they have an exceptional relevance reason
- Do not include PR newswire sites, article directories, or low-quality link farms
The goal is 20 high-quality, genuinely reachable prospects — not a large list of weak ones.
Output valid JSON matching the BacklinkResearcherOutput schema.Skills Injected
| Skill file | Purpose |
|---|---|
client-context-file.md | Always injected — site URL, industry, existing content, known competitors |
link-building-sop.md | Prospect type definitions, quality criteria, DR thresholds, conversion rate benchmarks by outreach type |
link-building-sop.md — content
# Link Building SOP
## Prospect Quality Standards
A prospect is worth pursuing if it meets ALL of the following:
- Domain Rating ≥ 25 (or ≥ 15 if warm/brand-mention relationship)
- Content on the domain is topically relevant to the client's niche
- The domain has published new content in the last 90 days (not abandoned)
- The domain is not primarily a link directory, article farm, or paid placement site
- The contact page or "write for us" page is accessible (HTTP 200)
## Prospect Types and Conversion Benchmarks
| Type | Avg. Conversion Rate | When to Use |
|---|---|---|
| Brand mention (unlinked) | 25–40% | Domain already references the client — link addition is a low-friction ask |
| Broken link replacement | 15–25% | Find a broken link on a relevant resource page; offer the client's content as replacement |
| Competitor backlink | 10–20% | Domain links to 2+ competitors; the client fits the same context |
| Resource page inclusion | 8–15% | Domain curates tools/guides in the niche; the client's content belongs on the list |
| Guest post | 5–12% | Domain publishes guest content; pitch a thought leadership piece with a natural link |
## Domain Rating Guidelines
- DR 70+: A single link here can move the needle for a mid-authority domain. Worth 2–3
hours of personalised outreach.
- DR 50–70: High-value targets. Prioritise if relevance score ≥ 7.
- DR 30–50: Good volume targets. Ideal for guest posts and resource pages.
- DR 25–30: Include only for broken-link and brand-mention types where conversion is higher.
- DR < 25: Exclude unless the prospect is warm (existing relationship).
## Relationship Warmth Classification
- **Warm:** Client has met the site owner, is an association member, a customer, a supplier,
or has a prior content collaboration. Source from Client Documents.
- **Brand mention:** The domain has named the client in content without a hyperlink.
Source from SEMrush unlinked mention reports or web search: `"[brand]" site:[domain]`.
- **Cold:** No prior connection. The highest-volume but lowest-conversion category.
## Content Asset Matching
Match the content asset to the prospect's audience and content type:
- Resource pages → Guides, tools, and comparison pages (they curate resources)
- Guest post sites → Thought leadership posts, data studies, opinion pieces
- Broken link prospects → The specific replacement content must be an exact topical match
- Competitor backlinks → The client's strongest, most comprehensive piece on that topic
## Disqualifying Signals (Reject Immediately)
- Domain has "write for us" pages offering paid placements without editorial standards
- Domain has a spam score > 30% (SEMrush)
- Domain has > 50% of its referring domains from the same IP block
- Domain publishes content in multiple unrelated niches (signs of a private blog network)
- Domain's most recent content is > 6 months oldRAG Usage
| Dataset | Query example | When used |
|---|---|---|
| Competitor Research | "competitor backlinks referring domains link sources [niche]" | Step 2 — find domains already linking to competitors that aren’t linking to the client |
| Client Documents | "existing partnerships industry associations suppliers customers" | Step 2 — identify warm prospects from known relationships |
| Website Content | "high-value pages guides tools data studies [topic]" | Step 2 — supplement content asset identification if input list is sparse |
| Published Content | "best performing content most linked articles" | Step 2 — identify organically link-attracting content to pitch as assets |
Tools Required
| Tool | Method | Purpose | Required? |
|---|---|---|---|
rag_search | search | Query competitor backlinks and client documents for warm prospects | Yes |
semrush_backlink_analytics | GET | Pull referring domains for competitor sites | Yes |
semrush_link_building | GET | Find resource pages, broken links, and unlinked mentions | Yes |
ahrefs_site_explorer | GET | Secondary DR validation and competitor link data | Optional |
web_fetch | GET | Verify contact pages are live and domain content is relevant | Yes |
HITL Gates
- Review type:
prospect_list_review - Risk level:
medium - Trigger: Always — the prospect list is presented to the DM reviewer before any outreach email jobs are dispatched. The reviewer selects which prospects to pursue.
- Reviewer action: Approve individual prospects (each gets a checkbox), mark any as “Do not contact” (e.g. competitor-owned domains, sites the client has a bad history with), reorder priority, and assign a content asset override if the agent’s match is wrong. Only approved prospects are passed to the Backlink Outreach Writer.
- Editing: Reviewers can edit relevance reason, prospect type, and pitch rationale before approving. Edits are saved to the prospect record.
- Escalation: If fewer than 5 prospects are found in a run, a warning is surfaced to the reviewer recommending a content asset review — insufficient link-worthy content is the most common root cause.
Guardrails
| Rule | Enforcement |
|---|---|
| No prospects with DR < 25 (unless warm) | Hard filter post-tool-call; warm prospects bypass DR threshold |
| Contact page URL must be verified (HTTP 200) | web_fetch status check; non-200 prospects are removed from the final list |
| No duplicate domains across runs | Prospect records are checked against the last 90 days of prospects for the same tenant; duplicates are excluded |
| Maximum 50 prospects per run | Hard cap in input schema; UI enforces the limit |
| No self-referential prospects (client’s own domain) | Domain match check against clientDomain |
Tenant Settings Used
| Setting | How it’s used |
|---|---|
industry | Scopes SEMrush category filters for resource page discovery |
connectedChannels | Determines if Ahrefs is configured — if not, SEMrush is the sole data source |
plan | Backlink Researcher requires Pro+ plan; tool unavailable on Free plan |
targetAudience | Informs relevance scoring — a domain’s audience must overlap with the client’s target audience to receive a relevance score ≥ 6 |
Cost Profile
| Avg input tokens | ~9,000 (system prompt + client context + RAG results + SEMrush data + web_fetch responses) |
| Avg output tokens | ~3,000 (20-prospect JSON with full rationale fields) |
| Est. cost / task | ~$0.60 |
Error Handling
| Error | Response |
|---|---|
| SEMrush backlink analytics returns no data for competitor | Skip that competitor; note “No backlink data for [domain]” in summary; continue with remaining competitors |
| SEMrush link building returns 0 resource pages | Note in summary; increase scope to related niches and retry once; if still 0, output available competitor backlink prospects only |
| All top 25 candidates fail web_fetch verification | Flag as “All candidates failed contact page verification — likely anti-bot protection”; return unverified prospect list with a warning |
| Ahrefs not configured | Proceed with SEMrush only; note “Ahrefs not configured — DR scores from SEMrush only” |
| Fewer than 5 prospects after filtering | Return what’s available with a warning: “Only N prospects met quality criteria — consider expanding content assets or reducing DR threshold” |
| Duplicate prospects detected from previous run | Exclude duplicates silently; if exclusion drops list below 5, surface a warning to the reviewer |