All Referring Domains API
Lists every domain that links to a domain in the Rankfield web graph, with its Site Strength, 1,000 a page. Filter by Site Strength, sort either way, or export the whole list as CSV or JSONL.
Need only the count? Referring Domains is one call. Need the spread by strength? Referrer Profile.
https://rankfield.dev/v1/domains/{domain}/referrersSend Authorization: Bearer YOUR_API_KEY. Get a free key; no account needed.
Parameters#
| Name | Type | Description |
|---|---|---|
domain | string | A domain such as github.com. Case and a leading www. are ignored; a URL works too, URL-encoded. |
limit | integer | Domains per page, 1 to 1,000. |
cursor | string | nextCursor from the previous page. It keeps the filters, the order and the graph release of the first page. |
minSiteStrength | integer | Leave out domains below this Site Strength, 0 to 100. |
sort | string | strength_desc or strength_asc. |
format | string | csv or jsonl export every matching row instead of one page (see Export). |
Response#
| Field | Type | Description |
|---|---|---|
domain | string | The domain you asked about. |
inGraph | boolean | Only when the domain isn't in our link graph yet: false, with an empty list. Absent otherwise. |
crawlRelease buildId asOf | string | The web graph release, its build and the date the data describes. |
totalGraphRelationships | integer | How many referring domains the domain has in the graph: all pages put together. |
sort minSiteStrength | string, integer | The order and filter this page uses. |
referrers | array | {domain, siteStrength}, strongest first by default. siteStrength is null for a domain without enough rank evidence. |
nextCursor | string | null | Pass it as cursor for the next page; null on the last page. |
Errors#
Errors come as {"error":{"message":"…"}} with the HTTP status.
| Status | When |
|---|---|
400 | The domain is not valid: {"error":{"message":"Invalid domain"}}. |
401 | The key is missing, unknown or revoked. |
409 | An export is already running for your key. |
429 | Only while the graph service is down and its fallback is busy. Wait for Retry-After. |
503 | The graph is briefly unavailable. Retry after Retry-After. |
Price and limits#
- Free; no per-call charge.
- No daily quota or concurrency cap per key.
Export the whole list#
Add format=csv or format=jsonl to export every referring domain that matches minSiteStrength, with no page limit. Rows: domain, siteStrength, crawlRelease, asOf, evidenceCoverage.
Up to 50,000 rows stream straight back. A longer list answers 202 with a job: follow statusUrl (GET /v1/jobs/{id}) until status is completed, then download GET /v1/jobs/{id}/download, or the checksummed parts at /v1/jobs/{id}/parts/{index} (10,000 rows each). DELETE /v1/jobs/{id} cancels; POST /v1/jobs/{id}/resume restarts a failed job. Files are kept for 7 days.
One export runs at a time per key; a second one answers 409. A real run: example.com's 150,374 referring domains were ready in 1.4 seconds as an 11.8 MB CSV.
Reference: https://rankfield.dev/docs/referring-domains/start-an-export-job
curl "https://rankfield.dev/v1/domains/example.com/referrers?format=csv" \
-H "Authorization: Bearer $RANKFIELD_API_KEY"import os
import requests
response = requests.get(
"https://rankfield.dev/v1/domains/example.com/referrers?format=csv",
headers={"Authorization": f"Bearer {os.environ['RANKFIELD_API_KEY']}"},
)
print(response.json())const response = await fetch("https://rankfield.dev/v1/domains/example.com/referrers?format=csv", {
headers: {
Authorization: `Bearer ${process.env.RANKFIELD_API_KEY}`,
},
});
console.log(await response.json());{
"id": "fcb7b7b0-92db-4570-90cd-e7780867fa2d",
"status": "queued",
"kind": "referrers-export",
"domain": "example.com",
"release": "2026-may-jun-jul",
"buildId": "graph-2026mayjunjul-v3",
"totalGraphRelationships": 150374,
"expiresAt": "2026-11-01T14:34:29.106Z",
"statusUrl": "/v1/jobs/fcb7b7b0-92db-4570-90cd-e7780867fa2d"
}Notes#
- Data: the Rankfield web graph, built from public web crawl data of May–July 2026 (
2026-may-jun-jul), 117,963,409 domains. Dataset Status tells you which release answered. A domain that isn't in our link graph yet answers200with"inGraph": falseand zeros; the field is absent otherwise, and a malformed domain gets400. - These are domain-to-domain connections. Source pages and anchor text are not part of this data.
See also#
- Full reference: https://rankfield.dev/docs/referring-domains/list-referrers
- MCP tools on
https://rankfield.dev/mcp:list_referring_domains,start_domain_export,get_export_job - This page as Markdown: /endpoints/referrers.md
Related endpoints#
- Referring DomainsHow many domains link to it, and the 20 strongest.
GET /v1/domains/{domain}/referring-domains - Referrer ProfileIts referring domains, counted in ten Site Strength ranges.
GET /v1/domains/{domain}/referrer-profile - Outbound DomainsEvery domain it links to.
GET /v1/domains/{domain}/outbound-domains