I’m a bit of a domain hoarder. I own around 40 of them, and I’ll own that too.
So when I needed names for a new business and a few projects, I did what any reasonable hoarder does. I went looking for more. A lot of ideas, thrown at a lot of endings, to see what stuck.
Naming is mostly a loop. Think of a word, check it, find out it’s taken, repeat. It’s the only loop I know with a guaranteed exit condition, and the condition is giving up. One afternoon I decided I was done being the loop and wrote DotSeek to be the loop instead.
Give it a word and it checks that word against every ending Namecheap sells in normal search. As of July 2026 that’s 577 of them, which is roughly 570 more than anyone needs and exactly the number a hoarder wants.
$ dotseek myapp -l "<=3"
--- Results (134 matching criteria) ---
2-character TLDs (9)
myapp.ac myapp.ad myapp.bz myapp.cx myapp.id
myapp.la myapp.so myapp.to myapp.ws
--------------------------------------------------
3-character TLDs (25)
myapp.bar myapp.cab myapp.car myapp.fan myapp.gdn
...
Registered isn’t the same as buyable
Most domain checkers ask public registration records whether a name is taken. That tells you if someone registered it. It doesn’t tell you if you can actually buy it or what it’ll cost you.
Registries hold some names back and sell others as premium, which is a word that here means the same name for more money. DotSeek skips the guessing and asks Namecheap, the place I’d actually be buying from. When it says available, it means available to me, with the price sitting right next to it.
$12.98/yr (renew $15.98)
That second number is the one registrars would prefer you notice next year.
The part I’m proudest of
The flags. A search across 577 endings is mostly noise. Somewhere in there is the name you want, surrounded by a few hundred you’d never say out loud. Every option exists to cut that down.
# narrow it down
dotseek myapp -l "<=3" # short endings only
dotseek myapp -k "tech,business" # endings that fit the idea
dotseek myapp -ek "adult,gambling" # endings that fit a different idea
# see more
dotseek myapp -a # also show what you can't have
dotseek myapp -p # include premium, for the optimists
dotseek -w example.com # find out who got there first
# keep it
dotseek myapp -o shortlist.csv
dotseek myapp --json | jq .
# don't waste calls
dotseek myapp --dry-run # all of the planning, none of the consequences
dotseek myapp --offline # yesterday's answers, today
The details nobody notices
A few things happen without asking. Results are cached for a day, which is about as long as most naming ideas survive anyway. Ctrl+C keeps every batch that already finished, so quitting halfway is a feature rather than a character flaw. Anything over 200 checks asks first, because “are you sure?” is cheaper than finding the rate limit. And dotseek doctor tells you what’s wrong with your setup before a real run does, with a noticeably better bedside manner.
Then there are the parts you only notice when they’re missing. Results go to stdout and progress goes to stderr, so piping to a file gets you results and not a spinner. Colors turn themselves off when nobody is watching. Exit codes are stable, so a script can tell a clean run from a partial one from an API that fell over. To the person at the keyboard, all three feel about the same.
Namecheap’s API also takes your key in the URL, which is certainly a choice. Any network error that prints the request prints your key right along with it. DotSeek scrubs it before it reaches your terminal or the screenshot you were about to post asking for help.
Did it actually work?
Yes. Annoyingly well.
It found the name for the business. It found samson.zone, which means the page you’re reading has an address that came out of a terminal. It found names for a handful of hobby projects and a few short domains whose only job is doing boring work behind the scenes.
Along the way it ruled out more than thirty ideas fast, with real answers instead of guesses. That’s most of naming anything. The rest is staring at a shortlist until one of them stops sounding ridiculous.
The trouble with a tool that finds good domains is that it finds good domains.
DotSeek is on GitHub. Bring your own Namecheap API key. Domains sold separately.