# Referrer Profile API

> Counts a domain's referring domains in ten Site Strength ranges (0–9, 10–19 … 90–100), with each range's share of the total. Use it to compare the quality of two link profiles without downloading them.

Need the domains themselves? Use [All Referring Domains](https://rankfield.dev/endpoints/referrers).

- Page: https://rankfield.dev/endpoints/referrer-profile
- Full reference: https://rankfield.dev/docs/referring-domains/get-referrer-profile

## Request

`GET https://rankfield.dev/v1/domains/{domain}/referrer-profile`

Send `Authorization: Bearer YOUR_API_KEY`. Get a free key at https://rankfield.dev/?tab=key#playground (no account).

```bash
curl "https://rankfield.dev/v1/domains/github.com/referrer-profile" \
  -H "Authorization: Bearer $RANKFIELD_API_KEY"
```

Response:

```json
{
  "domain": "github.com",
  "crawlRelease": "2026-may-jun-jul",
  "asOf": "2026-08-19T00:00:00Z",
  "totalGraphReferringDomains": 748920,
  "scoreDistribution": [
    { "minSiteStrength": 0, "maxSiteStrength": 9, "referringDomains": 176044, "share": 0.2351 },
    { "minSiteStrength": 10, "maxSiteStrength": 19, "referringDomains": 226115, "share": 0.3019 },
    …
    { "minSiteStrength": 90, "maxSiteStrength": 100, "referringDomains": 173, "share": 0.0002 }
  ],
  "unscoredReferringDomains": 0,
  "unscoredShare": 0
}
```

## Parameters

| Name | In | Type | Required | Default | Description |
|---|---|---|---|---|---|
| `domain` | path | string | yes |  | A domain such as `github.com`. Case and a leading `www.` are ignored; a URL works too, URL-encoded. |

## Response

| Field | Type | Description |
|---|---|---|
| `domain, crawlRelease, asOf` | string | The domain, the web graph release and the date the data describes. |
| `inGraph` | boolean | Only when the domain isn't in our link graph yet: `false`, with empty ranges. Absent otherwise. |
| `totalGraphReferringDomains` | integer | All referring domains in the graph. |
| `scoreDistribution` | array | Ten ranges, weakest first: `minSiteStrength`, `maxSiteStrength`, `referringDomains` and `share` (0 to 1) of the total. |
| `unscoredReferringDomains, unscoredShare` | integer, number | Referring domains without a Site Strength, and their share. |

## 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. |
| 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.

## 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](https://rankfield.dev/endpoints/dataset-status) tells you which release answered. A domain that isn't in our link graph yet answers `200` with `"inGraph": false` and zeros; the field is absent otherwise, and a malformed domain gets `400`.
- Shares are full-precision numbers; the example rounds them.

## MCP

Tools on https://rankfield.dev/mcp: `get_referrer_profile`.
