I'm trying to tackle overpriced and restrictive IP geolocation services

7 points by geuis ↗ HN
I also posted the majority of this on /r/sideproject on reddit. FYI. Hoping its ok because it didn't make a ton of sense to re-write essentially the same thing with the same info. Also I don't feel like this is good as a Show HN because the thing I did is a subscription service.

Always feels weird to share links to stuff you build.

I started an api service back in 2010/2011. I was working on something and needed to get a website visitor's IP address in the web app. But because javascript in the browser is sandboxed (i.e. no IP for you), I ran into a problem I needed a solution for.

This led me over that weekend to build https://jsonip.com. It lets you fire off a CORS or use JSONP to get the results of the api call and use IP address in your app. It might not have been the first, but it was definitely one of the earlier similar services that are around these days.

Fast forward a little over 12 years or so and the api is still going strong. The service has been free the whole time and without any limits on the number of requests you can make. I'm supporting 60-70 million requests a day. In the last 30 days, its almost up to 1.4 billion requests. Really crazy to see that.

Another related feature I've looked at is geolocation. That's where you can take an IP address and get geographical info about it. They aren't super accurate at the most specific level (you aren't going to get a street address for an IP), but they do a great job showing approximately where an IP is down to the city level and sometimes even zip code. Its really useful in a lot of cases.

But one thing has bothered me about this. There's at least a handful of companies already operating in this space. Go google "ip geolocation api". Take a look through them and you'll see a common pattern.

* They're bloody expensive. * They invoke artificially low limits on the number of requests you can make per month.

It doesn't make any damn sense.

I've been thinking about trying to tackle this problem for a couple years and I'm finally launching a service that I hope can attack the problem.

(Here comes the uncomfortable linking to things. Groan...)

Ok so here it is. https://getjsonip.com/#plus. Its a subscription service (big shock, right?) that lets you do as many geoip lookups as you want.

I hope this can be helpful to at least some small number of people. At a minimum, at least a few subscribers would help offset the cost of running jsonip.com for all these years.

Would love to get feedback if anyone has some to offer.

8 comments

[ 0.23 ms ] story [ 27.5 ms ] thread
Where is your data from?
> There's at least a handful of companies already operating in this space. Go google "ip geolocation api". Take a look through them and you'll see a common pattern.

> * They're bloody expensive. * They invoke artificially low limits on the number of requests you can make per month.

No, they're not all expensive, there's free ones too.

ip-api.com also has it for free when its non-commercial use, or €13-15/mo for unlimited commercial use, which is cheaper than yours, it has been around since 2012, serves over 33k/rps and seems to give more data and in several formats.

findip.net is unlimited for free.

freeipapi.com is €8.25-9.90/mo for unlimited, which is again cheaper than yours

Some friendly advice to OP:

As you can see from the above (perfectly reasonable) reply, positioning on price isn't the most effective means here because anyone using this for software that makes money cares primarily about your robustness and accuracy as a service.

By robustness I'm not just talking uptime, but more "If I give this person money today how to do I know they'll be around tomorrow, they could disappear and I'm burning time calling and testing a new API"

I think you're actually doing a good job on this by showing on the homepage that you've been running this for over a decade.

So in launching your new paid add on, I think you'll have some success getting existing customers to upgrade, but in attracting new customers, I think you should position different than cost, maybe things that other geolocation services might not have.

For instance.... some users of your service may be using it because it's less intrusive visually than the browser based location sharing API.... but there might be a subset of customers where they're trying to keep the balance of getting location vs usability right and would opt to use the browser based API as a fallback... perhaps you offering a confidence score along with results might help? (On your backend this could be based on searching multiple ip DBs in parallel, matching locations means higher confidence, or you could get fancy with triangulation latency).

These things are usually wildly inaccurate. I might trust a company like cloudflare's more, because at least they have data centers and customers everywhere and can build up their own geo DB. Where do you get yours from? Have you run error analyses on it yet?
At least for us at IPinfo, this is not the case:

- Tokenless IP geolocation access: Comes with full accuracy and daily updates. Supports HTTPS. 1k requests/day.

- Free tier IP geolocation access: Still comes with full accuracy, daily updates, and supports HTTPS. No credit card required. 50k requests/month.

- Free IP to Country ASN database: AGAIN, full accuracy and daily updates. Because it is a database, it means unlimited access. You can download the database and do whatever you want with it. Unlimited requests per second.

Anyone who wants truly unlimited access to IP geolocation should set up an IP database on their backend. There is a special and easy-to-use database format called .mmdb specially designed for that.

All the comments above have made valid points related to IP geolocation APIs. There are already various free and paid IP-to-address APIs available in the market.

Some are expensive because of the effort their team has put into continuously monitoring the accuracy of their service and keeping the data up-to-date. It is one thing to build an API layer on top of the free data sources and provide for low cost, but keeping the operation running with high up-time, improving data accuracy daily, adding new data sources and handling ambiguity with location data is quite challenging and requires a proper dedicated team.

If you are a single person building this service, it can certainly take a toll on you. Nevertheless, there are many free APIs available which is just a wrapper on top of Maxmind's free data source.

But if you can build a niche group of people who willingly pay to use your service, it is possible and as you mentioned be able to offset the running cost.