1. Getting Started
Tom's Link Authority (TLA) is a Windows desktop app for checking domain authority, finding who links to a domain, and finding sites that link to your competitors but not to you. Everything runs locally against one data file built from Common Crawl's web graph. There are no accounts, no per-query costs and no rate limits.
The app is a single portable TLA.exe — no installer, no runtime to install. The data file is a separate, free download that the app fetches for you.
System requirements
| Item | Requirement |
|---|---|
| Windows | Windows 10 or 11, 64-bit |
| Disk space | About 112 GB free for the first install (the Sep 2026 release: about 21.6 GB to download, about 90.3 GB once unpacked; both are on disk while it installs). An SSD is strongly recommended — the data file is read at random. |
| Memory | Any. Very large backlink lists are capped to suit the PC's memory (see Result Limit). |
| Internet | Only to download the data file, activate or check a licence, and fetch Ahrefs DR values if you use them. Lookups never go online. |
Installation
- Download
TLA.zipfrom tomdahne.com/link-authority and extract it to any folder you can write to (notProgram Files). - Run
TLA.exe. No admin rights are needed. If Windows SmartScreen warns about an unrecognised app, click More info then Run anyway — see Troubleshooting. - With no data file yet, the app shows a First Run window with three choices: Download the data file (gets the current release from tomdahne.com), Browse for a .db file I already have, or Not now (both options are also in Settings, under the gear icon).
- Choose Download. The download window shows the release, its size and its domain and link counts. Press Download. It can be stopped and resumed — even days later — see The Data File.
- When it says Ready, every tab works. Your 30-day trial of everything started when you first ran the app.
Tip: The data file is saved in a data folder next to TLA.exe unless you choose another folder first (Settings → Set Data Folder...). If that drive is short of space, pick a folder on a bigger drive before downloading.
2. Trial & Licence at a Glance
The app and the data file are free. A 30-day trial unlocks everything from the first run. After the trial, three tabs stay free forever and two need a licence.
| Feature | Free, always | Trial (30 days) | Licence ($30 / 12 months) |
|---|---|---|---|
| Lookup, Compare, Batch | Yes | Yes | Yes |
| Backlinks, Link Gap | — | Yes | Yes, until the licence's end date |
| Data file download | Yes | Yes | Yes, every release |
| Ahrefs DR column | Optional everywhere it appears; needs your own free Ahrefs API key (section 10) | ||
A licence is a one-off payment, not a subscription: nothing renews or charges automatically. When it ends, Backlinks and Link Gap lock until you renew. Renewing extends the same key, so there is nothing new to enter. A new data release is published about every three months, and all of them are free to download. Full details are in section 12.
3. The Interface
The toolbar holds five tabs — Lookup, Compare, Batch, Backlinks and Link Gap — then About and the gear icon for Settings. Use Ctrl+1 to Ctrl+5 to switch tabs. Each tab keeps its own results while you switch, and the app reopens on the tab you last used.
3.1 Status bar
The bar at the bottom shows the loaded release and its domain and link counts, for example cc-main-2026-jul-aug-sep | 165,380,218 domains | 4,853,081,135 links. With nothing loaded it says No data file loaded — Open Settings to load one. The tomdahne.com link on the right opens the website.
3.2 One copy at a time
Starting TLA.exe while it is already running brings the open copy to the front instead of starting a second one.
3.3 Long searches
Backlinks and Link Gap searches run in the background, so the window stays responsive. While one runs, its button changes to Cancel and Settings will not open; closing the app simply cancels the search. During a Batch run, Settings and closing the app both wait until you press Cancel or the run finishes.
4. Lookup
Type a domain and press Lookup or Enter. You can paste a full URL: the app removes https://, www., paths, ports and surrounding spaces, so https://www.Example.com/page looks up example.com.
4.1 The result
- Tier badge — ELITE, TOP 1K, TOP 10K, TOP 100K, TOP 1M or LONG TAIL, with the rank range beside it (see the table below).
- Connectivity — the Harmonic Centrality rank from Common Crawl's web graph: how close the domain is to the rest of the web. Lower is better. Shown as Ranked #13,469,325 out of 165,380,218 domains.
- Authority — the PageRank rank from the same graph: how much link value flows into the domain. Lower is better.
- Comparison — how the two ranks relate: Evenly matched, Nearly identical, or which one ranks higher and by how much.
- Subdomains — how many host names Common Crawl found under the domain (mail., docs., and so on).
- Percentile — the share of domains in the data file that this one outranks.
- AI Visibility Score — the gauge, 0 to 100, is the Connectivity percentile rounded. Well-connected domains are the ones most likely to be found by crawlers, including those that gather AI training data.
Each label has a (?) that explains it in plain words.
| Tier | Connectivity rank |
|---|---|
| ELITE | Top 100 |
| TOP 1K | #101 – #1,000 |
| TOP 10K | #1,001 – #10,000 |
| TOP 100K | #10,001 – #100,000 |
| TOP 1M | #100,001 – #1,000,000 |
| LONG TAIL | #1,000,001 and below |
Scores are relative to the data file. Ranks and the AI score are measured against every domain in the file, so they can move a little between releases even when nothing about a site has changed. At very deep ranks many domains share the same score and their order among themselves is arbitrary — true of every link index.
4.2 Two special results
NOT RANKED (red) means the domain is not in the data file at all — usually because no page Common Crawl crawled links to it.
NOT IN LATEST CRAWL (grey) means the domain is in the file because an earlier release ranked it, but the latest crawl did not. The app shows its last known rank instead, for example was #41,548 in Jun 2026, and the gauge reads --. See section 9.
4.3 History
The left sidebar lists your last 20 lookups. Click one to run it again. Hover an entry and click the red x to remove it (this also forgets that domain's saved DR value). Clear History clears the list and, after asking, every saved DR value.
4.4 Buttons
- Copy Results — copies the result as plain text.
- Add to Compare — adds the domain to the Compare tab and switches to it.
- Lookup Backlinks — opens the Backlinks tab and searches the domain.
The DR pill on the right fetches the domain's Ahrefs Domain Rating when clicked (optional — section 10). The words Domain Rating by Ahrefs beside it link to ahrefs.com.
5. Compare
Compare puts up to 10 domains side by side. Type a domain and press Add or Enter. The columns are Domain, Tier, Connectivity, Authority, Subdomains, Comparison and AI Score. Click a column header to sort; click again to reverse.
The line above the table shows the count and, with two or more ranked domains, the Best one (lowest Connectivity rank). Right-click a row to copy it, search the domain in Google, open it in Lookup, or remove it. Export CSV saves the table; Clear All empties it. The list is saved when you close the app and reloaded next time.
6. Batch
Batch looks up to 1,000 domains in one go. Paste them into the box one per line, use Paste Clipboard, type one at a time with Add, or drag a .txt file (under 1 MB) onto the tab. Then press Lookup All.
Each line is cleaned the same way as Lookup (URLs, www., case and spaces). Duplicates are dropped and lines that are not valid domains are skipped; the app tells you how many. Press Cancel to stop part-way and keep the results so far. A summary at the end counts the domains in each tier.
The results table has the same columns, sorting and right-click menu as Compare. Export CSV saves every row; HTML Report creates a shareable report of up to 500 rows. The text in the paste box is kept between sessions; the results are not.
7. Backlinks
Backlinks lists every domain in the data file that links to the domain you enter, strongest first. It is part of the trial and of a licence (section 2).
7.1 Running a search
Enter a domain and press Lookup. The button becomes Cancel and the strip above the list counts results as they arrive. Most domains take a second or two; the very largest take longer. If the domain is not in the data file, or nothing in it links to the domain, the app says which.
7.2 Narrowing the list
- Tier buttons — All, Elite, Top 1K, Top 10K, Top 100K, Top 1M, Long Tail.
- Search results... — filters by text in the domain as you type.
- Letter list — All, 0-9 (anything not starting with a letter), A to Z.
Filters work on the results already loaded; they never run a new search. The summary strip shows the totals, the count per tier and the link history counts.
7.3 Columns
| Column | What it shows |
|---|---|
| (tick box) | Selects the row for exports and Get DR |
| Linking Domain | The domain that links to yours |
| Tier | Elite through Long Tail, or Not in latest crawl |
| Connectivity | Its Harmonic Centrality rank (lower is better) |
| AI Score | 0–100, as on the Lookup gauge |
| Authority | Its PageRank rank (lower is better) |
| Subdomains | Host names found under it |
| First Seen / Last Seen | The Common Crawl releases in which the link was first and last seen, coloured as in section 9 |
| DR | Ahrefs Domain Rating, when fetched (section 10) |
Click a header to sort. Rows for domains that are not in the latest crawl always sort below ranked rows.
7.4 Ticks, exports and copying
Tick rows to choose exactly what you export. All (on the right) ticks every row the current filters show — it asks first above 100 rows — and None clears the ticks.
- If any rows are ticked, CSV, Report and Copy use the ticked rows, including ticked rows a filter is now hiding.
- If nothing is ticked, they use every row that matches the current filters.
- CSV has no row limit. Above 1,048,575 rows the app warns that Excel opens only the first part of such a file.
- Copy copies domain names, one per line, up to 100,000.
- Report makes a self-contained HTML report with a table of up to 500 rows, plus the totals for the whole selection.
Right-click a row to copy the domain or the row, fetch its DR, open the site in your browser, search it in Google, or open it in Lookup.
7.5 Size limits
The list shows up to 100,000 rows; exports are not limited by that. A single search keeps at most the row limit, which the app sets from your PC's memory (up to 5,000,000 rows) and you can change in Settings. When a domain has more linking domains than the limit, the app says so and keeps the strongest ones — results arrive in authority order, so only the weakest end of the long tail is dropped.
8. Link Gap
Link Gap finds domains that link to a competitor but not to you — sites already linking within your niche, which makes them the best outreach targets. It is part of the trial and of a licence.
Enter Your domain and a Competitor domain, then press Find Gap. The two must be different. Your own domain is removed from the results. The list, filters, ticks, exports, right-click menu and limits all work exactly as on the Backlinks tab. Here, First Seen and Last Seen are the dates of the link to the competitor.
Tip: Start with your closest competitors and the Elite to Top 100K tiers. Then run the same competitor again later: links marked new are fresh opportunities.
9. Link History & Colours
Each data release adds Common Crawl's latest web graph to the links already in the file, so the app knows when each link was first and last seen. This appears in the First Seen and Last Seen columns, the summary strip (N new, N not in latest crawl, N lost) and the HTML reports.
| Colour | Meaning |
|---|---|
| Green First Seen | New: the link first appeared in the latest release. |
| Amber Last Seen | Not in the latest crawl. Common Crawl does not revisit every page each time, so the link may well still exist. |
| Red Last Seen | Lost: not seen for two or more releases in a row — probably removed. |
| No colour | Seen in the latest release and before it. |
A link is dropped from the file after it has been missing for four releases in a row. Domains get the same treatment: a domain the latest crawl did not rank stays in the file, marked Not in latest crawl, with its last known rank, until it too ages out.
What the data can and cannot say. The data records when Common Crawl saw a link, at domain level. It cannot confirm a link is live today, or show which page it is on. Sites change after a crawl.
10. Ahrefs DR (Optional)
The DR column shows Ahrefs' Domain Rating next to the app's own ranks, for a second opinion. It uses your own free Ahrefs API key; without one the column stays empty and nothing is sent anywhere.
- In Settings, under AHREFS DR (OPTIONAL), click Get a key to open Ahrefs' API page and create a free key.
- Paste it into the box and click Save. The key is stored encrypted for your Windows account, never in the settings file.
- Click a DR pill or cell to fetch one value, or tick rows in Backlinks or Link Gap and press Get DR, which fetches 10 at a time. Press it again for the next 10.
Fetched values are saved for 30 days, so you are not asked to fetch them again; hovering a value shows how old it is. After 30 days a value counts as not fetched, and the next click or Get DR asks Ahrefs again. If Ahrefs rate-limits your key, the app stops and keeps the values it already has. Every DR request counts against your own Ahrefs key.
Refreshing one value sooner: look the domain up in the Lookup tab, then click the red x next to it in the History list. That forgets its saved DR value. Click the DR pill (or the DR cell in Backlinks or Link Gap after a new search) to fetch it fresh. Clear History does the same for every saved value at once, after asking.
DR values are Domain Rating by Ahrefs. The app credits Ahrefs next to the DR values on every tab and in reports. In CSV files the column is named ahrefs_dr. Tom's Link Authority is not affiliated with Ahrefs.
11. The Data File
Everything the app knows comes from one SQLite file, tla-full.db, holding every domain and every link. It is free to download and needs no licence. The Sep 2026 release holds 165,380,218 domains and 4,853,081,135 links.
11.1 Downloading
Open the download window from the First Run window, from Settings → Download Data File..., or from the Data File window's Check for Update. It shows the release, the download size and the counts, and tells you whether you already have that release or an update is available. The install goes through these stages:
- Downloading — about 21.6 GB for the Sep 2026 release.
- Checking the archive — the download is verified before anything is replaced.
- Extracting — about 90.3 GB is written as a new file beside the old one.
- The new file is opened and checked; only then does it replace the old one, and the downloaded archive is deleted.
Your current data file keeps working until the new one is proven good. If anything fails along the way — a dropped connection, a full disk, a damaged archive — the old file is untouched and the app tells you what to do next.
11.2 Stopping and resuming
Press Cancel at any point. A part-finished download is kept: open the download window again — later today or next week, even after a restart — and press Resume. A finished download waiting to be extracted shows Extract and needs no further download. The only thing that discards a partial download is a newer release being published in the meantime.
11.3 Free disk space
The download and the new file are on disk at the same time, and when updating, your old file is too. Before it starts, the app checks the drive and shows exactly how much it needs and how short you are.
| Situation | Free space needed (Sep 2026 release) |
|---|---|
| First install | about 112 GB |
| Updating to a new release | about 112 GB, on top of the existing data file |
To use another drive, choose Settings → Set Data Folder... before downloading.
11.4 Updates
A new release is published about every three months. To check, open Settings → Data File... → Check for Update. Nothing downloads without you starting it.
11.5 The Data File window
Settings → Data File... shows the loaded file's release, publish date, domain and link counts, size, location, and the releases it contains. Open Folder opens Explorer at the file; Check for Update opens the download window.
11.6 Using a file you already have
Use Settings → Browse for Data File... to load a .db file from anywhere. If a file cannot be used (a v1 file, a damaged copy, not a TLA file at all), the app says why and keeps the file you already had loaded. At startup the app reopens the last file you used, or looks in your data folder, the app folder and its data folder.
v1 data files (the old ranks databases and edge shards) do not work in v2. Download the v2 data file instead; you can delete the old files.
12. License
A licence costs $30 for 12 months and unlocks Backlinks and Link Gap for that time, including every data release published during it. Buy one from the License window's Buy a licence button or at tomdahne.com. Keys are issued by hand, usually within a few hours, by email.
12.1 Activating
- Open Settings (gear icon) → License...
- Paste your key (
TLA-xxxx-xxxx-xxxx-xxxx) into the box. Stray spaces from copying are fine. - Click Activate. The app checks the key online once and binds it to this PC.
- The status shows Activated – valid until your end date, and Backlinks and Link Gap unlock.
12.2 Working offline
After activation the app works offline and reads the stored activation at startup. It contacts the server only when you open the License window (at most once every 5 minutes), when you press Check for renewal, and once a day after your end date has passed. It sends your key and this PC's fingerprint, nothing else.
12.3 Renewing
When you renew, the same key is extended — there is nothing new to enter. In the License window, Buy a licence takes you to the renewal page once a key is on file. After paying, open the License window or press Check for renewal and the new date appears. A renewal before the end date adds the 12 months on to it, so you lose no time.
12.4 When a licence ends
Backlinks and Link Gap lock. Lookup, Compare, Batch, your settings and the data file all carry on working. If the app cannot reach the server when your end date passes, everything keeps working for a 14-day grace period counted from the end date, in case the problem is the network. Once the server confirms the licence has ended, the paid tabs lock straight away.
12.5 One PC per key
Each key activates on one PC. The License window shows this PC's machine fingerprint (with a Copy button), derived from your Windows installation. If you move to a new PC or reinstall Windows, contact me or reply to your order email and I will reset the key so it can be activated again.
12.6 Messages you may see
| Message | What to do |
|---|---|
| License key not recognised | Check the key against your order email and try again. |
| Already activated on a different machine | Contact me for a reset (12.5). |
| Too many activation attempts | Wait a while and try again. |
| Could not connect to the activation server | Check your internet connection, firewall or VPN, then try again. |
| That licence expired on … | Renew; the same key keeps working. |
13. Settings
Click the gear icon. Settings cannot open while a Batch run or a Backlinks / Link Gap search is running.
| Section | What it does |
|---|---|
| CURRENT DATA FILE | Release, domains, links, path and size of the loaded file. |
| ACTIONS | Download Data File..., Data File... (details and Check for Update), Browse for Data File..., and Delete Data File (asks first; cannot be undone). |
| DATA FOLDER | Set Data Folder... chooses where downloads go and where the app looks at startup; Use Default returns to the data folder next to TLA.exe. Changing it does not move or load a file — download or browse afterwards. |
| RESULT LIMIT | The most rows one Backlinks or Link Gap search keeps. Leave it on automatic (about an eighth of your memory, up to 5,000,000 rows) or type a number; the note shows the memory it will use and warns when it is high. Use Automatic resets it. |
| AHREFS DR (OPTIONAL) | Your Ahrefs API key: Save, Clear, Get a key (section 10). |
| LICENSE | Licence status and the License... button (section 12). |
| DIAGNOSTICS | Debug Logging on/off and Open Log. Turn it on, repeat the problem, then send TLA-debug.log with your support request. |
14. Files & Privacy
| File or location | What it holds |
|---|---|
TLA.exe | The app. |
linkauthority.ini | Settings, window position, history and the Compare list (next to the exe). |
data\tla-full.db | The data file (or in your chosen data folder). |
batch_paste.txt | The Batch paste box text. |
TLA-debug.log | Only when Debug Logging is on. |
tla-data.zip, .part, .txt, .new | Temporary download files in the data folder; removed when an install completes. |
%APPDATA%\TomsLinkAuthority\ | Licence activation and Ahrefs key (both encrypted for your Windows account) and saved DR values. |
14.1 What goes online
Nothing about your searches ever leaves your PC. The app connects only for these, and only when you ask:
- Data file — the release list and the download, from tomdahne.com.
- Licence — your key and machine fingerprint, to tomdahne.com, as described in 12.2.
- Ahrefs DR — the domain name and your API key, to Ahrefs, when you fetch a DR value.
- Links you click (buy, renew, Get a key, tomdahne.com) open in your browser.
No telemetry, no tracking, no account.
15. Keyboard Shortcuts
| Keys | Action |
|---|---|
Ctrl+1 … Ctrl+5 | Lookup, Compare, Batch, Backlinks, Link Gap |
Enter | Run the lookup / Add / search in the box you are typing in |
Space | Tick or untick the selected row (Backlinks, Link Gap) |
Shift+F10 or the Menu key | Open the right-click menu for the selected row |
16. Troubleshooting
Windows SmartScreen blocks TLA.exe
The app is not code-signed, so Windows shows a warning for a new download. Click More info, then Run anyway. If you want to double-check the download first, upload TLA.zip to VirusTotal yourself — it is free.
"Not enough free disk space"
The message shows what is needed and how short you are. Free up that much, or choose a data folder on a bigger drive (Settings → Set Data Folder...) and try again.
The download stopped or the connection dropped
Progress is kept. Open the download window again and press Resume.
"Could not replace the old one" after a download
Another program — often antivirus, backup or cloud-sync software — is holding the data file open. Wait a minute and press Extract again. Nothing needs downloading again. Keeping the data folder out of a cloud-synced folder avoids this.
"Not the release that was advertised" or "does not match the published file list"
A new release is being published at that moment. Nothing has been changed; try again in a few minutes.
"This data file was built for Link Authority v1"
Old v1 files cannot be read by v2. Download the current data file.
"Backlink data requires a license key"
Your trial has ended or your licence has run out. Lookup, Compare and Batch still work. See section 12.
"A search for … is still running"
Only one search per tab runs at a time. Press Cancel, then start the new one.
A very popular domain shows "row limit reached"
The domain has more linking domains than your row limit. The strongest are kept. Raise the limit in Settings → Result Limit if your PC has the memory, or narrow what you need with Link Gap.
DR shows a dash, or "Ahrefs rejected the API key"
Add or re-check your Ahrefs key in Settings. Hover the dash to see the reason; click it to retry. A rate-limit message means Ahrefs wants you to wait before asking again.
Something else
Turn on Settings → Debug Logging, repeat the problem, and send TLA-debug.log (Settings → Open Log) with a short description.
17. Credits & Support
Common Crawl
Ranks and links are derived from Common Crawl's web graph, published freely by the non-profit Common Crawl.
Domain Rating by Ahrefs
DR values are Domain Rating by Ahrefs, fetched with your own API key. Not affiliated with Ahrefs.
Built with
C++ and the Win32 API, SQLite (public domain) and miniz (MIT licence). Full notices are in license.txt.
Support
Email ezimedia@hotmail.com or use the contact page. Built and supported by one developer, Tom Dahne.