Skip to content
Check domain name availability from the command line.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


An easy-to-use command line utility for checking domain name availability using [Domainr's JSON API]( V2 API).

Example of dom in action

Setup requires two things:

  1. Installing dom
  2. Obtaining an API key


The simplest method is to install the package through pip by running:

pip install dom

Alternatively, you can install from source:

  1. Clone the repo:

    $ git clone
    $ cd dom

  2. Run the following command to install: python install

Get an API key for Domainr

Due to abuse of their API, Domainr now requires an API key for each user. This key can be obtained through one of the following ways:

  1. Get a Mashape Domainr API key from the Mashape Market Note: While it is free up to 10,000 calls/mo., you are required to submit a valid credit card to cover any requests over the free limit.
    • You can use something like to create a credit temporary card. I've been told that some banks offer a similar feature as well.
  2. Contact Domainr at to get a personal use client ID, as detailed here

Once you have obtained one of the two types of keys, insert either the Mashape API key or the Client ID into your local environment:

$ export DOMAINR_MASHAPE_KEY={your-mashape-key}


$ export DOMAINR_CLIENT_ID={your-client-id}

You can do this manually everytime before running dom, or you can search for how to do this on login. Digital Ocean has an excellent guide here: How To Read and Set Environmental and Shell Variables on a Linux VPS.

Note that in the event that both keys are present, dom will default to using the Mashape Key.

Optional Flags

The optional --ascii flag can be used to look up domain availability without the use of the Unicode characters.

dom --ascii zachwill


The --available flag only shows domain names that are currently available:

dom --available zachwill


The --no-suggest flag only check the exact domain names that are in query:

dom --no-suggest


And, the --tld flag only shows top-level domains:

dom --tld zachwill



You won't need to worry about this, but since the Python upload command is so obtuse, I'm going to keep it here:

python sdist bdist_egg upload
You can’t perform that action at this time.