Domain Acquisition Radar

How the radar works

You name your competitors. The radar works outward from their backlinks to find domains that have been abandoned by their owners but still rank and still get traffic — then scores them so the best ones sit at the top of your queue.

The short version

Start with competitors → sweep every domain linking to them → throw away what you could never buy → keep what's on topic → work out which of those have gone quiet → measure the traffic and rankings they still have → check whether the domain is actually gettable → score, rank, triage.

The stages run cheapest first on purpose. Roughly nine in ten candidates are discarded by free checks before anything paid is spent on them.

The pipeline

Nine stages, each one narrower than the last.

  1. 1

    You name the competitors

    Everything is discovered from this one list. Add or remove a competitor and the whole pool changes — nothing else in the pipeline needs a seed.

    Currently watching: buffer.com, later.com, hootsuite.com, sproutsocial.com, socialbee.com, publer.io, demandbird.com

  2. 2

    Sweep their backlinks

    For each competitor we pull every domain that links to it, along with the linking page's URL, its title, and the anchor text. Those three scraps are free relevance signal, and they're what the later stages read.

    A domain found under more than one competitor isn't duplicated — its competitor count goes up instead.

  3. 3

    Throw away what you can't buy

    Free, in-memory filters, no API cost. Out go the platforms and publishers (YouTube, Reddit, Forbes, your competitors themselves), subdomains and free hosts you can't own, spam TLDs, link farms and paid-guest-post signatures, and anything adult, gambling or pharma.

    Authority is a disqualifier here too: above 700/1000 domain rank, or a backlink spam score above 30, and it's gone. Every drop records why, so a filter can be re-run and audited.

  4. 4

    Keep what's on topic

    Anchor text and page titles are matched against a niche lexicon — "social media scheduler", "content calendar", "post scheduling" and so on. That's deliberately high-recall and low-precision, so it's only a first pass.

    Survivors are then read by Claude, which returns a verdict — relevant, adjacent or irrelevant — plus the site's actual topic, a one-line reason, and a confidence. That verdict is what the score trusts.

  5. 5

    Work out which have gone quiet

    A cascade of cheap probes, stopping at the first one that answers: sitemap lastmod, then RSS or Atom, then dates visible on the homepage, then the Wayback Machine — which still answers when the live site is down or blocking us.

    No publishing for 12 months means dormant. The same pass detects parked and "this domain is for sale" pages.

  6. 6

    Measure what survived

    Only now does anything paid happen, on a list that's already small. We pull domain rank, backlink count, estimated monthly organic traffic, the number of keywords the site ranks for, and whether traffic is growing, flat or declining.

    Traffic trend compares the last 3 months against a baseline 9 months back.

  7. 7

    Check it's actually gettable

    RDAP tells us whether the domain is registered, when it expires, and whether it's already dropping. An expiry inside 90 days, or a pending-delete status, changes the play entirely — you wait for the drop instead of emailing the owner.

    Wayback also vets the domain's past. A history of gambling, adult or pharma content would poison a 301 redirect into your site, so a flagged past is called out loudly and heavily demotes the score.

  8. 8

    Look at it

    Headless Chrome captures each homepage, so "real site vs. parked vs. dead" is one glance rather than nine tabs. A capture that fails is itself a signal.

    The same pass collects contact routes — emails, social profiles, contact forms — so outreach doesn't start with a hunt.

  9. 9

    Score, rank, triage

    Everything above collapses into one 0–100 composite score. The queue is sorted by it, and every candidate's detail page shows exactly which signals earned it.

    Nothing is auto-rejected at this stage. Weak candidates sink; they don't disappear.

How the score is calculated

One number, 0–100. Higher is a better acquisition target.

score = 100 × weighted mean of the quality signals × relevance × history

Each quality signal is normalised to a 0–1 value, multiplied by its weight, and averaged. Relevance and history are then applied as multipliers, not as signals in the average — being off topic or having a poisoned past should sink a candidate outright, not shave a few points off it.

