Full-text over anchors, titles and URLs; who is linked with an exact anchor
How the DR number is built
DR is round(100 x log(ref_domains + 1) / log(2 x 10^7)). Nothing else enters the formula.
Two sites with the same count of referring domains share a score. Simple. The scale also compresses at the top, so large gaps in link counts shrink to small gaps in DR. Going from 100,000 to 1,000,000 referring domains lifts DR from about 68 to about 82. Going from 10 to 100 lifts it from about 14 to 27.
It is comparable in spirit to Ahrefs DR or Moz DA, but it is our own metric from our own link index of 181,132,097 domains. Do not paste it into a report next to a figure from another tool and call them equal.
A practical consequence for filtering: a floor of DR 40 means roughly 700 referring domains or more, so you can reason about the floor in plain counts.
Try one by hand. For a domain with 1,999 referring domains, log(2,000) is about 7.60 and log(20,000,000) is about 16.81, so DR is 100 x 0.452, which rounds to 45. This is an example you can reproduce in any spreadsheet to audit a number you doubt.
Parameters you will set in nearly every script
key=sk_live_... or an Authorization: Bearer header
q=<domain> for single-domain actions
domains= for bulk_dr, or a POST body for long lists
page for pagination and per between 10 and 5000 for page size
sort plus order=asc or order=desc to order rows server-side
Remember: up to 1,000 rows per call, and deep pagination stops at 50,000
Rows and billing
A call costs the same whether it returns 10 rows or 1,000. If you need more detail, raise per instead of making more requests, and use sort with order=desc so the best rows arrive first.
A single-domain look-up that costs nothing
No key is needed for the free actions. CORS is open, so a browser tool can call it directly.
Every response is JSON and carries an ok field. Authenticated ones also include _credits, holding the cost of that call and your remaining balance.
Log both. A script that records the balance after every batch will tell you within seconds when a run is about to hit zero.
Stuck on an error code or an empty result? The troubleshooting table maps symptoms to fixes, and the shortlist checklist shows which action to use for which doubt.
One more habit helps. Save the raw JSON of each batch to disk before you parse it. If your parser breaks on row 1,400, you can fix the parser and replay the file without paying again, and you keep a dated record of what the index said in 2026.