Find Backlinks
Pricing
$3.30 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
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
- Features
- Use Cases
- Pricing
- Input
- Input Example
- API and MCP usage
- Output Structure
- Output Example
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 item | Rate |
|---|---|
| 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):
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
target | string | yes | none | Domain, 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. |
mode | string | no | as_is | How the source cuts the list. as_is keeps every backlink. one_per_domain and one_per_anchor return one representative backlink per group. |
maxResults | integer | no | 100 | Max 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. |
maxPages | integer | no | 50 | Max 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. |
dofollowOnly | boolean | no | false | If true, keep only dofollow backlinks. Default keeps nofollow rows. |
excludeLost | boolean | no | false | If true, drop lost backlinks. Default keeps lost rows. |
minDomainRank | integer | no | none | If 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. |
firstSeenFrom | string | no | none | If set, keep backlinks first seen on or after this date. Format is YYYY-MM-DD. Datetime values are rejected. |
firstSeenTo | string | no | none | If set, keep backlinks first seen on or before this date. Format is YYYY-MM-DD. Datetime values are rejected. |
orderBy | string | no | rank,desc | Sort 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.
| Field | Type | Description | Example Value |
|---|---|---|---|
type | string | Item type from the source | backlink |
domain_from | string | Referring domain | referrer.example |
url_from | string | Referring page URL | https://referrer.example/page |
url_to | string | Target page URL | https://example.com/ |
anchor | string | Link anchor text, may be empty | example |
dofollow | boolean | Whether the link is dofollow | true |
rank | number | Backlink rank score | 142 |
domain_from_rank | number | Rank of the referring domain | 210 |
first_seen | string | First time the backlink was seen | 2020-01-15 12:00:00 +00:00 |
last_seen | string | Last time the backlink was seen | 2026-08-01 08:00:00 +00:00 |
is_lost | boolean | Whether the backlink is lost | false |
target | string | Normalized input target | example.com |
mode | string | Input list mode | as_is |
source_total_count | number | Total backlinks the source reports for the target | 67093202 |
_metadata.resultCharged | boolean | Whether this row was charged | true |
_metadata.error | string | null | Present on failure or empty diagnostic rows | (varies) |
_metadata.errorContext | string | null | Extra 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}}