# Competitor Backlink Checker – Backlink Gap Analysis (`rowfeed/competitor-backlink-checker`) Actor

Find sites that link to your competitors but not to you: a backlink gap analysis for up to 20 competitors. Every linking domain with the competitors it links to, link count, dofollow, strength and spam score. Pay per domain.

- **URL**: https://apify.com/rowfeed/competitor-backlink-checker.md
- **Developed by:** [Rowfeed](https://apify.com/rowfeed) (community)
- **Categories:** SEO tools, Marketing, AI
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 gap domains

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Competitor Backlink Checker – Backlink Gap Analysis

Find the sites that link to your competitors but not to you. Enter your website and up to 20 competitors, and get every linking domain in the gap, strongest first: which competitors it links to, how many links, dofollow or not, its strength and spam score.

- **Backlink gap in one run:** sites that link to every competitor (default) or to any of them, with the sites that already link to you left out.
- **Easiest wins first:** a site that links to two or three of your competitors already links to sites like yours.
- **Judge each prospect:** link strength (0-1,000), spam score (0-100), dofollow per competitor, link count per competitor and when the first link was seen.
- **Up to 10,000 domains per run**, 20 competitors per comparison, any country and language.

Built for link building, SEO agencies, outreach lists and competitor analysis.

### Example output row

```json
{"linking_domain": "univd.edu.ua", "competitors_linked": 2, "links_to": "canva.com, miro.com", "backlinks_per_competitor": {"canva.com": 2258, "miro.com": 2}, "dofollow_to": "canva.com, miro.com", "link_strength": 284, "spam_score": 13, "first_seen": "2024-07-21T14:13:42+00:00", "your_domain": "figma.com", "total_gap_domains": 2503}
```

### Pricing

Pay per event, no subscription:

- **$0.002 per linking domain** in the results.
- **$0.16 per lookup** of up to 1,000 domains.
- $0.002 per run start.

Examples: 100 gap domains cost $0.36. 1,000 cost $2.16. The pre-filled example is served from a saved run and costs only the start fee. Set a maximum cost per run in the run options and the run stops before it.

### Input

| Field | What it does |
|---|---|
| `yourDomain` | Your website. Sites that already link to it are left out. Leave empty to list every site linking to the competitors. |
| `competitors` | 1 to 20 competitor domains. |
| `match` | `all`: sites linking to every competitor (default). `any`: sites linking to at least one. |
| `maxDomains` | Up to 10,000, strongest first. |

### Good to know

- **Live lookups need a paid Apify plan** (any plan); the pre-filled example works on the free plan.
- Backlink data comes from DataForSEO's live link index, including subdomains. Links inside a competitor's own site are left out.
- `link_strength` is the strength of the domain's links to the competitors on a 0-1,000 scale.

### More tools from Rowfeed

- [Backlinks Checker](https://apify.com/rowfeed/backlink-checker) – every backlink of one site with anchors.
- [Competitor Keyword Research](https://apify.com/rowfeed/competitor-keywords) – the keyword gap to the same competitors.
- [DA PA Checker](https://apify.com/rowfeed/da-pa-checker) – strength and spam score for a list of domains.
- [Backlink Monitor](https://apify.com/rowfeed/backlink-monitor) – new and lost backlinks over time.

# Actor input Schema

## `yourDomain` (type: `string`):

Sites that already link to you are left out. Leave empty to list every site that links to the competitors.

## `competitors` (type: `array`):

Competitor domains, 1 to 20. A URL is turned into its domain.

## `match` (type: `string`):

Sites that link to every competitor are the easiest to win: they already link to sites like yours.

## `maxDomains` (type: `integer`):

Strongest first. Up to 10,000; every 1,000 is one lookup.

## Actor input object example

```json
{
  "yourDomain": "figma.com",
  "competitors": [
    "canva.com",
    "miro.com"
  ],
  "match": "all",
  "maxDomains": 100
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "yourDomain": "figma.com",
    "competitors": [
        "canva.com",
        "miro.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("rowfeed/competitor-backlink-checker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "yourDomain": "figma.com",
    "competitors": [
        "canva.com",
        "miro.com",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("rowfeed/competitor-backlink-checker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "yourDomain": "figma.com",
  "competitors": [
    "canva.com",
    "miro.com"
  ]
}' |
apify call rowfeed/competitor-backlink-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rowfeed/competitor-backlink-checker"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/XITEKZ7ZFMXys0suv/builds/QEFl7vLowkh5khK7E/openapi.json
