RankParse

Domain Authority

Get a 0 to 100 authority score for a domain, with registration data, popularity rank, a health score and risk flags.

GET/v1/domain-authority1 credit (refunded when authority is unknown)API key

Returns an authority score (0 to 100) based on how many distinct domains link to the target, enriched with domain registration data (RDAP), a popularity rank from the Tranco list, a composite health score and risk flags. The link data comes from the pre-processed link graph snapshot (see Response format). It is the cheapest endpoint and a good first call.

Request

Parameters

ParameterTypeRequiredDefaultDescription
domainstringYesnoneDomain to query, for example smartify.in. No scheme or path. Must contain a dot.

Example

curl "https://api.rankparse.com/v1/domain-authority?domain=smartify.in" \
  -H "X-API-Key: rp_your_key"
import requests

res = requests.get(
    "https://api.rankparse.com/v1/domain-authority",
    params={"domain": "smartify.in"},
    headers={"X-API-Key": "rp_your_key"},
    timeout=60,
)
res.raise_for_status()
body = res.json()
if body.get("partial") and body["data"]["score"] is None:
    print("Authority unknown, retry")
else:
    print(body["data"]["score"], body["data"]["risk_flags"])
const params = new URLSearchParams({ domain: "smartify.in" });

const res = await fetch(`https://api.rankparse.com/v1/domain-authority?${params}`, {
  headers: { "X-API-Key": "rp_your_key" },
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const { data, partial } = await res.json();
console.log(data.score, data.risk_flags, partial ?? false);

Response

{
  "domain": "smartify.in",
  "data": {
    "score": 76,
    "referring_domains": 340,
    "total_host_count": 18420,
    "registered_at": "2019-03-14T09:21:00Z",
    "registrar": "GoDaddy.com, LLC",
    "popularity_rank": null,
    "health_score": 70,
    "risk_flags": ["no_tranco_presence"]
  },
  "credits_used": 1,
  "credits_remaining": 999
}

Response fields

Top level:

FieldTypeDescription
domainstringThe normalized (lowercased) domain you queried.
dataobjectThe authority record (below).
partialbooleanOnly present, and always true, when part of the answer degraded (see below).
credits_usedinteger1, or 0 when the authority score could not be determined and the charge was reversed.
credits_remainingintegerYour balance after this call.

Fields in data:

FieldTypeDescription
scoreinteger or nullAuthority score from 0 to 100. null means unknown (never 0) and always comes with partial: true.
referring_domainsinteger or nullNumber of distinct domains linking to the target in the crawl graph.
total_host_countinteger or nullSum of the host counts of those linking domains.
registered_atstring or nullRegistration date from RDAP, or null when unavailable.
registrarstring or nullRegistrar name from RDAP, or null when unavailable.
popularity_rankinteger or nullRank in the Tranco top 100,000 list. null when the domain is not in that list.
health_scoreinteger or nullComposite 0 to 100 score built from authority, popularity, domain age and referring-domain count.
risk_flagsarray of strings or nullZero or more of no_tranco_presence, low_authority, new_domain and high_authority_new_domain.

How the score is calculated

score = min(100, round(log10(referring_domains + 1) * 30)). The scale is logarithmic: about 10 referring domains scores 31, 100 scores 60, and roughly 2,100 or more reaches 100. A domain with no data in the snapshot returns zeros with 200.

How the flags are set

FlagSet when
no_tranco_presencepopularity_rank is null.
low_authorityscore is below 10 and referring_domains is below 5.
new_domainRegistered less than about 6 months ago.
high_authority_new_domainRegistered less than about 12 months ago and score is 40 or higher.

Behavior and limits

  • Credits: 1 per call, charged before the lookup.
  • Partial results: if the authority lookup times out, the response is 200 with partial: true, score, referring_domains, total_host_count, health_score and risk_flags set to null, and the credit is refunded (credits_used: 0). Treat null as unknown, not as zero authority, and retry. If only the RDAP enrichment degrades, you get the real score with partial: true and null registration fields, and the credit is kept.
  • Caching: complete results are cached for 30 days per crawl release. Partial results are never cached. A cache hit is billed the same as a fresh lookup. RDAP data is cached for 30 days and the Tranco list is refreshed weekly.
  • Empty results: a domain with no data returns 200 with score: 0, referring_domains: 0 and total_host_count: 0, never 404.
  • Rate limit: 60 requests per minute per key. See Rate limiting.

Errors

HTTPCodeWhen
400invalid_domaindomain is missing or not a valid domain.
401invalid_api_keyMissing, invalid or revoked API key.
402insufficient_creditsBalance is lower than the call cost.
402spend_cap_reachedYour monthly spend cap is reached.
429rate_limitedMore than 60 requests in a minute.
503query_timeout, upstream_errorTransient data store problem. Retry after the Retry-After header. Credits are refunded.

See Errors for the full list and the error body format.

MCP tool: get_domain_authority (accepts domain).

On this page