How are you bulk checking now? I've been in the industry a long time and it's always been a pain in the ass to do anything in bulk. I've had lists so big registrars didn't want to run them for me :( Using APIs really isn't an option when you have a million names and 1 per second limit. Automating a bulk checker, most of them disable/play with it after a certain number of times (so even at let's say 500, i might be able to get 20 tries in there before they mess with it).
The best solution I've found is checking against the zone file, but I am curious what you're doing.
Based on a few tests, I think he's just doing DNS queries and assuming any NXDOMAIN response means a domain is unregistered, which is not always the case. Sure, users figure out the domain isn't available once they try to register it, but by then you've already dashed their hopes.
It's fine to use DNS queries as part of the checking process, but if you get a NXDOMAIN, you need to follow that up with some kind of check against a WHOIS server or root zone file (which is slower and harder to work with).
I'm guessing zone files. If you load zone files into something quick to search like an indexed DB table, memcache, etc they are super fast. They are also inaccurate and give you false positives since a domain can be out of the zone for a multitude of reasons.
You can do the initial search in the zone file and then if it doesn't appear there you hit the Verisign registry whois (for .com and .net). The amount of times the domain doesn't appear in the zone file is nominal.
Good answer, don't give away your secret sauce.
Having said that, your magic isn't working too well. I searched for http://www.leandomainsearch.com/search?q=apps
and literally EVERY SINGLE GREEN hit isn't really available after double-checking it. Seems like you'd need a 2nd secret sauce to further distill whatever the 1st run returned.
Hey -- there was a production bug that caused every result to come back as registered when you clicked "Double check availability". I fixed this a few minutes ago. Sorry about that.
The best solution I've found is checking against the zone file, but I am curious what you're doing.