Subscribe to a Premium Development Newsletter by TheDevCouple! What is TheDevTakeaway?

Have you ever come across a problem where you would need to get complete information about any domain? If yes, then you are in the right place. Today, I am going to discuss a service which has made getting any domain information a piece of cake. I am going to show you how you can use it and also share my two cents with you. So without any further ado, let’s dive in. 🙌🏻

Thedevcouple Cover Image

🌐 Host.io

Host.io, a child company of IPInfo, is founded by a former Facebook engineer – Ben Dowling. He is also the force behind IPInfo which is a highly reliable, lightning-fast API service. We have written two extensive reviews on IPInfo which you can find here.

Host.io collects data on every known domain name, from every TLD, and updates the data every month. The data includes Domain Name Service (DNS) records & website data for each of the domains. 💯

It provides two types of services. One involves browsing through the website and getting the result & the other is the blazing fast API. I am going to talk about both of these services in detail. 

🔍 Integrated Website Search

Host.io lets you see backlinks, redirects, server details, IP addresses, and hosting provider details of any domain using their website. I am going to list the steps below which you have to perform to get this data.

→ Step #1

The very first step is to open the Host.io website. There you will see a search box.

Thedevcouple-host.io-search

→ Step #2

You must have a domain you want to look up. In my case, I am going to search for TheDevCouple.com. Once you will hit enter, you will be directed to a different web page that will have all the information about the domain. 👨🏻‍💻

Thedevcouple Domain Data1

If you have followed these steps, you would now have the following data on your screen.

  • 🌎 Web: This is where you can see the top-level information about your domain. It contains your domain’s icon, URL, IP Address, ASN, Country, title, and a lot of other useful stuff. You can also see if a website is copyrighted or not right from here.
  • 🌐DNS: You can view all of your website’s DNS records from here. These records are not limited to A, CNAME. They also include MX & TXT records.
  • 💻 Co-Hosted: This is the area where you can see how many domains are co-hosted on your website’s IP. For me, there are 745 other domains hosted on IP 104.31.84.160.
  • 🔗 Backlinks: The next thing which you will see are all the Backlinks of your domain. They are the links that include a link to your domain on their homepage. You can see all the places where your website has been listed right from here.
  • ♺ Redirects: Last but not the least, you will have a redirect area.  This area lists all of the domains that are redirecting to your website. 

There is one downside of using the website for getting all this information, i.e., you will not see all of the data. For instance, there were 745 other domains hosted on IP 104.31.84.160 but I could only see 48 of them.

🔥 Comprehensive Domain Data API

Other than the integrated website domain search, the main feature which places host.io above its competitors is its blazing fast API. This API can get a list of outbound links, backlinks, and other hosting details of any given domain within seconds. Since the API’s data is backed by Google Cloud, it can easily scale up to your needs. Hence making it extremely fast & reliable.

I am now going to demonstrate the usage of Host.io API using JavaScript. Just follow the steps below and you will be good to go. 💯

→ Step #1

First of all, you need to create an account on Host.io. You can also sign in using your GitHub or Google account. Once you are done, you will be directed to a dashboard. 

Other than the welcome message, you will see your Host.io authentication token. This might be the most important thing on your dashboard. Just copy this token for now. 🙌🏻

 

Thedevcouple Token

→ Step #2

The next step is to write a simple program to make the API call to Host.io. Below is the simple program you can use to make the call. After writing the following piece of code run the program in your terminal by writing node yourfilename.js. I have also included the response you will get in the gist below. Make sure you have added your token!

// importing axios to make HTTP requests

const axios = require('axios');

// function to get data from the Host.io API

const testing = () => {
    const response = axios
        .get('https://host.io/api/full/thedevcouple.com?token=$TOKEN')
        .then(({ data }) => console.log(data))
        .catch((err) => console.log(err));
};

// calling the function

testing();

// response