The quality signals

Read the weights as relative importance, not percentages.

Signal Weight What it measures
Traffic
3.0
Monthly organic traffic. More is better with diminishing returns, so the first few hundred visits count for far more than the last few thousand.
Rankings
2.5
How many keywords the site ranks for. Traffic can be one lucky page; keyword breadth is what survives an owner change.
Sweet spot
2.0
All or nothing: dormant AND still meaningfully trafficked AND still ranking. That combination is the whole point, so it scores on its own.
Dormancy
2.0
How long the site has been quiet. Longer means a likelier seller. Damped when traffic is large and not declining — a stale sitemap isn't proof of abandonment.
Rank band
1.5
Authority in the band you can actually buy. Too weak is worthless; too strong isn't for sale.
Multi competitor
1.5
How many of your competitors link to it. Several competitors citing the same small site is a strong niche signal.
Acquirability
1.5
How easy the domain is to get, from RDAP. Available or dropping scores highest, then expiring soon; years left on the registration scores nothing.
Low spam
1.0
The inverse of the backlink spam score. Dirty link profiles cost you.
Traffic trend
0.5
Declining traffic hints at a disengaged owner. A weak preference — that traffic exists at all matters far more.
Parked
0.5
The homepage is a parking or for-sale page, which usually means the owner has already decided to sell.

Relevance multiplier

Topical fit is a precondition, not a bonus. A login-link directory is worth nothing to you however much traffic it has.

Relevant
× 1.0 (0.85 if low confidence)
Adjacent
× 0.7
Irrelevant
× 0.2
Not yet classified
× 0.6 – 1.0 by keyword strength

History multiplier

A toxic past carries into a 301 redirect, so a flagged domain is demoted hard — but not zeroed, because Wayback keyword hits still need a human to confirm them.

Clean, or not yet checked
× 1.0
Flagged toxic past
× 0.4

What happens when a signal is unknown

Missing data resolves to a deliberately middling-to-low value rather than zero: unknown traffic scores 0.2, unknown dormancy 0.25, an unknown spam score 0.5, an unknown trend 0.3, and a domain we haven't run RDAP against yet 0.1. The rule is score, don't gate — an unmeasured or misclassified candidate sinks far down the queue but stays in it, where you can still catch it.

The auction scores

Expired-domain auctions are a separate queue with separate maths. These domains are already for sale and on a clock, so the question isn't "will the owner sell?" — it's "is this a good buy?", and that splits in two.

Flip score

Can we resell this for more than it costs? Weighs traffic, keywords, authority and links against the current bid, plus the number of other bidders as a market signal.

Backlink score

Is this worth keeping and redirecting at your own site? Authority and topical fit are what survive a 301. Resale margin is irrelevant here, so the bid price doesn't appear at all.

Both are built the same way: each signal is normalised to 0–1, multiplied by its weight, averaged, and scaled to 0–100 — so the two numbers on a row are directly comparable. Neither uses multipliers, because unlike a candidate there's nothing about an auction listing that should zero it outright. A domain can score well on one and badly on the other; that's the point of showing both.

How the flip score is calculated

Six signals. Topical relevance is deliberately absent — for a flip it makes no difference whether the domain is about social media or lawnmowers, only whether someone will pay more than you did.

Signal Weight Floor → target What it measures
Traffic
0.3
100 → 2,000 Monthly organic traffic. The single thing a buyer on Flippa or Afternic is most obviously paying for, so it leads the table.
Keywords
0.2
25 → 500 How many keywords the domain ranks for. Traffic can be one lucky page; breadth is what survives the handover.
Rank
0.2
50 → 350 Domain rank on DataForSEO's 0–1000 scale. Authority a buyer can verify for themselves.
Backlinks
0.1
100 → 5,000 How many links point at the domain. Supporting evidence for the rank rather than a signal in its own right, so it's weighted lightly.
Margin
0.1
vs. bid ceiling Headroom between the current bid and a sane ceiling. No bids yet is the best case and scores 1.0; at the ceiling it's 0, because there's no flip in paying full price.
Bidder demand
0.1
0 → 30 bidders How many other people are bidding. The market's own verdict on the domain — weak on its own, useful as a tiebreak.

