🔗 Semrush - Backlink Analysis
Overview
Analyze backlink profiles including authority scores, referring domains, link types, and anchor distribution.
Backlinks Overview
Get Backlinks Overview
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_overviewtarget_type:root_domainexport_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
Backlink Metrics
Core Metrics
| Metric | Field | Description |
|---|---|---|
| Authority Score | ascore | Domain authority (0-100) |
| Total Backlinks | total | Total backlink count |
| Referring Domains | domains_num | Unique domains linking |
| Referring URLs | urls_num | Unique pages linking |
| Referring IPs | ips_num | Unique IP addresses |
| Referring Subnets | ipclassc_num | Unique IP subnets (Class C) |
Link Types
| Type | Field | Description |
|---|---|---|
| Follow Links | follows_num | Links passing PageRank |
| Nofollow Links | nofollows_num | Links not passing PageRank |
| Sponsored Links | sponsored_num | Paid/sponsored links |
| UGC Links | ugc_num | User-generated content links |
Anchor Types
| Type | Field | Description |
|---|---|---|
| Text Links | texts_num | Standard text anchors |
| Image Links | images_num | Image-based links |
| Form Links | forms_num | Form submission links |
| Frame Links | frames_num | Frame/iframe links |
Authority Score
Score Interpretation
| Score | Authority Level | Quality |
|---|---|---|
| 80-100 | Exceptional | Top-tier sites (news, gov, edu) |
| 60-79 | Very High | Strong authority sites |
| 40-59 | High | Established sites |
| 20-39 | Medium | Average sites |
| 0-19 | Low | New or weak sites |
Factors Affecting Score
- Number of referring domains
- Quality of referring domains
- Backlink diversity
- Link growth rate
- Spam score (inverse)
Use Cases
1. Backlink Profile Health Check
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}`);
2. Link Quality Assessment
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
Healthy Backlink Profile
✅ 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