Last modified: Jan 10, 2023 By Alexander Williams
Python: check if domain's name is available
With the whois library, you can check if the domain's name is available.
whois Installation
pip install python-whois
How to use whois
Syntax:
whois.whois(domain)
If the domain is not available or registered, whois() returns domain info.
If the domain is available, return an error.
Example with a registered domain:
import whois
domain = 'pytutorial.com'
get_info = whois.whois(domain)
print(get_info)
Output:
{
"domain_name": [
"PYTUTORIAL.COM",
"pytutorial.com"
],
"registrar": "NAMECHEAP INC",
"whois_server": "whois.namecheap.com",
"referral_url": null,
"updated_date": [
"2020-12-23 14:56:23",
"2020-11-25 04:11:43.170000"
],
"creation_date": "2019-12-09 21:13:10",
"expiration_date": "2021-12-09 21:13:10",
"name_servers": [
"CHINCHILLA.EZOICNS.COM",
"CUTTLEFISH.EZOICNS.COM",
"ORANG-UTAN.EZOICNS.COM",
"TROPICBIRD.EZOICNS.COM",
"chinchilla.ezoicns.com",
"cuttlefish.ezoicns.com",
"orang-utan.ezoicns.com",
"tropicbird.ezoicns.com"
],
"status": "clientTransferProhibited https://icann.org/epp#clientTransferProhibited",
"emails": [
"[email protected]",
"[email protected]"
],
"dnssec": "unsigned",
"name": "Withheld for Privacy Purposes",
"org": "Privacy service provided by Withheld for Privacy ehf",
"address": "Kalkofnsvegur 2",
"city": "Reykjavik",
"state": "Capital Region",
"zipcode": "101",
"country": "IS"
}
Example with an available domain:
import whois
domain = 'pytutorialnoexist.com'
get_info = whois.whois(domain)
print(get_info)
Output:
Traceback (most recent call last):
File "test.py", line 4, in <module>
domain_info = whois.whois(domain)
File "/home/py/.local/lib/python3.8/site-packages/whois/__init__.py", line 44, in whois
Check if a domain is available
As I said, the whois function returns an error when the domain is available.
So to handle this error, we need to use the try-except statement.
Example:
import whois
domain = 'pytutorialnoexist.com'
try:
get_info = whois.whois(domain)
print(f"{domain} is Registered")
except:
print(f"{domain} is Available")
Output:
pytutorialnoexist.com is Available
Write our checker function
After understanding how the whois library works, let's now write our domain-checker function.
Code:
import whois
def is_domain_available(domain):
try:
get_info = whois.whois(domain)
return False
except:
return True
Try it:
print(is_domain_available('pytutorialnoexist.com'))
Output:
True
print(is_domain_available('pytutorial.com'))
Output:
False