The plan
Clean, score, floor, inspect
Strip every row to a bare domain, send it to bulk_dr in batches of 2,000, drop rows under a DR floor you chose beforehand, then open the top rows by hand. Each batch costs one credit.
- Input: a column of URLs or domains
- Output: the same rows plus a DR from 0 to 100
- Cost: 1 credit ($0.0001) per batch
The recipe
- 1
Reduce each row to a bare domain
Lowercase it, remove https://, www. and any path. A scraped list from a SERP export often holds the same site five times under different URLs. Collapse them before you pay for anything.
- 2
Split into batches of 2,000
A 7,300-row list becomes four batches. Four calls, four credits, roughly $0.0004 in total. The price barely registers, so do not skip step one to save money.
- 3
Send each batch to bulk_dr
Use GET with domains= for short lists or a POST body for long ones. Keep your key in the Bearer header so it never lands in a shell history of query strings.
- 4
Join the scores back to your sheet
Match on the cleaned domain, not the original URL. Rows that came back without a useful score usually point to a site our index has barely seen, which is itself a signal. The JSON keeps every row, so nothing silently vanishes.
- 5
Set a floor and read what falls out
Choose the floor before you look at the data. Then sample 20 rows just below it, because that is where judgment errors hide.
The request for step three
A short list sent as a GET. For thousands of rows use the POST form with the same action name.
bash
curl -H "Authorization: Bearer sk_live_..." \
"https://sourceranker.com/api.php?action=bulk_dr&domains=wired.com,nytimes.com,example.org"
A worked example with invented numbers
This is an example, not a case study. Imagine a 3,000-row list pulled from the backlinks of two rivals in the home-coffee niche, and a floor of DR 30.
Cleaning in October 2026 leaves 2,100 distinct domains. Two batches. One holds 2,000 and the other 100, so everything is scored for two credits. Suppose 900 land below 30, 1,000 land between 30 and 55, and 200 above 55. Those figures are made up for the illustration.
Low rows are not junk by default. Ask first. A niche forum with 150 referring domains scores about 30, since DR is round(100 x log(151) / log(20,000,000)), and it may still bring a very relevant reader. The floor is a time-saver, not a verdict. Ahrefs or Moz scores would shuffle some of these rows too, because each tool counts its own graph.
What you do next is the human part. Read the top 20 of the middle group, delete anything that sells links openly, and send the rest to the shortlist checklist.
What a DR figure roughly means in referring domains
Computed from the public formula, rounded to the nearest whole DR| Referring domains | DR |
|---|
| 10 | 14 |
|---|
| 100 | 27 |
|---|
| 1,000 | 41 |
|---|
| 10,000 | 55 |
|---|
| 100,000 | 68 |
|---|
| 1,000,000 | 82 |
|---|
Where this recipe goes wrong
The common failure is trusting the sort order. A DR of 62 beats a DR of 58 on paper, yet the 58 may sit in your exact topic while the 62 is a general news site that never links out.
Another is re-scoring daily, as if Google were ranking the list. Our index refreshes about once a month, so the numbers will not move between Tuesday and Wednesday. Score once per cycle.
If a batch comes back with an error, the troubleshooting table lists the usual causes. For the full list of actions and their prices, see the reference.