Index refreshed monthly

Check website backlinks with a script, not a dashboard

Linkzoid is a plain REST API for backlinks, referring domains, anchors and DR. You call it from Python, cron or GitHub Actions and keep the output in your own files.

  • JSON over HTTPS, CORS open
  • overview, stats and domain calls need no key
  • From $0.10 per 1,000 calls, no subscription
GET /api.php?action=domainJSON

$ curl "https://linkzoid.pro/api.php?action=overview&q=nytimes.com&key=sk_live_..."

What it is for

Four jobs where you check website backlinks without opening a browser

Each of these is a script people already keep in a repo. The API only supplies the data.

Weekly snapshot of your own profile

A scheduled workflow pulls referring domains and anchors, writes dated files, and fails loudly when something looks off. The runbook has the YAML.

Prospecting from a competitor list

Intersect two to ten domains, drop what you already have, score the rest in bulk. The recipe is about forty lines.

Diffing a profile against last month

Store each run in SQLite and ask which domains appeared or vanished. The diff page adds a threshold table for spotting trouble.

Replacing a manual export habit

If a teammate downloads a CSV every month, a script can do it. Compare it with a suite report before you switch.

Where it stops

Link data, not a keyword suite

We cover backlinks, referring domains, anchors, top pages and DR. Rank tracking, keyword research and a daily-fresh crawl are not here, and Ahrefs or Semrush do those better.

  • Our own crawler refreshes the index about once a month
  • A link added last week may not show up yet
  • DR is our own 0-100 log-scale metric, not Ahrefs DR or Moz DA

Who it is for

How a typical run looks

Most scripts here are boring. That is the point. A job reads a list of domains, calls the API, checks that ok is true, and writes a file.

The free actions (domain, overview, stats, suggest) need no key, so you can test a parser before you spend anything. Test first. Paid calls cost 1 to 3 credits, and one credit is $0.0001. A call is billed once however many rows come back, up to 1,000 per call.

Errors are plain. A 401 means the key is missing or wrong, and a 402 means the credit ran out. Neither deserves a retry loop.

Sign-in is a Google account, and the $100 starter credit needs no card. Simple. When it runs down, top-ups go through USDT on TRC-20 from the account page. If you would rather wire it into a visual builder, weigh the options first.

Compare

What each call costs

Credits per call; 1 credit = $0.0001
ActionCreditsTypical use in a script
domain, overview, stats, suggest0Smoke tests, quick DR lookups
bulk_dr, compare, top, dr_distribution, tld_breakdown1Scoring a prospect list of up to 2,000 domains
refdomains, backlinks, anchors, toppages, anchor_cloud, intersect2Snapshots and competitor gaps
search, keyword3Who links with an exact anchor
domains in our link graph
181,132,097
domain-to-domain links
2,774,625,913
backlinks indexed
~798.5 billion
free credit at sign-up
$100

Ten lines you can paste

Standard library only. It stops on the first bad response and prints the balance it sees.

python
import json, urllib.request as u
KEY = 'sk_live_...'
url = ('https://linkzoid.pro/api.php?action=refdomains'
       '&q=example.com&per=100&key=' + KEY)
with u.urlopen(url) as r:
    d = json.load(r)
if not d['ok']:
    raise SystemExit(d)
print(d['total'], 'referring domains')
print(d['_credits'])

FAQ

Questions people ask before scripting this

How do I check website backlinks with a script?
Send a GET request to the refdomains or backlinks action with the target domain in q and your key in key. You get JSON back, 1,000 rows at most per call, billed at 2 credits. Loop on page until you reach total.
Is there a free way to find backlinks?
Partly. The overview, stats, domain and suggest actions are free and need no key. Row-level lists such as refdomains and backlinks cost 2 credits, which the $100 sign-up credit covers many thousands of times over.
Can it run on GitHub Actions or cron?
Yes. It is an HTTPS GET with a key in a header or query string, so a scheduled workflow, a crontab line or a systemd timer all work. Store the key as a secret, never in the repo.
Does the data update in real time?
No. Our own crawler refreshes the index roughly once a month, so very recent links may be missing. Polling hourly does not help; weekly or monthly runs match the data. The realtime myth page explains how to work with that.
What happens when the credit runs out?
The API answers HTTP 402. Your script should stop and alert, not retry. Top up with USDT (TRC-20) from the account page, and the next run carries on from the same balance.
How does the price compare with Ahrefs API units?
Ahrefs sells API units inside subscriptions, from $129 a month for 200,000 units with at least 50 units per request. Here a call is 1 to 3 credits, from $0.10 per 1,000 calls, with no monthly minimum.
Which format do the responses use?
JSON, always. Every response carries an ok flag, and authenticated ones add _credits with the cost of the call and your remaining balance, which makes spend easy to log.