I have been using IPInfo for a couple of months now and I couldn’t be happier with the results. I integrated it into a couple of products, recommended to fellow developers, toyed around for different scenarios β always positive results. Right now, IPInfo is my goto option for anything related to domains and IP data. There are plenty of reasons why I love IPInfo and I’ll share a few of those today.
β‘οΈ One of the prime reasons is that they continuously update their database. You’ll always find accurate and up-to-date info while using their API. Also, they listen to their users and constantly push updates to their API while keeping it secure and fast! Recently, a new bulk lookupΒ feature introduced to the API considering a user request β fingers crossed!
Another thing which I have observed while using IPInfo in my projects is that it’s way more than just an IP lookup API. Although I have primarily used it for customizing the user experience to their geographical features, there’s no limit to what you can do with it. With dedicated APIs for developers, you can build an entire product relying on it. π€
Today, I decided to share my experience and talk in-depth about the developer APIs provided by IPinfo. Also, I will share my thoughts on the new features of the API. So, without further delay, let’s get started.
π₯ IPInfo.io
IPInfo provides extensiveΒ IP data which helps you identify user’s location, customize their experience, andΒ introduce amazing features. IPinfo wasΒ founded back in 2013 by a former Facebook engineer Ben Bowling. Over the past 6 years, it managed to grow substantially and nowΒ serves billions of API request each month.
It provides you data regarding the geographical location of the user, ISP, ASN, IP type, and even carrier. There are also some developer specific APIs which can be used in combination with the core API to achieve some great features. Also, It comes with a highly flexible pricing plan to entertain a spectrum of users.
Β π‘
Itβs backed by the solid Google Cloud infrastructure and scales automatically. Currently, it handles overΒ 12b+ API requestsΒ per month and serves overΒ 100,000+ business andΒ developers. It takes pride in helping big names likeΒ Apple,Β Microsoft,Β Payoneer,Β Exabytes,Β Dell, andΒ NPM. A few of many reasons to trustΒ IPInfo!
We also wrote an extensive review on IPInfo, make sure you check it out. It goes in detail covering the pricing plans, interaction with the API, documentation, and what not. It can be a good head start if you’re not familiar with IPInfo.
π― New Features
To evolve is vital for product growth and continued success. Successful products rely on continuous updates and new features to maintain and grow their user base. Same is the case with IPInfo, they don’t only keep their database updated but introduce new features, which is awesome! π―
In the past one and half month, they have launched two major features. First one is theΒ bulk lookupΒ and the second one isΒ theΒ summary emails. Below is the detail of these new features.
π Summary Emails
An exciting new feature introduced by IPInfo is the Summary Emails. As the name suggests, they send you emails containing a detailed summary of your API usage. These emails will automatically appear on a weekly basis until you turn them off.
π It provides you stats like the top countries and cities from which requests are being made. It also provides a division of requests based on the type of browser used. In short, they are kind of analytics for IPInfo. It was introduced in late February 2019 and more features are expected soon.
π€ You might be wondering, you already have Google Analytics, then what’s the use of it. But as a matter of fact, it differs from Google Analytics in many aspects. It provides analytics for your API requests, not all the traffic coming to your whole site.Β Just like Google Analytics helps you improve your site, it allows you to better optimize the API usage at your site.
There’s no additional cost associated with the summary emails. If you make even a single request, you are going to get the summary email. You canΒ change the frequency of emails from your account settings. You can set it toΒ weekly or monthly. In the case of weekly emails, you get an email every Monday, and in the case of monthly, you get email on the first of every month.
π Bulk Lookup
In my previous review of IPInfo, I talked about how you could perform a bulk lookup using UNIX command. But it had certain limitations:
- You had to store IP addresses inside a file in a certain format to perform a bulk lookup.
- You got to rely on command line tools to perform the lookup.
- It was not really a bulk lookup, it was more like hitting the normal endpoint for each of the IP address saved in a file.
Recently, IPInfo introduced Batch API to actually allow lookup of up to 100 IPs at a time. It got some perks over the previous way of doing a bulk lookup. A few of them which I like are listed below:
- π₯ Multiple Endpoints: Previously, you could only hit one API endpoint for all the IPs saved inside the file. But with the availability of
/batch
endpoint, you can specify an endpoint for each IP separately. - πΒ Better Performance:
/batch
endpoint is designed specifically to handle multiple lookups. You send multiple IP addresses in the form of an array in the request instead of hitting the endpoint again and again for each IP address. Which definitely results in a performance boost. - π Response Format:Β During the bulk lookup, you send the data in the form of an array and get a JSON object in the response. Which contains IP address as key and response as value. Having communication in these data structures allows you the leverage all the perks which come with them. It means you can easily mold and use the data in the way you want.
Below I have added a small snippet of doing a bulk lookup using curl to show what I meant by the above points. It’s looking up for two IP addresses but company
endpoint for the first one and asn
endpoint for the second one.
Note that a request to /batch
endpoint is not counted as a single request. Rather, a request cost to this endpoint is equal to the number of IP addresses included in the array. Or you can say, cost of bulk lookup and a standard lookup is technically the same.
The best part is, this feature was developed on the request of an IPInfo current customer, which really means a lot! Below is a quote from a recent blog post by Ben, giving context on this feature:
For a bit of backstory behind the development of this feature, one of IPinfoβs valued customers needed to run a lookup on 40 million domains. Without the availability of our batch API endpoint, processing this volume of requests took several hours. Now, thatβs been cut to just 10 minutes.
β Ben Dowling
π Developer APIs
Earlier in this article, I mentioned the fact that IPInfo is way more than just an IP lookup API. There’s no limit to what you can do using it. It provides you with some other great APIs which include ASN, IP Ranges, and Hosted Domains API.
They focus on some low-level details related to IP addresses. That’s a little advanced area of computer networking and you got to have some networking knowledge to fully utilize the data of these APIs. Having scrapped such info from scratch, I must say, IPInfo does a pretty great job at providing this data through an API.Β
π§ͺ ASN API
Autonomous System Number (ASN) API allows you to grab the data regarding an Autonomous System (AS) through the ASN. If you have noticed, when you hit the standard endpoint of IPInfo, it also returns an asn object
as part of the response. Using the number given against asn property
in that object, you can hit ASN API endpoint to grab all the details regarding that particular ASN.
To summarize this, you start with a single API address and using the data, you can get info of the AS under which that API is operating. Basically, you are moving from a lower to a higher level, grabbing all useful information. Pretty slick! π―
π© This could be useful in numerous ways, it really depends what you’re looking for. You can execute a meaningful research by simply hitting a few endpoints. Maybe generate a report of your users based classified by ASN. You can even filter the traffic using this information and what not.
Below is the endpoint you can use to get the ASN data. You can grab the ASN_NUMBER from the result of standard IPInfo endpoint.
The response from the ASN looks like below. It contains the info like country, domain, registry, and the routing prefixes both IPv4 and IPv6 with the range in Classless Inter-Domain Routing (CIDR) format. I have attached only a small snippet of the whole response which consisted of more than 14k lines.
π IP Ranges API
Another interesting API provided by IPInfo is the IP Ranges API. As the name suggests, it provides you a list of APIs that are managed by a particular company. It returns the total domains in the range and an array of IP addresses in Classless Inter-Domain Routing (CIDR) format. You have to provide the domain name in order to get the IP ranges.
If you have noticed the results from the ASN API or the standard API, both contain the domain name for the Autonomous System. Using that you can ping the IP Ranges API at the following endpoint. Note that IP Ranges API is currently available with the enterprise plan only.
For example, if you look at the response from the ASN API (listed above), we have "domain" : "comcast.net"
. Using that domain name, we have the following result from the IP Ranges API.
π Hosted Domains API
IPInfo also provides an API called Hosted Domains API or Reverse IP API which allows you to get the information of the domains that are hosted on an IP address. Now, you can do that in three ways using this API. You can use an ASN, domain name, or an IP Range to lookup for the hosted domains. Below is the endpoint that you can use to call this API.
πΒ When you lookup for the hosted domains, it provides you a list of the top 25 domains as ranked by Alexa. Also, it provides you the count of total domains. Now again, if you have a basic know-how of networking and web-hosting you might be interested in this information.
It’s really subjective that how valuable this information is. It totally depends on what you are trying to achieve. However, multiple domains on a single IP suggests the fact that they’re utilizing a shared web hosting server instead of a dedicated one. Interesting, isn’t it? π€
Like IP Ranges API, this is also included in the Enterprise plan only. Again, I used the
"domain" : "comcast.net"
to call this API, and below is the response received.
π Wrap Up
IPInfo is a comprehensive, reliable, and super fast IP Data API. It rocks a great support team, incredible documentation, and a flexible pricing model. I have written in detail about these features of IPInfo before. You should definitely check it out if you haven’t already.
The standard IPInfo API coupled with the Batch, ASN, IP Ranges, and Hosted Domains API, provides a complete suite for all your IP data needs. I have used it in many projects and will definitely use it in many more. Will definitely recommend it for all IP Data related businesses. π―
What do you use for your IP data related needs? Do you use IPInfo or rely on some other tools? Also, what’s your take on IPInfo? Let me know your thoughts in the comments below.
Peace! βοΈ
π
SUBSCRIBE TO DEVELOPERS TAKEAWAY!
A Premium Development Newsletter by TheDevCouple! What is TheDevTakeaway?