Backlink quality checker for a prospect list, in one call
Two thousand domains, one request, one credit. The bulk action is the cheapest thing the API does, and it fits the outreach spreadsheet everybody already has.
Deeplinkify research team ·
Row by row or all at once
A hypothetical outreach list of 2,000 domains, billed at 1 credit = $0.0001.
Method
Calls
Credits
Cost
Time (rough)
overview per row (free)
2,000
0
$0
Minutes, paced
compare in groups of 20
100
100
$0.01
Under a minute
bulk_dr, GET with domains=
1
1
$0.0001
A second or two
bulk_dr, POST body
1
1
$0.0001
Same, no URL length limit
What the rating tells you and what it does not
It is a quick screen. Nothing more.
Our Domain Rating is round(100 times log(referring domains plus 1) divided by log(20 million)), a log scale of how many sites link to a domain. It is our own number, comparable in spirit to Ahrefs DR or Moz DA but not equal to them, so never paste it next to theirs in a client report without saying so.
A low rating on a brand-new but real publication is not a reason to skip it, and a high one on a link farm is not a reason to buy. Use the number to sort a list of 2,000 into a first-look pile, then read the top fifty with your own eyes.
One more caution on the formula: because it counts referring domains on a log scale, the first hundred linking sites move the number far more than the next thousand. A rating of 40 and a rating of 50 can be a big gap in real terms, while 80 and 82 is a rounding difference.
The POST body
Past a few hundred domains, a GET URL gets long. POST the list instead.
bash
curl -X POST "https://deeplinkify.com/api.php?action=bulk_dr" \
-H "Authorization: Bearer sk_live_..." \
-d "domains=example.com,nytimes.com,small-blog.example"
# Billing: 1 credit per call, up to 2,000 domains.
Wiring it into a sheet or a workflow
1
Collect the column
In Apps Script, getRange('A2:A').getValues().flat().filter(String) gives a clean array. In n8n, an Aggregate node does the same job.
2
Split above 2,000
A list of 7,500 becomes four calls. Four credits, four hundredths of a cent.
3
Join the response back by domain
Do not rely on row order. Build a lookup keyed by domain and fill each row from it, so a duplicate or a blank cannot shift everything by one.
4
Sort and filter
Keep the top slice, drop the bottom, and send what is left to a human. Then run refdomains (2 credits) only on the shortlist.
A small example, clearly invented
Imagine a sheet with 3,200 prospects for a link outreach push. This is a made-up list, not a customer.
You dedupe it to 2,870 domains. Two bulk_dr calls of 1,435 each cost 2 credits, which is $0.0002. Ratings come back for most of them; you sort descending, discard the bottom third, and read the top 200 by hand before anyone writes an email.
Then the paid step. Then comes the paid step. For the 40 you actually plan to pitch, run refdomains once each: 80 credits, $0.008. That is the whole data bill for the campaign, and the budget page puts it next to the cost of a month of a suite subscription. The Sheets script is the quickest way to run it.
Red flags in your own list
Duplicates after lower-casing: dedupe first, you pay once anyway but your counts will lie.
URLs instead of domains: strip protocol and path before sending.
Subdomains of free hosts: they inherit the parent's profile, so read them by hand.
A rating of zero: the domain may simply be absent from our index, which refreshes about monthly.