Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: IP-Api.io – Geolocation by IP (ip-api.io)
36 points by awesomeowen on March 27, 2019 | hide | past | favorite | 37 comments



The pricing is a bit confusing:

€10/m for 100k queries €45/m for 300k queries

Can I just make 3 accounts and save €15/m?


Agreed, €25/m makes much more sense for that tier than 45. And to be honest why even have 3 tiers if for an additional 8% on the second tier you get 3.33x more anyways?


I think the last 2 tiers are even more confusing: 45 for 300,000, or 49 for 1mm. Doesn't make sense. That second tier definitely needs to be priced lower, or the last tier needs to be higher.


Thanks for the feedback, pricing can be improved for sure.


This looks really nice and the landing page is great. I love that they have code demos right there.

I currently use and love https://ipdata.co/ which is very similar in terms of features and pricing so I see no compelling reason to move, but it's great to see more entrants into this space especially if it causes more innovation and data types to be added.


I just tried to get an API key at ipdata.co, but their onboarding could use some work: I registered, got some error, but still a verification email came. Clicked on the link, but now can't find a way to continue - either login or get a key some other way.

EDIT: nevermind, they send it through email..


If you're looking for an IP geolocation API you should also check us out at https://ipinfo.io - we're free for up to 1k req/day, handle over 12 billion requests per month, and have been around for over 6 years. You can play with our data on our homepage, and for the free plan you don't even need a token, just `curl ipinfo.io`

We also have APIs to get IP ranges for companies, to get domains hosted on the same IP, and more. See https://ipinfo.io/developers


MaxMind is ridiculously cheap, and has solid public metrics on their own accuracy. What is this bringing to the table?


Does the default MaxMind GeoIP provide isProxy: false, isTorNode: false, isSpam: false, isSuspicious: false though?


No, but those kinds of flags are typically provided by DNSBL APIs.


Which dnsbl provide this data? Have been searching for it for a long time.


Here is a nice list of all sorts of dnsbl sources,

http://multirbl.valli.org/lookup/12.23.34.56.html


> Free plan ‐ 12000 queries per month

That's nice. Maybe a free plan without an API key would be nice to try without registration.

Also you might want to integrate it to geocoder ip lookup: https://github.com/alexreisner/geocoder


For the free plan the API key is probably needed to count how many requests you do. Free plan without entering a credit card on the other hand would be great. :)


We use IP-api.com and have unlimited queries for 15€/month. Worked pretty well for us


Same. And they also have a more comprehensive API (though less fields, but as we never need more than lat, long, country and ZIP that is fine.


Just curious, do you have an estimate of average queries per month or day you are actually using at them?


We have around 2.1 mio queries per day, because we cache ip-loc data locally. otherwise it would be around 30-50 mio q/d


I find monthly billing of usage based services to be very user unfriendly:

* I pay for 100,000 queries even though I made only 50,000.

* I need to upgrade as soon as my usage goes over the plan limit. And then, I need to remember to downgrade.

Be fair, charge by usage.


Fair point. I'll check if such setup will work with Paddle.


How does tools like this work? Is it triangulated by pinging from different location?


This very likely uses whois/IRR entries and some heuristics to make sense of them. Thus, it is more about which ISP an IP address block belongs to rather than who the physical end user is.

    q3k@anathema ~ $ whois 185.236.240.1 | egrep '(address|org-name)'
    org-name:       Stowarzyszenie "Warszawski Hackerspace"
    [...]
    address:        Warszawa

    q3k@anathema ~ $ curl -s https://ip-api.io/json/185.236.240.1 | jq .organisation,.country_name
    "Stowarzyszenie Warszawski Hackerspace"
    "Poland"
However, this generally doesn't work for multinational ISPs that have blocks in different countries. For instance, take this Google IP address that I got when I spun up a VM in their Belgium DC:

    q3k@anathema ~ $ curl -s https://ip-api.io/json/104.155.39.247 | jq .organisation,.country_name
    "Google LLC"
    "United States"


From what I understand, which admittedly is not much, I believe it is actually a database lookup service that references sections of; or perhaps the whole IP that has been previously recorded as from country X.

I think countries themselves have ranges of IPs allocated to them, but again, not my area of expertise.


No, countries don't have ranges allocated to them. RIRs (ARIN, RIPE, AFNIC, APNIC) do, and then they distribute those blocks to LIRs (ISPs) in their coverage area. However, now with IPv4 block exhaustion, it's common to port old PI v4 address space across RIRs, or for RIRs to donate blocks to eachother, so there isn't any guarantee about address mapping to continents even.

You can always use `whois` on an IP address from a command line to get all the public records about it that you need. This will have information about the RIR, LIR, and potentially end-user of the block.


Ah I see, interesting, thanks!


How it works at backend? Where do you get all this info from? I am really curious.


Well I hate to be the bearer of bad news but the capital of Wales is not London...


is_in_european_union: true,

that one is still correct? ;)


Nobody really know that. Could change any day.


Off by 61 miles (Country and State are correct)


Completely off for me, it says "Venezuela" my IP is from France


Off by 1.700Km for me (London/UK vs Madrid/Spain)

Edit: MaxMind got it right.


It was very accurate in my case. Zip Code was right.


Around 400 km for me.


about 50-60 miles off for me too


Cool! The flag images don't seem to work.


Thanks, fixed!




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: