Godaddy domain name API in Python

Introduction

Buying and selling domain names is fun and can be rewarding at the same time, specially if we manage to generate a unique domain name that could sell for a fortune. Getting rich overnight is not our topic today, however we are going to discuss how can we automate checking domain name availability using Python and Godaddy REST API. Given a new domain name, we need first to check if it is available for purchase. Next, we may need to get it appraised to get an idea about how much it is worth. To manually look up a domain name just go to godaddy.com and search for that domain name. You can also use ton of other similar websites. For domain name appraisal, Godaddy released a machine learning based domain name appraisal tool that we can leverage for our advantage.

Using keywords to generate domain names is tedious specially when checking for availability. The question is there a better way to automate this process ? The short answer is yes but first let us mention that there are a couple of web based tools that can help in suggesting cool names. I would recommend instant domain search. Such tools are helpful and some are interactive which is handy, however the automation piece is missing. Our goal is to be able to generate as many domain names as possible, automatically check their availability and appraisal if available. If we manage to do that – as we will demonstrate later – we can generate unthinkable domain names.

Let us see how…

Godaddy developer API

In order to automate checking domain name availability, we are going to utilize Godaddy open REST APIs. To do so, we need to register as a developer and get an API key and secret.

  • Go to Godaddy developer site
  • Follow the instructions to create an account
  • Follow the UI instructions to create API key and secret
  • Write the information down because we are going to use it later

For details about the available APIs you can refer to the documentation here. In this post, we are only interested in checking domain name availability and appraisal which is explained below…

Bulk domain name availability check

The script that we want to implement is supposed to search for as many domain names as possible. For that reason, it is efficient to to use bulk search instead of checking domain names one by one. Below, you can find the signature of the bulk search API end point…

A POST request on this end point requires a JSON payload along with headers. The JSON payload is a list of domain names and the headers should contain the developer API key and secret.

Godaddy appraisal API

A domain name can be appraised using the following end point…

Where name is the domain name we wish to appraise.

That it all we need, let us proceed…

Godaddy domain name API Python example

Now it is time to implement what we have discussed earlier. Follow the code snippet below. Code is explained in details using comments

Domain name generation

Let us give the script a try. We are going to use the following input files…

  • Prefix words: a prefix is recommended to be a catchy word such as best, free, easy, etc…

  • Main keywords: the keyword mainly describes what the domain name is all about…

  • Suffix words: suffix words complete the meaning for example bestautoservice.com

  • Domain extensions: remember that the .com domain is the most popular domain extension and the one that you need to snatch before anyone else.

Now run the script by typing…

Note that if you encounter errors then it is probably because the requests module is not installed. If that is the case then you need to install it as follows…

Here is the output…

Available domain names

This is the list of available domains and corresponding price

Domain appraisal

This is the domain name, its price and appraised value

Similar domain names sold

This is a list of similar domain names that were sold, along with price and sale year

Thanks for visiting. If you have questions, please use the comments section below.

12 Comments

Add a Comment

Your email address will not be published. Required fields are marked *