Backlink Checker API: Backlinks, Referring Domains & Anchors avatar

Backlink Checker API: Backlinks, Referring Domains & Anchors

Pricing

from $1.20 / 1,000 backlinks

Go to Apify Store
Backlink Checker API: Backlinks, Referring Domains & Anchors

Backlink Checker API: Backlinks, Referring Domains & Anchors

Check the backlinks of any domain or URL: source page, anchor text, dofollow, domain rank, spam score, first and last seen. Or list its referring domains with link counts. Up to 10,000 rows per target, no Ahrefs or Semrush subscription. Pay only per result.

Pricing

from $1.20 / 1,000 backlinks

Rating

0.0

(0)

Developer

PlainRows

PlainRows

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Check the backlinks of any website or page: linking URL, anchor text, dofollow/nofollow, domain rank, page rank, spam score, first and last seen dates. Or list its referring domains with backlink counts. A pay-per-use backlink checker and Ahrefs / Semrush backlink alternative, with no subscription.

It reads a live backlink index through a commercial data API instead of scraping an SEO tool's website: results in seconds, no login, no blocked runs, up to 10,000 rows per target. You pay per row returned plus a small fee per target looked up (see Pricing).

Typical uses

  • Competitor backlink research: see which sites link to a competitor, with which anchor, and which links pass authority (dofollow).
  • Link building prospecting: list the referring domains of competing pages, sorted by rank, and contact the best ones.
  • Backlink audits: spot spammy, broken, lost or nofollow links pointing to your site.
  • New link monitoring: sort by newest to see links found recently; schedule the run weekly.
  • Automations and AI agents: feed n8n, Make, Zapier, Google Sheets or an MCP client with structured JSON.

What you get

Backlinks mode (one row per link):

FieldDescription
sourceUrl, sourceDomain, sourceTitleThe page that links to your target, its domain and title
targetUrlThe page of your target that is linked
anchor, linkTypeAnchor text; link type (anchor, image, redirect, canonical...)
dofollow, relAttributesWhether the link passes authority; its rel attributes (nofollow, ugc, sponsored...)
sourceDomainRank, sourcePageRankRank of the linking domain and page, 0 to 100
spamScoreSpam score of the backlink, 0 to 100
firstSeen, lastSeenWhen the link was first and last found (ISO 8601, UTC)
isNew, isLost, isBroken, isIndirectNew in the latest crawl update; gone; pointing to a broken page; reaching the target through a redirect
targetStatusCode, sourceLanguage, sourceServerCountry, sourcePlatformTypes, sourcePageExternalLinks, imageUrlExtra context on both pages

Referring domains mode (one row per linking domain):

FieldDescription
referringDomainThe linking domain
rankPassedRank (0 to 100) this domain passes to your target through its links: high means strong links, not necessarily a big site
backlinks, dofollowBacklinks, nofollowBacklinks, referringPagesHow many links (and pages) from that domain point to your target
spamScore, brokenBacklinksSpam score of its links; links to broken pages
firstSeen, lostDate, isLostWhen the domain first linked, and when it stopped

Every row also has target (what you checked), targetType (domain or url), totalAvailable (how many backlinks or referring domains exist for the target with your filters, before your row limit), found, observedAt and schemaVersion. Missing values are always null, never guessed.

Input