How the backlink score is calculated

Four signals. The bid price doesn't appear at all: you're not reselling, so what you pay affects whether it's worth bidding, not how good the asset is.

Why the floor matters

signal = log10(value / floor + 1) ÷ log10(target / floor + 1)

Every measured signal is log-scaled between a floor and a target: below the floor it's noise and scores near zero, at the target it saturates at 1. Without the floor a plain log curve would hand a domain with 40 visits a month half marks for traffic — the floors are the same "meaningful" thresholds the candidate pipeline uses.

Margin is the exception, being a straight ratio rather than a curve: 1 − bid ÷ $1,000, floored at zero. A listing with no bids yet scores a full 1.0.

A signal we haven't measured scores 0.2 rather than 0, on the same score, don't gate rule as the candidate queue. A measured zero really does score zero.

The relevance caveat

An expiring domain has no live site left to read, so there's nothing for Claude to classify. Topical fit is judged from the domain string alone, matched against the niche lexicon with punctuation stripped — so "content calendar" matches contentcalendar.com. That means an on-topic brandable like hexlo.com scores zero while socialscheduler.com maxes out. It's the weakest signal in the table for exactly that reason, and a zero should be read as unknown, not off topic.

What the terms mean

The handful of words in the queue that don't explain themselves.

Sweet spot
Dormant, and still pulling at least 100 visits a month, and still ranking for at least 25 keywords. Abandoned by its owner but not by Google — this is the thing you're hunting.
Dormant
Nothing published for 12 months or more. Dormancy scores higher the longer it runs, reaching full marks at 36 months.
Domain rank
Authority on a 0–1000 scale, not the 0–100 you may be used to. The buyable band is 150–450; above 700 a domain is filtered out as unbuyable.
Organic traffic
Estimated monthly visits from search — an estimate, not analytics. The traffic score saturates at 5,000 a month, and anything above 150,000 is dropped as too big to realistically acquire.
Traffic trend
Declining is shown in green here — falling traffic suggests an owner who has stopped caring, which makes for an easier conversation. Growing traffic scores lower for the same reason.
Topical verdict
Claude's read on what the site actually is: relevant, adjacent or irrelevant. "Unclassified" means the score is still resting on the weaker keyword match, so treat it with more suspicion.
Site type
A label for triage — blog, agency, SaaS, ecommerce. It tells you what you'd be buying and how to approach the owner. It never excludes anything: an agency with real rankings is still a real target.
Parked
The homepage is a placeholder or a "this domain is for sale" page. The owner has usually already decided to sell, so it's a small positive rather than a sign of a dead asset.

Working the queue

The scoring gets you a ranked list. The decisions are still yours.

Statuses

New
Untouched. Nobody has looked at it yet.
Shortlisted
Worth pursuing. Your working list.
In outreach
You've contacted the owner. Logging a date on a candidate moves it here automatically.
Backordered
You've placed a backorder (SnapNames or similar) and are waiting on the domain to drop. Every candidate page carries a Backorder on SnapNames link that opens the right domain page.
Acquired
Bought.
Not interested
The owner replied and declined. Their call, not yours.
Bad fit
Your call — the domain isn't worth pursuing after a closer look.
Passed
An explicit no, recorded so nobody re-reviews it.

Hiding vs. passing

Passing records a decision. Hiding doesn't — it just takes a domain out of the queue for now, and you can bring it back at any time from "Show hidden". Use hide for "not today", pass for "no".

Ready to look at the queue?

Candidates are ranked highest score first.

Sign in