Extracts the top level domain (TLD) from the URL given. List of TLD names is taken from Mozilla

Optionally raises exceptions on non-existing TLDs or silently fails (if fail_silently argument is set to True). Knows about active and inactive TLDs. If only active TLDs shall be matched against, active_only argument shall be set to True (default - False).


Latest stable version on PyPI:

$ pip install tld

Latest development version:

$ pip install -e hg+

Usage example

To get the top level domain name from the URL given:

from tld import get_tld
print get_tld("")
# ''

print get_tld("", fail_silently=True)
# None

If you wish, you could get the result as an object:

from tld import get_tld
res = get_tld("", as_object=True)
print res
# ''

print res.subdomain
# 'some.subdomain'

print res.domain
# 'google'

print res.suffix
# ''

print res.tld
# ''

To update/sync the tld names with the most recent version run the following from your terminal:

$ python tld/

or simply do:

from tld.utils import update_tld_names


MPL 1.1/GPL 2.0/LGPL 2.1


For any issues contact me at the e-mail given in the Author section.


Artur Barseghyan <>



Indices and tables