Backlink Checker: Referring Domains and Anchors
Backlink Checker is an Apify actor (API) by CheapAPI Labs. Backlinks, referring domains, anchors and authority for any domain, plus a link gap against competitors. It costs $1.50 per 1,000 rows on every Apify plan, plus $0.035 per domain report, billed through your Apify account with no API key.
Compared with the most used actor named Backlink Checker (about 530 users): authority metrics for 1,000 domains costs $1.235 on every plan here and $10.00 there (Apify Store listing prices, checked September 2026). Apify platform usage is billed on top here. For a single domain overview, some all in one SEO scrapers charge less than our $0.035.
Our prices updated 30 October 2026; competitor prices as checked in the comparison. 19 Apify users have run this actor (Apify Store count, 30 October 2026).
What does Backlink Checker return?
Check the backlink profile of any website: authority score, every backlink, referring domains, anchor texts, top linked pages, link building competitors, link gap, new & lost links over time and bulk authority / spam metrics for up to 10,000 domains. No account, no API key, no subscription. Enter a domain and click Start.
One example row from a real run, shortened:
{
"id": "3e789dfb3468632a76638996",
"target": "example.com",
"report": "backlinks",
"sourceUrl": "https://www.textilwerbung-edenfeld.de/index.html",
"sourceDomain": "www.textilwerbung-edenfeld.de",
"targetUrl": "https://example.com/",
"anchorText": "Gütsel Webcube CMS",
"isDofollow": true,
"linkType": "anchor",
"linkScore": 70,
"sourcePageScore": 81,
"sourceDomainScore": 65,
"linkSpamScore": 0,
"isNew": false,
"isLost": false,
"isBroken": false,
"firstSeen": "2024-02-12T03:09:59.000Z",
"previousSeen": "2025-09-06T14:31:21.000Z",
"lastSeen": "2025-11-16T18:51:04.000Z",
"sourcePageTitle": "Textilwerbung Edenfeld Ostwestfalen Lippe (OWL), Kreis Gütersloh",
"sourceCountry": "DE",
"sourceTld": "de",
"sourcePageStatusCode": 200,
"textBefore": "2023 Textilwerbung Edenfeld,",
"linksOnPage": 1,
"similarLinks": 62,
"targetStatusCode": 301,
"isIndirect": true,
"indirectPath": [
{
"type": "redirect",
"statusCode": 302,
"url": "https://www.guetsel.de/"
}
],
"sourceRankingKeywordsTop100": 5,
"scoreScale": 100,
"scrapedAt": "2026-09-29T05:08:24.620Z"
}Which fields do you get?
One row per natural entity (domain, backlink, referring domain, anchor, page, period…). The most important fields:
| Field | Type | Example | Reports |
|---|---|---|---|
id |
string | "3e789dfb3468632a76638996" |
all (stable across runs, see Monitoring) |
target |
string | "example.com" |
all except link gap |
report |
string | "backlinks" |
all |
authorityScore |
number | 51 |
overview, lists, bulk |
backlinks |
number | 332721 |
overview, lists, bulk |
referringDomains |
number | 2940 |
overview, lists, bulk |
referringMainDomains |
number | 2791 |
overview, lists, bulk |
referringPages / referringIps / referringSubnets |
number | 329215 / 2307 / 1403 |
overview, lists, bulk |
linkSpamScore |
number | 15 |
overview, lists, bulk |
siteSpamScore |
number | 0 |
overview, bulk |
brokenBacklinks / brokenPages |
number | 1130 / 130 |
overview, lists, bulk |
firstSeen / lostDate |
string (ISO date) | "2019-01-15T23:54:14.000Z" |
overview, lists, bulk |
linkTypes / linkAttributes / linkingCountries / linkingTlds |
object | {"anchor": 64150, "image": 237276} |
overview, aggregated lists |
sourceUrl / sourceDomain |
string | "https://www.textilwerbung-edenfeld.de/index.html" |
backlinks, page link gap |
targetUrl |
string | "https://example.com/" |
backlinks |
anchorText |
string | "Gütsel Webcube CMS" |
backlinks, anchors |
isDofollow |
boolean | true |
backlinks |
linkType |
string | "anchor" |
backlinks |
sourceDomainScore / sourcePageScore |
number | 65 / 81 |
backlinks |
isNew / isLost / isBroken |
boolean | false |
backlinks |
lastSeen |
string (ISO date) | "2025-11-16T18:51:04.000Z" |
backlinks |
textBefore / textAfter |
string | "2023 Textilwerbung Edenfeld," |
backlinks |
referringDomain |
string | "github.com" |
referring domains |
pageUrl / pageTitle / wordCount |
string / string / number | "https://example.com/blog" |
top pages |
competitorDomain / sharedReferringDomains |
string / number | "rival.com" / 412 |
competitors |
date / newBacklinks / lostBacklinks |
string / number / number | "2026-08-01" / 1520 / 980 |
new & lost, growth |
linkingDomain / linksTo / missingFrom |
string / array / array | "blog.io" / ["rival.com"] / ["you.com"] |
link gap |
scoreScale |
number | 100 |
all with scores |
scrapedAt |
string (ISO date) | "2026-09-28T09:00:00.000Z" |
all |
Every field is declared with its type in the dataset schema. The backlinks list adds 25+ more fields (linkScore, previousSeen, sourcePageTitle, sourceCountry, sourceTld, sourceIp, linkPosition, imageUrl, imageAlt, isIndirect, indirectPath, targetStatusCode, sourceRankingKeywordsTop10…). The dataset has three ready table views: Profile overview, Backlinks and Bulk domain metrics.
How much does Backlink Checker cost?
You pay per event, through your Apify account. Main price: $1.50 per 1,000 rows on every Apify plan, plus $0.035 per domain report. Every event and plan:
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
| Domain reportCharged once per domain for each report requested, even if nothing is found (for the overview it includes the profile row). In link gap reports, once per comparison; in bulk metrics, once per metric group per batch of up to 1,000 domains. | $0.035 | $0.035 | $0.035 | $0.035 |
| Result rowCharged per saved row in list and history reports: backlinks, referring domains, anchors, pages, competitors, networks, link gap rows and time series points. | $0.0015 | $0.0015 | $0.0015 | $0.0015 |
| Bulk domain metricsCharged per domain row saved in the bulk metrics report. | $0.0012 | $0.0012 | $0.0012 | $0.0012 |
| Low yield extra pageOnly for reports longer than 1,000 rows: charged when a follow up page of up to 1,000 rows comes back with fewer than 21 saved rows (too few for the row price to cover that page). Never charged for reports of up to 1,000 rows. | $0.0303 | $0.0303 | $0.0303 | $0.0303 |
How do I call Backlink Checker API from code?
Every run is one HTTP request to the Apify API with your Apify token; the input below is the actor's own example. The synchronous endpoint returns the rows in the response for runs up to 300 seconds; for longer runs start a run and fetch its dataset.
curl -X POST "https://api.apify.com/v2/acts/cheapapi~backlink-checker/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"domains":["apify.com"],"report":"overview","maxResults":100}'With the JavaScript client:
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('cheapapi/backlink-checker').call({
"domains": [
"apify.com"
],
"report": "overview",
"maxResults": 100
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();How does Backlink Checker compare with alternatives?
Typical runs: 1,000 backlinks of one domain, authority metrics for 1,000 domains, and a domain overview of 1 domain. Prices are shown as Free plan / Gold plan (this Actor costs the same on every plan). Prices are the listed pay per event fees. This Actor also bills Apify platform usage separately (at the default 256 MB a small run typically uses about $0.001 to $0.005), shown as "+ usage" in our row.
| Alternative | 1,000 backlinks of one domain (Free / Gold) | Metrics for 1,000 domains (Free / Gold) | Domain overview, 1 domain (Free / Gold) | Backlinks per domain | Link gap report | Keyword & traffic data | Free plan |
|---|---|---|---|---|---|---|---|
| Most used all in one SEO scraper, Ahrefs style data (~2,100 users) | not possible (a top backlinks list inside one result per domain) | not on Free / $4.00 ($0.004 per domain on Gold, + $0.00005 start) | not on Free / $0.004 | top backlinks only | ✗ | ✓ | ✗ (its listing says it does not run on the Apify Free plan) |
| Ahrefs style SEO scraper (~2,000 users) | not possible (up to 100 top backlinks per domain, returned as one result: $0.01 / $0.005 + $0.001 start per GB of memory) | not on Free (1 domain per run) / $5.00 (+ start fee) | $0.011 / $0.006 (incl. start fee) | up to 100 | ✗ | ✓ | ✓ limited, as listed (10 runs per 30 days, 1 domain per run, up to 3 data types) |
| Semrush style SEO scraper (~1,700 users) | not possible (backlink data returned as one result per domain) | not on Free (1 URL per run) / $17.50 ($0.0175 per result on Gold, + $0.01 start per GB; announced from 11 Oct 2026: $0.025 Free, $0.001 start) | $0.0375 / $0.0275 (incl. $0.01 start) | one result per domain | ✗ | ✓ | ✓ limited, as listed (5 runs per 30 days, 1 URL per run) |
| Most used Actor named "Backlink Checker" (~530 users) | not possible (a few hundred links per domain) | $10.00 / $10.00 ($0.01 per domain; $25.00 from 9 Oct 2026 with the announced $0.015 per domain fee) | link list only (no overview) | a few hundred | ✗ | ✗ | ✓ as listed |
| Per backlink checker (~175 users) | $3.03 / $2.424 ($0.03 / $0.024 per run + $0.003 / $0.0024 per link) | $4.50 / $3.60 (max. 20 domains per run: 50 runs + 1,000 summary rows) | link list only (no overview) | up to 1,000 | ✗ | ✗ | ✓ as listed |
| Bulk domain rating checker (~46 users) | not possible (rating only, no links) | $0.50 / $0.375 ($0.0005 / $0.000375 per domain) | rating only: $0.0005 / $0.000375 | none | ✗ | ✗ | ✓ as listed |
| This Actor | $1.535 / $1.535 + usage | $1.235 / $1.235 + usage | $0.035 / $0.035 + usage (34 fields) | up to 50,000 | ✓ | ✗ | ✓ (up to $0.25 of results per month) |
Prices from public Apify Store listings (Platinum and Diamond prices equal Gold for all rows), checked September 2026. Free plan limits are as shown on each listing. Where we are not cheaper:
- Domain overview of a single domain: our overview costs $0.035 per domain on every plan. The two Ahrefs style scrapers return a domain summary for about $0.011 on Free (where available) and $0.004 to $0.006 on Gold, and the Semrush style scraper for $0.0275 on Gold, so for plain overviews they are cheaper. Our overview adds 34 fields with breakdowns by link type, attribute, TLD, country and platform; for authority and link counts of many domains, our bulk metrics cost $0.0012 per domain.
- Only a domain rating for many domains? The bulk domain rating checker costs $0.50 / $0.375 per 1,000 domains, less than our $1.235. Our bulk metrics add backlinks, referring domains, spam score and more per domain.
- Only a top-100 backlink sample for a few domains? The Ahrefs style scraper returns up to 100 links as one result for $0.01 / $0.005 plus its start fee, vs. $0.185 here for 100 links. The all in one scrapers also cover keywords and traffic.
- Very small link lists on a high Apify plan: our $0.035 report fee is a little above the per backlink checker's $0.03 / $0.024 per run fee, but each link costs $0.0015 here instead of $0.003 / $0.0024, so we are cheaper from 4 links (Free plan) or 13 links (Gold plan) upwards.
This Actor is cheaper as soon as you need full lists, referring domains, link gap, history or rich metrics for many domains, and you get filters, grouping and a hard budget cap on top.
What is it used for?
- Link prospecting and outreach: link gap reports list sites that link to your competitors but not to you (
missingFrom), ready for outreach. - SEO audits: check authority, spam scores, broken backlinks, anchor text distribution and nofollow ratio of a site in one run.
- Domain due diligence: vet expired domains, acquisition targets or guest post sites with bulk authority and spam metrics for thousands of domains.
- Link monitoring: schedule the new & lost report weekly and get alerted when a site gains or loses many links.
- Competitor research: find link building competitors and their most linked pages.
- Negative SEO checks: filter backlinks by high spam score or group referring IPs/subnets to spot link networks.
What is not included?
- Keyword rankings and organic traffic estimates, use our Domain SEO Analyzer (ranked keywords, traffic, SEO competitors for any domain).
- Keyword research (search volume, difficulty, ideas), use our Keyword Research Tool.
- Live Google results / rank checks for a keyword, use our Google SERP Scraper.
- Visibility in AI answers (ChatGPT, Gemini, AI Overviews…), use our AI Search Visibility Tracker.
- On page / technical site audits (broken pages, meta tags, speed), use our SEO Site Audit.
- Page level top pages, competitors or domain link gap, these three reports work on whole domains only; page URLs given to them are converted to their domain automatically (use the backlinks, referring domains, anchors or page link gap reports for a single page).
- Moz DA or other tools' own scores, authority and spam scores here come from our own link index and are not comparable one to one with other tools' numbers.
What are the limits?
- No link index covers the whole web; counts differ from other SEO tools and are best compared within this Actor.
- History reports start on 2019-01-30.
- Link gap reports compare 2 to 20 domains at a time; excluded domains are limited to 10.
- Custom filters accept at most 8 conditions per report (simple filters count toward the limit); custom sort accepts 3 rules.
- Top pages, competitors and link gap by domain work on whole domains; page URLs are converted to their domain (with a warning).
- Up to 50,000 rows per domain and report per run; use "Skip first rows" to continue.
Questions about Backlink Checker
Is there a limit on the Apify Free plan?
Yes: up to $0.25 of this Actor's results per calendar month, enough to try it. Apify pays developers nothing for Free plan usage while our data costs are real, so this keeps the Actor sustainable. Runs that reach the allowance stop cleanly and keep everything collected so far; the allowance resets on the 1st of the month. Any paid Apify plan has no limit.
Is it legal to use this Actor?
Yes. It returns public link data about websites (which pages link to which pages) from our own continuously crawled link index. You are responsible for how you use the results, e.g. in outreach campaigns.
Is Apify platform usage included?
No. Apify platform usage (compute) is billed separately by Apify, on top of the event fees. At the default 256 MB memory a small run typically uses about $0.001 to $0.005; large bulk runs use more. You can see each run's usage in Apify Console.
How fresh is the data?
The link index is recrawled continuously. lastSeen shows when each link was last confirmed, isNew flags links from the most recent crawl and lostDate shows when a link disappeared.
Why did I get fewer results than expected?
Your filters (link status, dofollow only, min. authority, max. spam score, countries) may exclude links, "Max rows per domain" may be lower than the available rows, grouping (one link per domain) reduces rows, or your maximum cost per run was reached (see stoppedByBudget in RUN_SUMMARY). Very new or small sites may have few or no known links.
What is the authority score?
A 0 to 100 score (or 0 to 1,000 with the finer scale) based on the number and strength of links pointing to a page or domain. Scores are comparable with each other, not with other tools' numbers.
What happens if my custom filter has a typo?
The run stops immediately with a message such as "Custom link filters" is not valid JSON near character 23 or Unknown operator "=>", before any data is fetched, so nothing is charged.
What is the difference between link spam score and site spam score?
Link spam score rates how spammy the incoming links are; site spam score rates the site itself.
How do I control my budget?
Set "Max rows per domain" and the run option "Maximum cost per run". The Actor plans each domain within the remaining budget (report fee, rows and a possible extra page fee) and never exceeds it.
Why was I charged $0.035 for a domain with no results?
The report is charged per report requested, even if nothing is found: looking up a domain in the link index costs the same whether it has links or not. Check the domain spelling and your filters before large runs; targetsWithoutData in RUN_SUMMARY lists how many domains returned nothing.
Why was I charged for a request that timed out?
A request that was sent but got no answer is never resent and is charged like an empty report (or page), because the data service may already have processed it. Rerun the domain later.
Why was I charged a $0.0303 extra page fee?
Your report asked for more than 1,000 rows, so a second (or later) page was fetched, and it brought fewer than 21 rows. Each page is a separate paid lookup that the row price alone can't cover below 21 rows. Choose Max rows of 1,000 or a multiple of 1,000 plus at least 21 to avoid it.
How many domains can I check?
Up to 10,000 per run. For many domains use Bulk metrics ($1.20 per 1,000 domains) instead of one overview per domain.
Can I monitor backlinks over time?
Yes. Schedule the New & lost backlinks report (or bulk metrics with "new & lost since"), or schedule a backlinks run with "New links only" and deduplicate by the stable id field, see Monitoring.
Which export formats are supported?
JSON, CSV, Excel, XML, HTML table and RSS from the Output tab or the dataset API.
Run Backlink Checker on Apify
The form opens with a working example. Free Apify accounts get a small monthly allowance.