Integrations and maintenance were major issues when it came to users using the IP database. Usage of our IP database in software and platforms where data download facilities, maintainability (updating the database at regular intervals), and using an MMDB reader library were issues that were stopping us from universal adoption. For example, search/SIEM/threat intel platforms, distributed systems, firewall applications etc.
So, we just decided to launch an API to complement our data downloads. It is easier to use, and the unlimited requests make it a strong candidate.
We are rebuilding our backend in Rust and also developing a bulk enrichment API endpoint. The intention of the API system is to replicate the performance and features you get from a local database, with ease of use and minimal friction. Of course, the API is competing against the local database and will never be perfect, but I have to admit that using the IP database, particularly the binary database, and maintaining it is not as easy as using an API service.
https://ipinfo.io/blog/how-many-ips-change-geolocation-over-...
Many providers are orders of magnitude cheaper. I run one of them - https://iplocate.io - but there are plenty of other high quality and affordable services.
(However, the vast majority of IPs can't be geolocated in this way, and there are caveats to those that can be.)
In any case, the difficulty with all providers in this space is how you prove accuracy at scale. If we assume some provider has some proprietary technique that nets 100% accuracy, that's great, but what do you compare it to? There is no ground truth data source - we are supposed to be that.
Marketing plays a big role, and admittedly, these guys have much better marketing on this point :)
Your service, like many others, accepts as valid most intentionally fake geolocation data provided by networks. I am sure you know this anyway, so no need to mislead saying "we do the same".
Here's an example: https://ipinfo.io/172.224.238.32
This IP is actually in Ontario, which you can easily verify with a ping measurement. But it is announced as being in Calgary by Apple's iCloud Relay geofeed (https://mask-api.icloud.com/egress-ip-ranges.csv).
Why? Because the intent of iCloud Relay is to obscure a user's IP address while still providing a roughly accurate location, specifically so that geolocation-based services still work as expected. For that to work, they need to provide 'fake data' in this geofeed so that they have pools of addresses covering thousands of cities around the world, AND they need geolocation providers to accept this.
ipinfo accepts this, even though it's wrong. So do we. After all, geofeeds were supposed to provide a public geolocation database, the idea being that the network operator should be trusted to have the best information. We could provide the 'real' location, but if 9 providers say an IP address is in X and 1 provider says it's in Y, and Y is correct, you may just be frustrating end users of the network.
But where is the line? I'm not sure, and it's hard to say who has the balance right here.
We try to mitigate this by providing extra data like whether the address is a hosting or relay provider - for free, unlike others :) Some future addition could be to provide additional accuracy or source information, or even a 'reported' vs 'measured' location.
We're working through this and hope to get to the right answer over time. Thanks for raising this. :)
We are constantly expanding our probe network, and my colleagues are also working on stabilizing and improving the network.
From 2025 and beyond, we will be putting a lot of effort into our R&D program. Our probe network provides the data that helps our data and research team to create better models.
Currently, a good portion of the data is available to all with no compromise. When we do make mistakes, we hope our community of users will point them out to us. Each ASN or IP address mistake generates a new ticket, our CEO/Founder is tagged there, our data team investigates it, pushes fixes, and provides explanations.
Nice to meet you. I love the work you have done so far for IPlocate.io. Keep up the good work. The point you have raised is interesting. However, I am not sure about the "Marketing plays a big role" point you made.
We are a developer-first company.
- Developers need a good product, so we are always committed to providing one, whether it is free or not. The best-in-class product we offer is a result of our obsession with meeting the expectations of our developer community. Our relationship with our developers largely (but not entirely) relies on the quality of our product. And that is not just data (which is again just miles ahead of everyone else). It is integrations, infrastructure, site reliability, uptime, dashboards, tools, CLI, and much more.
- For developers, if they cannot get the best product, you have to tell them why you are not the best. So, we write long community posts and have deep technical discussions. We built the community forum, just for our developers to have conversations directly with us.
- For developers, they need someone to be present and respond, and we are always there. In our community someone from our technical team is available seven days a week.
- For developers, they enjoy a product outside of work, so we will hold huntathon, online games, technical articles and events for them.
Being developer-first comes with revenue perks, sure. Our founder started the company 12 years ago, and it has been slow and stable growth. We have built trust in the community, and today it is impossible for us to find any developers who haven't heard of us. That is not because we have a billboard or spent X amount on paid marketing. They heard of us because they used our product, they like our product, and they know our team.
It is not marketing; it is just general goodwill.
We are super obsessed about any points of friction any IPinfo user has, but to be honest, that is just what any developer-first business should do. We are obsessed about developer sentiment and perception, but that is what the industry should be. Our users consist of the smartest people I know, and because we go above and beyond to be helpful to them, they do not point out mistakes we make, they actually try to help us.
Consider our probe network server finding. We genuinely hit a wall after 750 servers. Then we reached out to our community of users, who found 150 more servers. There are even developers who will talk to their local hosting providers in their local language just to get us a server.
Then writing code to integrate our data into different places. Our team is extremely small, so we cannot actively contribute engineering contributions to open source projects. Our users usually help us a lot in writing high-quality code for open source projects they already use.
We are humbled because of the help our user share, and that is why we are obsessed with them and trying our best to go above and beyond to help them.