Dev.to WebDev 🛠 Dev 👁 0 📖 3 min read

Check domain authority for 500 websites at once (and what the score really means)

You have a spreadsheet of 500 link prospects, guest-post sites or competitors, and you need to know which ones are worth an email. Pasting them one by one into a free DA checker stops being fun at about number 12. Here i

You have a spreadsheet of 500 link prospects, guest-post sites or competitors, and you need to know which ones are worth an email. Pasting them one by one into a free DA checker stops being fun at about number 12. Here is how to score the whole list in one run, and how to read the result honestly.

Short answer

Clean the list to bare domains, run it through a bulk checker, sort by score. Linkheft (an Apify Actor) scores each domain from open web-graph data (the Common Crawl host graph and the Majestic Million) and returns an authority score, a tier, the web-graph rank and a trend, at $0.002 per ranked domain. Unranked domains are free.

Step by step

  1. Strip every URL to its registrable domain: https://www.example.com/blog/post becomes example.com. Lower case, one per line.
  2. Remove duplicates first, so you never pay twice for the same site.
  3. Run the list and sort by authorityScore. Keep tier, webGraphRank and trend.
  4. Treat "unranked" as very small or very new, not as an error.
  5. Re-run monthly: the open web graph is refreshed every few months, and the trend column shows who is growing.

One real record

Field Value
domain stripe.com
authorityScore 78
tier top 100
webGraphRank 64 of 133,241,980 domains
trend stable (-1.6%)
referringSubnets 51,463

Source: Linkheft (Apify Actor cybermax/domain-authority) README, real record.

Python: score a prospect list and keep the strong ones

import os
from apify_client import ApifyClient   # pip install apify-client

client = ApifyClient(os.environ["APIFY_TOKEN"])
domains = sorted({l.strip().lower() for l in open("prospects.txt") if l.strip()})   # dedupe first
run = client.actor("cybermax/domain-authority").call(run_input={"domains": domains, "sortBy": "score", "minAuthorityScore": 30})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row["domain"], row.get("authorityScore"), row.get("tier"), row.get("trend"))

curl: four domains in one call

curl -s -X POST "https://api.apify.com/v2/acts/cybermax~domain-authority/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
  -d '{"domains": ["stripe.com", "notion.so", "hubspot.com", "anthropic.com"], "sortBy": "score"}'

No code (n8n, Make, Zapier)

Use an HTTP Request node: POST to https://api.apify.com/v2/acts/cybermax~domain-authority/run-sync-get-dataset-items with header Authorization: Bearer <your Apify token> and the JSON body above. Each returned item is one domain, ready for a Google Sheets "Append row" step. In Make, the Apify app's "Run an Actor" followed by "Get Dataset Items" does the same.

From an AI agent: Any MCP client (Claude, Cursor, VS Code) can call it through Apify's hosted MCP server: add https://mcp.apify.com/?tools=cybermax/domain-authority with your Apify token as a Bearer header, and the agent sees one tool, cybermax--domain-authority, with the input fields above.

What the score is, and what it is not

The score is built from open data: how central a domain is in the public web graph and how many distinct networks link to it. It correlates with the familiar "authority" metrics, but it is not Moz DA and not Ahrefs DR. If a client contract says "DA 40+", use the tool that defines that number. For triage (which 50 of these 500 deserve a human look), an open-data score that costs $1 per 500 domains is usually enough.

Good to know

  • Price: $0.002 per ranked domain ($2 per 1,000). Unranked, invalid and duplicate domains are free, and there is no start fee.
  • Use minAuthorityScore to return only domains above a threshold, so the sheet you get back is already your shortlist.
  • Monitor mode on an Apify Schedule returns only domains whose score or tier changed since the last run.

FAQ

Is this the same as Moz Domain Authority? No. It is an independent score from open web-graph data. Use it to rank and filter; quote Moz or Ahrefs when someone needs their exact metric.

How many domains can I check at once? Thousands in one run. The cost scales linearly: 1,000 ranked domains cost $2.

Why is a well-known site "unranked"? Usually a redirect-only domain or one that the public crawl barely reaches. Try the domain it redirects to.

Try it on your own list: Linkheft pricing, sample output and a one-click run. Apify's free plan includes $5 of usage a month, so a first run costs nothing.

Published automatically by CyberMax. Every number above comes from the linked public data; nothing is estimated.

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.