Find Backlinks avatar

Find Backlinks

Pricing

$3.30 / 1,000 results

Go to Apify Store
Find Backlinks

Find Backlinks

Export a flat backlink list for one domain, subdomain, or page. Page beyond 1,000 rows, filter by rank and date, and write one dataset row per backlink.

Pricing

$3.30 / 1,000 results

Rating

0.0

(0)

Developer

Winning Solutions

Winning Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Find Backlinks - Flat List Export, Up to 10,000 Rows Per Run

A research Actor that returns a flat backlink list for one target at scale. Enter one target domain, subdomain, or page URL and configure mode, limits, filters, and sort order. The Actor turns that input into structured results automatically.

It returns structured JSON with url_from, url_to, domain_from, anchor, dofollow, rank, domain_from_rank, first_seen, last_seen, and source_total_count.

Designed for SEO teams, agencies, and developers who need a programmatic backlink list with one dataset row per backlink. Every run writes diagnosis rows when nothing matches, so empty results stay visible. Official backlink index data. Structured JSON. No silent empty datasets.

Paging beyond the 1,000-row limit

Need more than 1,000 backlinks? Set maxResults above 1000.

The source returns up to 1,000 items per page. This Actor pages with offset until your row limit or page cap is reached. After the run, count dataset rows: values above 1,000 mean paging worked. One flat row per backlink, not a nested array.

Use Cases

  • Export a flat backlink list for one domain or page URL
  • Pull more than 1,000 backlinks when the source reports a higher total
  • Filter by dofollow, lost status, domain rank, or first seen dates
  • Switch list mode to one row per domain or per anchor
  • Feed SEO audits and link research pipelines with structured JSON

Index

Release Notes

v0.0 - Initial public release

  • Flat backlink list: One dataset row per backlink for a single target
  • Paging over 1,000: maxResults up to 10,000 with automatic offset paging
  • Filters and modes: Dofollow, lost, rank, first seen, and three list modes

Features

๐Ÿ“Š One row per backlink: The dataset is the list. No nested backlinks[] array in a single row.

๐Ÿ“„ Paging beyond 1,000: maxResults above 1000 triggers multiple source pages until your cap or maxPages is reached.

๐Ÿ” Server-side filters: Dofollow, lost, domain rank, and first seen filters run at the source, not after download.

๐Ÿ“… First seen window: Optional from and to dates in YYYY-MM-DD format filter backlinks by first seen date.

๐ŸŽฏ Three list modes: as_is, one_per_domain, and one_per_anchor use the same per-row pricing.

๐Ÿ“ˆ Source total on every row: Each backlink row carries source_total_count so you see how much remains beyond your cap.

๐Ÿ›‘ Independent page limit: maxPages stops fetching even when maxResults is not reached, with a clear log line and diagnosis row.

โšก Diagnosis rows: Empty runs, caps, page limits, and input errors write explicit dataset rows instead of failing silently.

Pricing

Regular pricing

Cost itemRate
Result-Event (1 backlink row)$0.0033
Per 1,000 backlink rows$3.30
Apify platform compute (RAM/time)Billed by Apify platform pricing

Cost per backlink row: ~$0.0033 - Default run with 100 rows costs about $0.33 with no extra events.

You pay only for backlink rows written with resultCharged true. Diagnosis rows are free.

Free plan limit

Runs from Apify free plan accounts are limited to 100 backlink rows per run. The run finishes normally at that point and keeps every result already written.

Cost Examples

Based on the regular prices above.

Scenario A: Default run (100 backlink rows)

  • 100 backlink rows: $0.33
  • Total: ~$0.33

Scenario B: One full source page (1,000 backlink rows)

  • 1,000 backlink rows: $3.30
  • Total: ~$3.30

Scenario C: Hero paging (2,000 backlink rows)

  • 2,000 backlink rows: $6.60
  • Total: ~$6.60

Input

The Actor accepts the following input parameters (see the Input tab in the Apify Console for the full, interactive schema):