{
"targets": ["backlinko.com", "https://ahrefs.com/blog/"],
"mode": "backlinks",
"maxResultsPerTarget": 100,
"sortBy": "rank",
"dofollowOnly": false,
"onePerDomain": false,
"includeLostLinks": false,
"includeSubdomains": true
}
  • targets: up to 1,000 per run. A domain (example.com) or subdomain covers the whole site; a URL with a path (https://example.com/blog/post) covers that page only. www. and https:// are handled for you.
  • mode: backlinks (one row per link) or referringDomains (one row per linking domain).
  • maxResultsPerTarget: 1 to 10,000 (default 100). Big sites have millions of links: you get the first rows in your sort order.
  • sortBy: rank (strongest first, default: linking domain rank in backlinks mode, rank passed in referring domains mode), newest (most recently found first), or backlinks (referring domains with the most links first).
  • dofollowOnly: skip nofollow links. onePerDomain: keep one link per linking domain. includeLostLinks: also return links that disappeared. includeSubdomains: count links to the target's subdomains too.

Output example

Real row from a run on 2026-10-07 (target backlinko.com, backlinks mode, default sort by domain rank):

{
"target": "backlinko.com",
"targetType": "domain",
"found": true,
"sourceUrl": "https://apps.apple.com/us/app/seoquake-go/id1184890971",
"sourceDomain": "apps.apple.com",
"sourceTitle": "‎SEOquake Go on the App Store",
"targetUrl": "https://backlinko.com/tools/seo-checker",
"anchor": "App Support",
"linkType": "anchor",
"dofollow": true,
"relAttributes": [],
"sourceDomainRank": 100,
"sourcePageRank": 7,
"spamScore": 20,
"firstSeen": "2019-06-17T23:37:10.000Z",
"lastSeen": "2025-10-06T10:16:44.000Z",
"isNew": false,
"isLost": false,
"isBroken": false,
"isIndirect": true,
"targetStatusCode": 200,
"sourceLanguage": "en",
"sourceServerCountry": "US",
"sourcePlatformTypes": [
"ecommerce"
],
"sourcePageExternalLinks": 30,
"imageUrl": null,
"totalAvailable": 885847,
"observedAt": "2026-10-07T13:15:07.795Z",
"schemaVersion": "1.0"
}

A target with no backlink returns one free row: {"target": "...", "targetType": "domain", "found": false, "totalAvailable": 0, ...}.

Pricing

Pay per use, no subscription. See the Pricing tab for current prices. Two events:

  • Backlink or referring domain returned: one per row in your dataset, cheaper on higher Apify plans.
  • Target looked up: a flat fee per domain or URL checked, because each lookup in the backlink index has a fixed cost. When you ask for more than 1,000 rows for one target, each extra block of 1,000 rows is one more lookup.

A target with no backlink found is charged its lookup fee only (its found: false row is free). Invalid targets, duplicates and lookups that fail are never charged. The run never spends more than the maximum cost you set: it stops before a lookup it could not pay for.

Free Apify plan: each run checks up to 2 targets with up to 20 rows each, so you can check the output. A paid Apify plan removes these limits.

Use it from code, automations or AI agents

API (one call, results returned directly):

curl -X POST "https://api.apify.com/v2/acts/plainrows~backlink-checker/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"targets": ["backlinko.com"], "maxResultsPerTarget": 50, "dofollowOnly": true}'

n8n, Make, Zapier: use the Apify integration, pick plainrows/backlink-checker, and send the rows to Google Sheets, Airtable, your CRM or a database.

AI agents (MCP): add https://mcp.apify.com?tools=plainrows/backlink-checker to Claude, Cursor or any MCP client. The agent gets a typed tool and pays per result.

What this is not

  • Not Ahrefs, Semrush or Moz data. Ranks and spam scores come from an independent backlink index (DataForSEO), on their own 0 to 100 scale; they do not match Ahrefs DR or Moz DA exactly, and link counts differ between tools.
  • No traffic, keyword rankings or domain-level summary metrics: rows are backlinks or referring domains.
  • Not affiliated with Ahrefs, Semrush, Moz or Google.

Run summary

Each run stores a summary in the key-value store (OUTPUT): targets checked, lookups charged, rows billed, targets with no backlinks, total backlinks available per target, duplicates and invalid targets, and anything skipped because of the free-plan or budget limit.

FAQ

How do I see who links to a website? Enter the domain in targets and run in backlinks mode: one row per linking page with anchor text, dofollow flag, ranks and dates. Use referringDomains mode for one row per linking website.

Can I check the backlinks of a single page? Yes: give the full URL with its path (https://example.com/blog/post); a bare domain covers the whole site.

How do I find new or lost backlinks? Sort by newest to see the most recently found links first, and turn on includeLostLinks to also get links that disappeared (isLost: true).

Is this Ahrefs or Moz data? No. Ranks and spam scores come from an independent backlink index (DataForSEO) on their own 0-100 scale, so they do not match Ahrefs DR or Moz DA.

How many backlinks can I get? 1 to 10,000 per target and run (maxResultsPerTarget), strongest first by default.

More PlainRows tools

Same pay-per-result pricing, same clean JSON, built to chain together in n8n, Make, Zapier or AI agents.

Compared with other APIs: Ahrefs API alternative · Semrush API alternative

Support

Missing a field or found a bug? Open an issue on this page. Issues are read and answered.