Import backlinks in bulk from a CSV file, either into one domain or into all your domains at once with a single file.
Where to find the CSV import
Click ADD LINKS, then open the CSV Import tab. The report you start from decides where the links go:
From a domain's Links report: every link in the file is added to that domain.
From the All domains links report: you choose an import mode. Global adds links to several domains from one file, and Per Domain adds them all to the one domain you select.
Choose an import mode (All domains links)
Global mode is selected by default. Use it to fill all your domains with one file.
Import mode | Where each link goes | Accepted formats |
Global (default) | To the domain named in the row's Site column. One file can hold links for any number of your domains. | Linkody format with a Site column |
Per Domain | To the one domain you choose under Select Domain. | Linkody, Google Search Console, Ahrefs, Moz |
Per Domain works exactly like an import started from that domain's Links report.
Select the format
When you import into one domain, pick the format that matches where your data comes from:
Linkody's own format, for a file you build yourself or a Linkody export
Google Search Console (GSC)
Ahrefs
Moz
Global imports always use Linkody's format with an extra Site column, so the format picker is hidden in Global mode. To import a GSC, Ahrefs or Moz file, use Per Domain mode or the domain's own Links report.
Configure import options
The same options apply in every mode:
Update existing links: if a link is already monitored, Linkody replaces its tags, notes, expected values, expiration date and cost with the values in the file. An empty field erases the current value, except the date added, which is kept. With this option off, links already monitored are skipped. A link in your archive counts as already monitored: it is skipped, and Update existing links does not change it.
Maximum links from the same domain: how many links from the same referring domain Linkody adds. The default is 1 link per domain, so choose No limit if you want every row imported. In Global mode, the limit is counted separately for each of your domains. Links in your archive count toward this limit, like the links you monitor.
Applies only to CSV: the limit counts only the links in your file and ignores links you already monitor.
Report status changes: on by default. Turn it off if you don't want email alerts about these links.
Linkody CSV format
Each line is one link. Only the referring page URL is required: leave the other fields empty or leave the columns out.
Column | Required | What to enter |
Referring page URL | Yes | The page that links to your site |
Tags | No | Tags separated by commas. Wrap the list in double quotes, e.g. "guest post,2026" |
Notes | No | Free text. Email addresses and URLs become clickable |
Expected landing page URL | No | The page on your site the link should point to: a full URL or a path such as /pricing. It must be on the domain the link is added to |
Expected follow | No | yes or no (y/n and 1/0 also work). Use yes if the link must not be nofollow |
Expected anchor text | No | The anchor text the link should have |
Date added | No | When the link was added. Empty means the day of the import |
Expiration date | No | When the link expires |
Cost | No | What the link cost, e.g. 150 or 150.00, without a thousands separator |
Write dates as YYYY-MM-DD (recommended), DD/MM/YYYY or DD-Mon-YYYY (e.g. 01-Aug-2026). Dates with slashes are read day first: 03/04/2026 is 3 April. Linkody detects the separator (comma, semicolon, tab or pipe) by itself.
Column names. If the first line holds column names, the columns can be in any order and other columns are ignored. Linkody recognizes URL from (or Source URL), Tags, Notes, Expected landing page URL, Expected follow, Expected anchor, Added, Expires and Cost. Without a URL from column name, Linkody reads the columns in the order of the table above and imports the first line as a link.
Example:
URL FROM,TAGS,NOTES,EXPECTED LANDING PAGE URL,EXPECTED FOLLOW,EXPECTED ANCHOR,ADDED,EXPIRES,COST
https://site1.com/somepage,directory,free listing,/page1,yes,,,,
https://site2.com,,something to remember,,yes,,2025-08-01,2026-08-01,50
https://site3.com/otherpage,"guest post,blog",,https://www.mywebsite.com/page2,,some anchor text,,,
https://site4.com/page,,,,,,,,
Global import format
A global file uses the Linkody format with one extra column first: Site, the domain each link is added to. The other columns follow in the same order as above.
Rules for the Site column:
Write the domain exactly as it appears in your Linkody domain list. www.example.com and example.com are two different domains.
A leading https:// is fine, but leave out any path or trailing slash.
A row whose Site is not one of your domains, or is a competitor, is not imported. The error log lists it, and the other rows are still imported.
An expected landing page written as a path, such as /pricing, is completed with that row's Site.
If you use column names, Linkody needs both Site (or Domain) and URL from among them. The other columns can then be in any order.
Example:
SITE,URL FROM,TAGS,NOTES,EXPECTED LANDING PAGE URL,EXPECTED FOLLOW,EXPECTED ANCHOR,ADDED,EXPIRES,COST
mysite.com,https://blog.example.org/best-tools,"guest post,2026",,/pricing,yes,best SEO tools,2026-09-01,2027-09-01,150
mysite.com,https://news.example.net/article-42,,,,,,,,
myothersite.com,https://directory.example.com/listing/123,directory,free listing,,no,,,,
Tip: you can also import a file with a Site column in Per Domain mode. If its first line holds the column names, Linkody imports only the rows for the selected domain and reports the others as ignored.
After the import
Linkody shows how many links were imported or updated. It also counts the links that were already monitored and those skipped by the per-domain limit.
Rows with errors are listed in an errors log (the first 100 errors). Fix them and import the same file again: links that were already imported are recognized and not added twice.
The import stops when you reach your plan's link limit or your link import quota.
