List backlinks
GET
/sites/{siteId}/backlinks- Scope
search:read- MCP tool
backlinks
Backlink summary and referring domains The latest link summary with the change over 28 days, and the referring domains of one view: all (live), new (first seen in the last 30 days), lost, review (high spam score or many links at once), strong (domain strength 50 or more). Estimates, refreshed weekly.
Parameters
| Name | In | Details |
|---|---|---|
siteIdRequired | path | stringWebsite id, from GET /sites. |
view | query | allnewlostreviewstrongdefault allWhich referring domains to list. |
dofollow | query | 1trueOnly dofollow domains. |
sort | query | linksstrengthrecentspamdomainanchortypedefault linksColumn to sort by. |
dir | query | ascdescDefault asc for domain, anchor and type, else desc. Rows without a value come last. |
page | query | integerdefault 1, min 1Page number, from 1. |
per | query | integerdefault 50, min 1, max 200Rows per page, 1 to 200. |
Response
200 · application/json
| Field | Details |
|---|---|
summary | object or null · required; null before the first backlink refresh |
summary.date | date (YYYY-MM-DD) · required; Day of the latest numbers |
summary.referringDomains | integer · required; Domains linking to the website |
summary.backlinks | integer · required; Links to the website |
summary.dofollow | integer · required; Dofollow links |
summary.domainRank | integer or null · required; Domain strength, 0–100 |
summary.new28Days | integer · required; New referring domains in the period shown |
summary.lost28Days | integer · required; Lost referring domains in the period shown |
summary.monthAgo | object or null · required; The numbers about a month before |
summary.monthAgo.date | date (YYYY-MM-DD) · required; Day |
summary.monthAgo.referringDomains | integer · required; Domains linking |
summary.monthAgo.backlinks | integer · required; Links |
summary.monthAgo.domainRank | integer or null · required; Domain strength |
view | all | new | lost | review | strong · required; The view listed |
counts | object · required; Domains per view |
counts.all | integer · required; Live domains |
counts.new | integer · required; New in 30 days |
counts.lost | integer · required; Lost |
counts.review | integer · required; Worth a look |
counts.strong | integer · required; Strength 50 or more |
counts.reclaim | integer · required; Lost links to pages of ours worth reclaiming (domains) |
total | integer · required; Rows that match, over all pages |
page | integer · required; This page, from 1 |
per | integer · required; Rows per page |
hasMore | true or false · required; More rows after this page |
domains | list of values · required |
domains[].domain | string |
domains[].domainRank | number |
domains[].backlinks | number |
domains[].firstSeen | string |
domains[].lostAt | |
domains[].topAnchor | string |
domains[].dofollow | true or false |
domains[].spamScore | number |
domains[].sampleUrls | list of strings |
domains[].reviewed | true or false |
domains[].disavow | true or false |
domains[].reviewSuggested | true or false |
domains[].link | string |
note | string · required; How to read the numbers |
link | address (URL) · required; The Backlinks screen in the app |
Errors
| Status | Meaning |
|---|---|
400 | Bad request. Codes: bad_view, bad_sort, bad_dir, bad_page, bad_per. |
401 | Missing, unknown or revoked key. Codes: missing_key, invalid_key. |
403 | The key lacks the scope, covers another website, or its owner lost access. Codes: missing_scope, other_site, owner_left, no_owner, forbidden. |
404 | Not found. Codes: not_found. |
429 | Too many requests this hour for this key. Codes: rate_limited. |
Example request
curl \
-H "Authorization: Bearer mr_ws_…" \
"https://app.monoranks.com/api/v1/sites/SITE_ID/backlinks"const res = await fetch("https://app.monoranks.com/api/v1/sites/SITE_ID/backlinks", {
headers: { Authorization: "Bearer mr_ws_…" },
});
if (!res.ok) throw new Error((await res.json()).error.message);
const data = await res.json();import requests
res = requests.get(
"https://app.monoranks.com/api/v1/sites/SITE_ID/backlinks",
headers={"Authorization": "Bearer mr_ws_…"},
)
res.raise_for_status()
data = res.json()<?php
$ch = curl_init("https://app.monoranks.com/api/v1/sites/SITE_ID/backlinks");
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ["Authorization: Bearer mr_ws_…"],
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);import axios from "axios";
const { data } = await axios.get("https://app.monoranks.com/api/v1/sites/SITE_ID/backlinks", { headers: { Authorization: "Bearer mr_ws_…" } });Example response
{
"summary": {
"date": "2026-10-04",
"referringDomains": 286,
"backlinks": 3412,
"dofollow": 2710,
"domainRank": 33,
"new28Days": 9,
"lost28Days": 4,
"monthAgo": {
"date": "2026-09-06",
"referringDomains": 281,
"backlinks": 3360,
"domainRank": 32
}
},
"view": "all",
"counts": {
"all": 286,
"new": 9,
"lost": 41,
"review": 3,
"strong": 22,
"reclaim": 2
},
"total": 286,
"page": 1,
"per": 50,
"hasMore": true,
"domains": [
{
"domain": "trailnews.example",
"domainRank": 58,
"backlinks": 14,
"firstSeen": "2025-03-11",
"lostAt": null,
"topAnchor": "Acme Bikes",
"dofollow": true,
"spamScore": 2,
"sampleUrls": [
"https://trailnews.example/gear/gravel-tire-test/"
],
"reviewed": false,
"disavow": false,
"reviewSuggested": false,
"link": "https://app.monoranks.com/sites/3f6c2a1e-8b4d-4c7a-9e21-5d0b7a6f4c13/backlinks/trailnews.example"
}
],
"note": "Counts, domain strength and spam score are estimates, refreshed weekly.",
"link": "https://app.monoranks.com/sites/3f6c2a1e-8b4d-4c7a-9e21-5d0b7a6f4c13/backlinks"
}{
"error": {
"code": "bad_view",
"message": "view must be one of all, new, lost, review, strong."
}
}{
"error": {
"code": "missing_key",
"message": "Send the key as Authorization: Bearer mr_site_…"
}
}{
"error": {
"code": "missing_scope",
"message": "This key does not have the scope this call needs."
}
}{
"error": {
"code": "not_found",
"message": "Website not found."
}
}{
"error": {
"code": "rate_limited",
"message": "More than 1200 requests this hour for this key."
}
}The MCP server does the same with the tool backlinks.