ParameterTypeRequiredDefaultDescription
targetstringyesnoneDomain, subdomain, or page URL. One target per run. Domain or subdomain: no scheme and no leading www. Page: absolute URL with http:// or https://. No lists, no spaces, no IP literal.
modestringnoas_isHow the source cuts the list. as_is keeps every backlink. one_per_domain and one_per_anchor return one representative backlink per group.
maxResultsintegerno100Max backlink rows to write. Values above 1000 are allowed. Hard cap is 10000. Free plan users stop at 100 rows. This is not a full dump.
maxPagesintegerno50Max source pages to fetch. Stops the search even if fewer rows were written. Independent of maxResults. Default 50. Values outside 1-50 are rejected, not clamped.
dofollowOnlybooleannofalseIf true, keep only dofollow backlinks. Default keeps nofollow rows.
excludeLostbooleannofalseIf true, drop lost backlinks. Default keeps lost rows.
minDomainRankintegernononeIf set, keep rows whose source domain rank is at least this value. Default applies no rank filter. Allowed range is 0-1000. Values outside that range are rejected, not clamped.
firstSeenFromstringnononeIf set, keep backlinks first seen on or after this date. Format is YYYY-MM-DD. Datetime values are rejected.
firstSeenTostringnononeIf set, keep backlinks first seen on or before this date. Format is YYYY-MM-DD. Datetime values are rejected.
orderBystringnorank,descSort rule sent to the source. One rule only. Default is rank descending.

Input Example (target domain)

{
"target": "example.com",
"maxResults": 100
}

API and MCP usage

Runs write one dataset row per backlink. Diagnosis rows use the same dataset when a run ends without backlink rows or hits a cap. Fetch rows from the default dataset after the run succeeds (or use the synchronous endpoint below).

REST (sync, returns dataset items): replace YOUR_USERNAME, YOUR_API_TOKEN, and use the same JSON body as in Input Example.

curl "https://api.apify.com/v2/acts/YOUR_USERNAME~backlink-list-exporter/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-X POST \
-H "Content-Type: application/json" \
-d '{"target":"example.com","maxResults":100}'

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
target: 'example.com',
maxResults: 100,
};
const run = await client.actor('YOUR_USERNAME~backlink-list-exporter').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Apify MCP server (AI agents): configure your MCP client with URL https://mcp.apify.com?tools=YOUR_USERNAME~backlink-list-exporter (you can combine multiple tools per Apify MCP docs). Pass the API token via your client (for example an Authorization: Bearer ... header), not inside the Actor input JSON.

Output Structure

The Actor returns structured data for each backlink row. The table below lists the main fields. Optional dataset views in the Apify Console may show a subset.

FieldTypeDescriptionExample Value
typestringItem type from the sourcebacklink
domain_fromstringReferring domainreferrer.example
url_fromstringReferring page URLhttps://referrer.example/page
url_tostringTarget page URLhttps://example.com/
anchorstringLink anchor text, may be emptyexample
dofollowbooleanWhether the link is dofollowtrue
ranknumberBacklink rank score142
domain_from_ranknumberRank of the referring domain210
first_seenstringFirst time the backlink was seen2020-01-15 12:00:00 +00:00
last_seenstringLast time the backlink was seen2026-08-01 08:00:00 +00:00
is_lostbooleanWhether the backlink is lostfalse
targetstringNormalized input targetexample.com
modestringInput list modeas_is
source_total_countnumberTotal backlinks the source reports for the target67093202
_metadata.resultChargedbooleanWhether this row was chargedtrue
_metadata.errorstring | nullPresent on failure or empty diagnostic rows(varies)
_metadata.errorContextstring | nullExtra error context when error is set(varies)

Output Example

{
"type": "backlink",
"domain_from": "referrer.example",
"url_from": "https://referrer.example/page",
"url_to": "https://example.com/",
"anchor": "example",
"dofollow": true,
"rank": 142,
"domain_from_rank": 210,
"first_seen": "2020-01-15 12:00:00 +00:00",
"last_seen": "2026-08-01 08:00:00 +00:00",
"is_lost": false,
"target": "example.com",
"mode": "as_is",
"source_total_count": 67093202,
"_metadata": {
"resultCharged": true,
"error": null,
"errorContext": null
}
}