SFOLN

Catalogue / SEO & search

Backlink Checker API – Anchors & Domains

sfoln/backlinks-list · SEO tools, Lead generation, Developer tools On request

Check the backlinks of any domain or URL: source page and domain, anchor text, dofollow flag, link type, domain and page rank, spam score, first and last seen dates. $0.085 per target ($85 per 1,000) + $0.30 per 1,000 backlinks.

About

What it does

Backlink Checker API – Anchors & Domains lists the backlinks pointing to any domain or page. For each link you get the source page and domain, the anchor text, dofollow/nofollow, the link type, referring domain and page rank, the spam score, first-seen and last-seen dates, and new/lost/broken flags (DataForSEO Backlinks index). Use it for link audits, competitor link research, outreach lists and monitoring, or as a tool for AI agents. Filter to dofollow links only, sort by rank or recency, and pay $0.085 per target plus $0.30 per 1,000 backlinks.

Price

Price per delivered record

EventPricePer 1,000Charged for
Backlinks query
backlinks-query
$0.085$85 / 1,000Charged once per target the upstream processed (covers the per-request fee).
Backlink
backlink
$0.0003$0.30 / 1,000Charged once per backlink record delivered.

Apify free plan: up to 5 items per run. Paid plans have no per-run cap; set maxTotalChargeUsd to cap spend.

Run

Call it from code, an agent or the Console

This API is private on Apify for now. Email us and we will publish it for you, usually within two working days. The calls below work once it is public. contact@sfoln.com

curl · synchronous run, rows in the response
curl -X POST "https://api.apify.com/v2/actors/sfoln~backlinks-list/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"targets":["dataforseo.com"],"limitPerTarget":10}'
mcp.json · hosted Apify MCP server
{
  "mcpServers": {
    "apify": {
      "type": "http",
      "url": "https://mcp.apify.com?tools=sfoln/backlinks-list"
    }
  }
}
asynchronous run · for large batches
POST https://api.apify.com/v2/actors/sfoln~backlinks-list/runs?maxTotalChargeUsd=1
GET  https://api.apify.com/v2/actor-runs/{runId}            # until status is SUCCEEDED
GET  https://api.apify.com/v2/datasets/{defaultDatasetId}/items?format=json

Authenticate with an Apify API token. MCP clients can instead sign in with OAuth when prompted. Example prompt for an agent: List the 100 strongest dofollow backlinks pointing to dataforseo.com, with their anchor texts and referring domains.

Input

Input fields

Enter domains or page URLs. Each target returns up to `limitPerTarget` backlinks.

FieldTypeDefaultMeaning
targets *arrayrequiredTargets
Domains (all backlinks of the site) or full http(s) page URLs (backlinks of that page), one per line. Accounts on the Apify free plan can process up to 5 targets per run.
limitPerTargetinteger100Backlinks per target
Maximum backlinks returned per target. Each backlink is billed as backlink. Range 1–1000.
dofollowOnlybooleanfalseDofollow only
Return only dofollow links.
sortBystring"rank"Sort by
Which backlinks come first (and are kept when the limit cuts the list). One of "rank", "domain_from_rank", "page_from_rank", "first_seen", "last_seen".
onePerDomainbooleanfalseOne backlink per referring domain
Return at most one backlink from each referring domain.
statusstring"live"Link status
live = links that exist now; lost = removed links; all = both. One of "live", "lost", "all".
includeSubdomainsbooleantrueInclude subdomains
For domain targets, also count links to subdomains.
maxTargetsinteger100Max targets
Safety cap on how many targets are processed in this run. Range 1–1000.
concurrencyinteger3Concurrency
How many targets are processed in parallel. Range 1–6.
includeRawbooleanfalseInclude raw upstream response
Attach the unmodified DataForSEO item to each result record.
Example input
{
  "targets": [
    "dataforseo.com"
  ],
  "limitPerTarget": 10
}

Output

One record per input item

Records land in the run's dataset; a synchronous call returns them directly. Each has a status (ok is charged; everything else is free) and a charged flag. The run's OUTPUT record totals items and charges.

FieldTypeMeaning
recordTypestringRecord type
backlink = one backlink; summary = one per target. e.g. "backlink"
targetstringTarget
Domain or page the links point to. e.g. "dataforseo.com"
targetTypestring | nullTarget type
domain or page: how the target was queried (summary records only).
sourceUrlstring | nullSource URL
Page that contains the link.
sourceDomainstring | nullSource domain
Referring domain.
targetUrlstring | nullTarget URL
Exact URL the link points to.
anchorstring | nullAnchor
Anchor text (alt text for image links).
dofollowboolean | nullDofollow
False for nofollow/ugc/sponsored links.
linkTypestring | nullLink type
anchor | image | meta | canonical | alternate | redirect.
rankinteger | nullBacklink rank
DataForSEO rank of the backlink (0–1000).
domainFromRankinteger | nullDomain rank
Referring domain rank (0–1000).
pageFromRankinteger | nullPage rank
Referring page rank (0–1000).
pageFromTitlestring | nullSource page title
Title of the referring page.
sourceCountrystring | nullSource country
Country of the referring domain’s server.
spamScoreinteger | nullSpam score
Backlink spam score 0–100.
firstSeenstring | nullFirst seen
When the link was first found.
lastSeenstring | nullLast seen
When the link was last seen.
isNewboolean | nullNew
Found in the latest crawl.
isLostboolean | nullLost
Not found in the latest crawl.
isBrokenboolean | nullBroken
Target URL is broken.
attributesarrayAttributes
rel attributes, e.g. nofollow, ugc, sponsored.
limitRequestedintegerLimit requested
limitPerTarget as requested (summary records only).
limitUsedintegerLimit used
Backlinks requested upstream after the free-plan cap and budget sizing (summary records only).
backlinksReturnedintegerBacklinks returned
Summary records only.
totalAvailableinteger | nullTotal available
Total backlinks matching the filters (summary records only).
queryChargedbooleanTarget fee charged
Whether backlinks-query was charged (summary records only).
inputstring | object | nullInput
Target as entered.
statusstringStatus
ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan e.g. "ok"
chargedbooleanCharged
Whether this record incurred a pay-per-event charge.
chargedEventstringCharged event
backlink (backlink records).
warningsarrayWarnings
Non-fatal notes (limit reduced, budget reached...).
errorobjectError
{code, message, provider?} when status is not ok.
sourcestringSource
Upstream data source.
fetchedAtstringFetched at
ISO timestamp.
Example record
{
  "recordType": "backlink",
  "target": "dataforseo.com",
  "sourceUrl": "https://blog.example.org/post",
  "sourceDomain": "blog.example.org",
  "targetUrl": "https://dataforseo.com/",
  "anchor": "DataForSEO",
  "dofollow": true,
  "linkType": "anchor",
  "rank": 210,
  "domainFromRank": 420,
  "pageFromRank": 180,
  "pageFromTitle": "Best SEO APIs",
  "sourceCountry": "US",
  "spamScore": 3,
  "firstSeen": "2024-03-01 00:00:00 +00:00",
  "lastSeen": "2026-10-10 00:00:00 +00:00",
  "isNew": false,
  "isLost": false,
  "isBroken": false,
  "attributes": [],
  "input": "dataforseo.com",
  "status": "ok",
  "charged": true,
  "chargedEvent": "backlink",
  "source": "dataforseo",
  "fetchedAt": "2026-10-14T10:00:00.000Z"
}

Machine-readable

This page for agents