{ domain: 'thedevcouple.com',
  web:
   { domain: 'thedevcouple.com',
     url: 'https://thedevcouple.com/',
     ip: '104.31.84.160',
     date: '2020-04-25T21:34:59.749Z',
     length: 194638,
     server: 'cloudflare',
     encoding: 'utf8',
     copyright: 'Copyright ©',
     googleanalytics: 'UA-77386340',
     title: 'TheDevCouple — Ahmad Awais & Maedah Batool 🙌',
     description:
      'Learn development from a tech couple. The perspective of a Full Stack Developer & Open Sourcerer (Ahmad Awais) & a Dev Content Strategist (Maedah Batool). Both contribute to Node.js, WordPress Core, JavaScript, Open Source and several other things.',
     email: '[email protected]',
     links:
      [ 'wptakeaway.club',
        'ahmda.ws',
        'twitter.com',
        'github.com',
        'ahmadawais.com',
        'maedahbatool.com',
        'vscode.pro' ] },
  dns:
   { domain: 'thedevcouple.com',
     a: [ '104.31.84.160', '104.31.85.160' ],
     aaaa: [ '2606:4700:3033::681f:55a0', '2606:4700:3037::681f:54a0' ],
     ns: [ 'alexis.ns.cloudflare.com.', 'rosa.ns.cloudflare.com.' ] },
  ipinfo:
   { '104.31.84.160':
      { city: 'San Francisco',
        region: 'California',
        country: 'US',
        loc: '37.7621,-122.3971',
        postal: '94107',
        timezone: 'America/Los_Angeles',
        asn: [Object] },
     '104.31.85.160':
      { city: 'San Francisco',
        region: 'California',
        country: 'US',
        loc: '37.7621,-122.3971',
        postal: '94107',
        timezone: 'America/Los_Angeles',
        asn: [Object] },
     '2606:4700:3033::681f:55a0':
      { city: 'San Francisco',
        region: 'California',
        country: 'US',
        loc: '37.7621,-122.3971',
        postal: '94107',
        timezone: 'America/Los_Angeles',
        asn: [Object] },
     '2606:4700:3037::681f:54a0':
      { city: 'San Francisco',
        region: 'California',
        country: 'US',
        loc: '37.7621,-122.3971',
        postal: '94107',
        timezone: 'America/Los_Angeles',
        asn: [Object] } },
  related:
   { ip: [ 
       { value: '104.31.84.160', count: 745 },
       { value: '104.31.85.160', count: 730 },
       { value: '2606:4700:3033::681f:55a0', count: 0 },
       { value: '2606:4700:3037::681f:54a0', count: 0 } 
     ],
     asn: [ 
        { value: 'AS13335', count: 31771172 }
     ],
     ns: [ 
        { value: 'cloudflare.com', count: 19192587 } 
     ],
     googleanalytics: [ [Object] ],
     email: [ 
        { value: 'UA-77386340', count: 1 } 
     ],
     backlinks: [ 
        { value: 'thedevcouple.com', count: 2 } 
     ],
     redirects: [ 
        { value: 'thedevcouple.com', count: 1 } 
     ]
   }

That’s all! Once you are done, you will see a response from the API. 

⚡️ API Features

Using the Host.io API, you can quickly get all the information regarding a domain within seconds. Most of the response we received was the same when we used Host.io integrated website search. Though there was still some new information we got from the API.

So now let’s discuss this new information that came to light when I made the API call. There are two new objects. One is IPInfo and the other one is related. You can see them in the gist above.

  • 📍 IPInfo: This particular object gets the data from the IPInfo API service. The object keys are IP addresses & its values are the information about the IP. Every IP address in this object contains IP’s geolocation information. This information is not limited to only the city, region, and country of the IP. It also contains its geographic coordinates, time zone, postal code, and ASN.
  • 🎩 Related: After the IPInfo object, you will have a related object. This object contains the IP addresses of your domain. They are the addresses that are used as keys in the IPInfo object. Here you can see information like ASN, NS, Google Analytics of your domain, email, backlinks & finally redirects. 

Since you are making an API call to get all this information, you can then use that anywhere in your application. Simple!

🔗 API Endpoints

Host.io provides you different API endpoints according to your need. I like this particular feature since it saves me a lot of time. I don’t have to scrape through unnecessary data. I can use different endpoints to get what I need.

You can see all of these endpoints here. I am going to discuss each of them now. 🙌🏻

🌎 Web 

If you are only interested in getting the metadata of your domain then this endpoint is for you. It provides you all of the metadata scrapped from the domain’s homepage. The root endpoint stays the same. 

curl "https://host.io/api/web/riza.it?token=$TOKEN"

Once you will hit this endpoint, you will get a JSON based response. I have added a sample response below. You can see how it only contains the domain’s web data.

{
    "domain": "riza.it",

    # Position in host.io 10M domains ranking, https://host.io/rankings
    "rank": 335896,
    
    # URL we scraped the data from
    "url": "https://www.riza.it/",
    
    # Actual IP we scraped the data from
    "ip": "18.194.122.79",
    
    # Date we scraped the data
    "date": "2019-12-25T21:04:38.794Z",
    
    # Length of the HTML content we scraped
    "length": 144173,
    
    # Server header
    "server": "nginx/1.10.3 (Ubuntu)",
    
    # X-Powered-By header
    "powered_by": "e-one",
    
    # Encoding of the scraped data
    "encoding": "utf8",
    
    # Scraped copyright notice
    "copyright": "© 2019 Edizioni Riza S.p.a.",
    
    # Google AdSense publisher ID
    "adsense": "pub-9532382665277637",
    
    # Google analytics tracking ID
    "googleanalytics": "UA-2336519",
    
    # HTML title
    "title": "Riza - La via del benessere",
    
    # HTML meta description
    "description": "Benessere naturale, alimentazione, psicologia e medicina naturale. Riza aiuta a interpretare in chiave moderna la qualità della vita e del benessere",
    
    # Scraped email
    "email": "[email protected]",

    # Domains of links on the homepage
    "links": [
      "youtube.com",
      "iubenda.com",
      "facebook.com",
      "twitter.com"
    ]
}

🌐 DNS

The next endpoint we have is the DNS endpoint. It provides information like A, AAAA, MX, NS records of your domain. 

curl "https://host.io/api/dns/facebook.com?token=$TOKEN"

You will receive a response like this when you hit this endpoint.

{
"domain": "facebook.com",
"a": [
"157.240.3.35"
],
"aaaa": [
"2a03:2880:f101:83:face:b00c:0:25de"
],
"mx": [
"10 smtpin.vvv.facebook.com."
],
"ns": [
"a.ns.facebook.com.",
"b.ns.facebook.com."
]
}

🎩 Related

You can use this endpoint to get only the related object we discussed above. This related object contains information like your domain’s IP addresses, redirects, backlinks, and ASN. You can hit this endpoint using the following line of code.

curl "https://host.io/api/related/google.com?token=$TOKEN"

The response you will get will look something like this.

{
"ip": [
{
"value": "172.217.14.238",
"count": 293
},
{
"value": "216.58.193.68",
"count": 71
}
],
"redirects": [
{
"value": "google.com",
"count": 629989
}
],
"backlinks": [
{
"value": "google.com",
"count": 17314912
}
],
"asn": [
{
"value": "AS15169",
"count": 16219992
}
]
}

💡 Full

I used this API endpoint above when we discussed the steps of using Host.io API. Using this, you can get all the information about your domain in one request. This information includes the domain’s web data, IPInfo, DNS, and related information.

curl "https://host.io/api/full/google.com?token=$TOKEN"

I have already added the response you will get in the gist above. Scroll up to the Step #2 of using Host.io API.

🔥 Performance

When using an API, in the end, it all comes down to the speed. Host.io prides themselves in their lightning-fast API. So, it would be only fair if I show you how fast this API actually is, and then you can decide for yourself. 

I am using Postman for testing purposes. I have run several tests using different domains and the following are stats I received. All the values are an average taken after multiple attempts.

💡

  • ⚡️330 ms on average response time.
  • 🚀 Tested for several domains. Response time never went above 360 ms.

These results are pretty impressive for an API that just saw the light of the day a year ago. Thus proving that Host.io API lives up to its claim.

Thedevcouple Performance

💰 Pricing

Host.io is different from other services when it comes to pricing. When you sign up, they get you started with 1000 API credits. These credits are free. 

Host.io does not offer plans to its customers. Their pricing entirely relies upon the needs of their consumers. For instance, once you have used the initial 1000 credits, you can then buy more credits. 

For $10, you can get 1000 API credits. One more thing I would like to mention is that you can only buy credits in multiples of 10. You can’t get 1300 API credits for $13. Although, you can get 2000 credits for $20.

Thedevcouple Api Credits

📖 Documentation

This is the area Host.io should improve. Compared to IPInfo, Host.io documentation is not what I expected. Since detailed documentation is essential for a product to succeed, Host.io should work in this area. 

Their documentation lacks explanation. They should add more details about the response we get once we hit their API. This will also help the users to not go to other websites to get information about the response Host.io API is providing them. Hence also improving the Host.io website’s traffic.

Thedevcouple Documentation

⚠️ User Interface Inconsistencies

I found some user interface inconsistencies when I was testing Host.io. When you log in and go to the dashboard, you will see that the navigation bar is covering the body’s area. This should not happen. Host.io should fix it right away to improve their user experience since it is quite distracting.

Thedevcouple Ui Error

🙌 Wrapping Up

From my experience, I can say Host.io is one of the best domain services I have tested so far. If you are building an application that relies on information about different domains then you should definitely give it a shot. It provides a blazing fast API which is backed by Google Cloud.

The only two things which bugged me were the lack of documentation and irregularities in the user interface. Once they are fixed, it will make the product complete. 💯

Have you used Host.io or any similar service to drill user’s information? Which service did you use and how was your experience? Let us know your thoughts in the comments section below. 

Peace! 🤞

🙌

SUBSCRIBE TO DEVELOPERS TAKEAWAY!

A Premium Development Newsletter by TheDevCouple! What is TheDevTakeaway?

There are currently no comments.

🙌 You must have something to say here...