by Markus Malkusch
Posted on Monday Mar 14, 2016 at 12:24PM in Technology
There is this hobby project which I must have done at least 12 years ago, as that's the date of the oldest news entry. This project was about a convenient web interface to do bulk domain checks. I found it quit useful that you can enter example and it would return a result for all top level domains, e.g. example.net, example.com, example.org. Well, back in that times all top level domains was not the same as today. Today we can almost count 1000 top level domains. Also it's quit remarkable that I did this in vanilla PHP with non blocking IO. Just I didn't call that thing event loop or reactive programming as the cool kids do today.
But time passes and the project lost my attention, until I check the web access statistics. Holy shit, it got thousends of hits per day. It seems like people started to abuse my script to use my server as a proxy for automated whois queries. I stopped that madness by giving them a Captcha and a 429 response code. It took a while but now the traffic seems to be human again.
So obviously there's a demand on doing automated domain checks. During the years a side project emerged out of this old project: A comprehensive whois server list. I aggregate data from several sources and check the quality of that data to compile a very accurate whois server list. With this list I want to give it a try and build a Whois API which people can use automated to query Whois servers and check for the availability of a domain name. You can get a free API key which gives you 11000 free requests each month. These are the endpoints:
||Checks if a domain is available or already registered. The result includes also the whois server response.|
||Queries an arbitrary whois server|
This Whois API uses my compiled whois server list, which tries to support all available top level domains (more than 500). Also it avoids rate limits from the respective whois server. Response times are quit long (more than 1s in average). I therefore recommend to consume the API concurrently. You can also use one of the implemented clients: Java Whois API, PHP Whois API, Wordpress Domain Check Plugin.