Skip to main content

🔗 Semrush - Backlink Analysis

Overview

Analyze backlink profiles including authority scores, referring domains, link types, and anchor distribution.

GET /backlinks/overview/:domain

Purpose: Get comprehensive backlink metrics for a domain

Request:

GET /v1/integrations/semrush/backlinks/overview/example.com?new=false
Authorization: Bearer {jwt_token}

Semrush API:

GET https://api.semrush.com/analytics/v1/?type=backlinks_overview&key={API_KEY}&target_type=root_domain&target={DOMAIN}&export_columns=ascore,total,domains_num,urls_num,ips_num,ipclassc_num,follows_num,nofollows_num,sponsored_num,ugc_num,texts_num,images_num,forms_num,frames_num

API Parameters:

  • type: backlinks_overview
  • target_type: root_domain
  • export_columns: 14 metrics (see below)

CSV Response Columns:

ascore;total;domains_num;urls_num;ips_num;ipclassc_num;follows_num;nofollows_num;sponsored_num;ugc_num;texts_num;images_num;forms_num;frames_num

JSON Response:

{
"success": true,
"message": "SUCCESS",
"data": {
"data": [
{
"ascore": "42",
"total": "15280",
"domains_num": "3425",
"urls_num": "12150",
"ips_num": "2850",
"ipclassc_num": "2340",
"follows_num": "12500",
"nofollows_num": "2780",
"sponsored_num": "450",
"ugc_num": "125",
"texts_num": "14850",
"images_num": "380",
"forms_num": "30",
"frames_num": "20"
}
],
"createdAt": "2025-10-10T08:00:00Z",
"lastUpdate": "2025-10-10T08:00:00Z",
"nextUpdate": "2025-10-17T08:00:00Z",
"daysSinceUpdate": 0,
"daysUntilUpdate": 7,
"isStale": false
}
}

Caching:

  • Cache Type: backlinks_overview
  • TTL: 7 days

Core Metrics

MetricFieldDescription
Authority ScoreascoreDomain authority (0-100)
Total BacklinkstotalTotal backlink count
Referring Domainsdomains_numUnique domains linking
Referring URLsurls_numUnique pages linking
Referring IPsips_numUnique IP addresses
Referring Subnetsipclassc_numUnique IP subnets (Class C)
TypeFieldDescription
Follow Linksfollows_numLinks passing PageRank
Nofollow Linksnofollows_numLinks not passing PageRank
Sponsored Linkssponsored_numPaid/sponsored links
UGC Linksugc_numUser-generated content links

Anchor Types

TypeFieldDescription
Text Linkstexts_numStandard text anchors
Image Linksimages_numImage-based links
Form Linksforms_numForm submission links
Frame Linksframes_numFrame/iframe links

Authority Score

Score Interpretation

ScoreAuthority LevelQuality
80-100ExceptionalTop-tier sites (news, gov, edu)
60-79Very HighStrong authority sites
40-59HighEstablished sites
20-39MediumAverage sites
0-19LowNew or weak sites

Factors Affecting Score

  • Number of referring domains
  • Quality of referring domains
  • Backlink diversity
  • Link growth rate
  • Spam score (inverse)

Use Cases

Assess overall link profile:

const overview = backlinks.data[0];
const followRatio = ((parseInt(overview.follows_num) / parseInt(overview.total)) * 100).toFixed(1);
const domainToLinkRatio = (parseInt(overview.domains_num) / parseInt(overview.total)).toFixed(3);

console.log(`Authority Score: ${overview.ascore}/100`);
console.log(`Follow Link Ratio: ${followRatio}%`);
console.log(`Domain Diversity: ${domainToLinkRatio}`);

Calculate quality metrics:

const totalLinks = parseInt(overview.total);
const nofollows = parseInt(overview.nofollows_num);
const sponsored = parseInt(overview.sponsored_num);
const ugc = parseInt(overview.ugc_num);

const qualityLinks = totalLinks - nofollows - sponsored - ugc;
const qualityRatio = ((qualityLinks / totalLinks) * 100).toFixed(1);

console.log(`Quality Links: ${qualityRatio}%`);

3. IP Diversity Check

Assess link network health:

const domains = parseInt(overview.domains_num);
const ips = parseInt(overview.ips_num);
const subnets = parseInt(overview.ipclassc_num);

const ipDiversity = ((ips / domains) * 100).toFixed(1);
const subnetDiversity = ((subnets / domains) * 100).toFixed(1);

console.log(`IP Diversity: ${ipDiversity}% (${ips} IPs from ${domains} domains)`);
console.log(`Subnet Diversity: ${subnetDiversity}%`);

4. Anchor Distribution Analysis

Analyze anchor text variety:

const textAnchors = parseInt(overview.texts_num);
const imageAnchors = parseInt(overview.images_num);
const totalAnchors = textAnchors + imageAnchors;

const textRatio = ((textAnchors / totalAnchors) * 100).toFixed(1);

console.log(`Text Anchors: ${textRatio}%`);
console.log(`Image Anchors: ${100 - textRatio}%`);

5. Competitor Comparison

Compare backlink profiles:

# Get your backlinks
GET /backlinks/overview/yourclient.com

# Get competitor backlinks
GET /backlinks/overview/competitor.com

# Compare authority scores and referring domains

Best Practices

Good Indicators:

  • High authority score (40+)
  • 70%+ follow links
  • High domain-to-link ratio (> 0.2)
  • Good IP diversity
  • Low sponsored/UGC ratio

Warning Signs:

  • Low authority score (< 20)
  • High nofollow ratio (> 50%)
  • Low domain diversity
  • Many links from same IP subnet
  • High sponsored link percentage
💬

Documentation Assistant

Ask me anything about the docs

Hi! I'm your documentation assistant. Ask me anything about the docs!

I can help you with:
- Code examples
- Configuration details
- Troubleshooting
- Best practices

Try asking: How do I configure the API?
09:31 AM