> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentlinkops.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Prepare a backlink export for import

> Columns AgentLinkOps reads from Ahrefs, Semrush, Majestic, Moz, Google Search Console, Bing Webmaster Tools, DataForSEO, Linkody and custom CSV exports, with file limits and a preview command.

Bring the backlinks you already have from another tool. Each row needs two URLs: the **linking page** that holds the link and the **page on your site** it points to. Find your source below to see which columns AgentLinkOps reads. The CLI preset for each source accepts every header in its table. The app picks up the common ones and lets you choose any other column yourself.

## Import a file in the app

1. Export a page-level backlink list from your tool. A list of linking domains or per-site counts has no linking-page URLs and can't be imported.
2. Open **Import files**, choose the website and drop the file.
3. Check **Linking page column** and **Points to column**. Common header names are picked automatically. Choose the right column when a box is empty or wrong.
4. Read the ready line, then choose **Import N links**. Use **download** next to the skipped count to see each skipped row and the reason.

Importing saves the rows as candidates. It runs no checks and starts no monitoring. [Import and verify candidates](https://docs.agentlinkops.com/guides/import-and-verify.md) covers choosing which links to monitor and what that uses from your plan.

**File limits in the app:** CSV, TSV or JSON up to 1.8 MB. The app imports the first 1,000 rows of a file. Split a larger export into parts. Commas, semicolons, tabs and pipes all work as separators. A JSON file must be an array of objects with `source_url`, `target_url` and an optional `anchor`.

## What carries over

* **Anchor text, first seen, last seen, nofollow and lost flags** are kept when the file has them. These are your supplier's observations, not checks AgentLinkOps ran.
* **Other columns**, such as authority scores or traffic, are kept as supplier fields, up to 32 columns per row. Values are cut at 256 characters, and column names longer than 64 characters are shortened or left out. Keep the original file, because the import is not a full copy of it.
* **Blank flag cells** stay unset in the app. The CLI preview reads a blank nofollow or dofollow cell as false, so drop a flag column you don't trust before previewing.

## Why a row is skipped

* The linking page or points to cell is empty, or isn't a public web address.
* The points to URL is on another website. In the app, a subdomain of your website counts as another website.
* A date cell can't be read as a date.
* The follow and nofollow columns disagree.
* The row is already on your disavow list.
* The same linking page and target appeared earlier in the file. Repeats count once.

## Ahrefs

Use a backlinks export with one row per linking page.

| Field | Ahrefs header | Also accepted |
| - | - | - |
| Linking page | `Referring page URL` | `Source url`, `url_from` |
| Points to | `Target URL` | `Link URL`, `url_to` |
| Anchor | `Anchor` | `Anchor text` |
| Dates | `First seen`, `Last seen` | |
| Flags | `Nofollow`, `Lost`, `Type` | `Link type` |

Domain Rating, URL Rating and traffic columns stay as Ahrefs metrics. A referring-domains export has no linking-page URLs, so use the backlinks report instead.

```csv theme={null}
Referring page URL,Target URL,Anchor
https://example.org/resources,https://example.com/guide,Example resource
```

## Semrush

Use the Backlinks report export for your domain or page.

| Field | Semrush header | Also accepted |
| - | - | - |
| Linking page | `Source url` | `Source URL`, `Page URL` |
| Points to | `Target url` | `Target URL` |
| Anchor | `Anchor` | `Anchor text` |
| Dates | `First seen`, `Last seen` | |
| Flags | `Nofollow`, `Lost`, `Type` | |

Authority and toxicity columns stay as Semrush fields. Compare two Semrush files only when both cover the same scope: a root-domain export and a single-page export give different totals even when no link changed.

```csv theme={null}
Source url,Target url,Anchor
https://example.org/resources,https://example.com/guide,Example resource
```

## Majestic

Use a backlinks export, not a referring-domains summary.

| Field | Majestic header | Also accepted |
| - | - | - |
| Linking page | `SourceURL` | `Source URL` |
| Points to | `TargetURL` | `Target URL` |
| Anchor | `AnchorText` | `Anchor Text` |
| Dates | `FirstIndexedDate`, `LastSeenDate` | `First Indexed Date`, `Last Seen Date`, `Date` |
| Flags | `FlagNoFollow`, `LinkType` | `NoFollow` |

Trust Flow and Citation Flow stay as Majestic metrics. Historic index rows can be old, so check a link before you treat it as live. In the app, Majestic dates and flags are kept as supplier fields. The CLI preset reads them as dates and flags. Check a file with a generic `Date` column before you rely on it.

```csv theme={null}
SourceURL,TargetURL,AnchorText
https://example.org/resources,https://example.com/guide,Example resource
```

## Moz

Use a Link Explorer export of inbound links by linking page.

| Field | Moz header | Also accepted |
| - | - | - |
| Linking page | `Source Page` | `Source URL` |
| Points to | `Target Page` | `Target URL` |
| Anchor | `Anchor Text` | |
| Dates | `First Seen`, `Last Seen` | |
| Flags | `Nofollow`, `Link Type` | |

Domain Authority and Page Authority stay as Moz metrics. Keep the target page column so links to different pages on your site stay separate.

```csv theme={null}
Source Page,Target Page,Anchor Text
https://example.org/resources,https://example.com/guide,Example resource
```

## Google Search Console

Export the linking pages list from the **Links** report. The **Top linking sites** and **Top linked pages** exports count links per site or per page and contain no linking-page URLs, so they can't be imported.

| Field | Search Console header | Also accepted |
| - | - | - |
| Linking page | `Linking page` | `Source page`, `Links`, `Source URL` |
| Points to | `Target page` | `Linked page` |
| Last seen | `Last crawled` | `Last crawled date` |

Many Search Console exports have no target column. In the app, leave **Points to column** on your website (whole site). In the CLI, the `--target` domain fills it. That target is your expectation, because Google didn't say which page the link points to. Search Console shows a sample of links Google knows about, not every backlink, and it has no anchor or nofollow column.

```csv theme={null}
Linking page,Last crawled
https://example.org/resources,2026-10-01
```

## Bing Webmaster Tools

Use a backlinks export from Bing Webmaster Tools. If you have connected Bing under **Settings › Search connections**, you can review the backlinks Bing reports in **Find backlinks** without a file.

| Field | Bing header | Also accepted |
| - | - | - |
| Linking page | `Source URL` | `SourceUrl`, `Referring page`, `Referring page URL` |
| Points to | `Target URL` | `TargetUrl`, `Target page` |
| Anchor | `Anchor text` | `AnchorText` |

```csv theme={null}
Source URL,Target URL,Anchor text
https://example.org/resources,https://example.com/guide,Example resource
```

## DataForSEO

Use a CSV with one backlink per row.

| Field | DataForSEO field | Also accepted |
| - | - | - |
| Linking page | `url_from` | |
| Points to | `url_to` | |
| Anchor | `anchor` | |
| Dates | `first_seen`, `last_seen` | `last_visited` |
| Flags | `dofollow`, `is_lost`, `item_type` | `type` |

`dofollow` runs the opposite way to nofollow: `true` means the supplier did not mark the link nofollow. The importer reads flat rows, so convert a nested JSON API response to CSV first and keep the original response.

```csv theme={null}
url_from,url_to,anchor
https://example.org/resources,https://example.com/guide,Example resource
```

## Linkody

Use the backlinks export from your Linkody domain.

| Field | Linkody header | Also accepted |
| - | - | - |
| Linking page | `URL` | `Source URL`, `From` |
| Points to | `Link` | `Target URL`, `To` |
| Anchor | `Anchor` | `Anchor text` |
| Dates | `Date found`, `Last seen` | `First seen` |
| Flags | `Nofollow` | `Follow` |

In the app, choose `URL` as the linking page column and `Link` as the points to column. Linkody's dates come from its own monitoring, not from checks AgentLinkOps ran. The CLI preset reads a `Follow` column as a nofollow flag, so `true` in that column would mark the link nofollow. Convert it to a `Nofollow` column with true or false values before you import.

```csv theme={null}
URL,Link,Anchor
https://example.org/resources,https://example.com/guide,Example resource
```

## CSV

Any CSV, TSV or spreadsheet export works if each row has a linking page and the page it points to. Name the columns `Source URL` and `Target URL` and the app picks them up. With other names, choose the two columns yourself in the app, or pass `--map` in the CLI.

Quote cells that contain commas, such as anchor text. A spreadsheet that splits a quoted cell into extra columns gives that row the wrong number of values, and the row is skipped.

```csv theme={null}
source,target,anchor
https://example.org/resources,https://example.com/guide,"Guides, tools and examples"
```

## Preview a file with the CLI

The CLI reads the whole file and reports accepted, rejected and duplicate rows with their line numbers. It needs no account and saves nothing.

```bash theme={null}
npx -y agentlinkops import backlinks.csv --target example.com --from ahrefs
```

Use the preset for your source: `ahrefs`, `semrush`, `majestic`, `moz`, `google_search_console`, `bing_webmaster_tools`, `dataforseo`, `linkody` or `csv`. A preset only supplies default column names. When a header differs, name the columns:

```bash theme={null}
npx -y agentlinkops import backlinks.csv --target example.com --from csv \
  --map source=source,target=target,anchor=anchor
```

The `csv` preset has no default columns, so it always needs `--map`. Add `--generated-at` with the time your supplier produced the export. If the CLI can't find a column, it prints the headers it saw and an example `--map`. The [import command reference](https://docs.agentlinkops.com/reference/local/import.md) lists every flag, and [import\_backlinks](https://docs.agentlinkops.com/reference/commands/import_backlinks.md) covers hosted imports through MCP or HTTP.

## Next step

[Import and verify candidates](https://docs.agentlinkops.com/guides/import-and-verify.md) to check the links you imported and choose which ones to monitor.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.