top | item 14678473

How I Took an API Side Project to 250M Daily Requests

494 points| coderholic | 8 years ago |blog.ipinfo.io | reply

159 comments

order
[+] Tloewald|8 years ago|reply
I'd like to point out that the things he says he's doing instead of marketing are, in fact, marketing. It's "guerilla" marketing, and it's being paid for with the writer's time. Nothing wrong with that, just don't confuse "marketing" with "advertising".
[+] smokybay|8 years ago|reply
The author does not say how much does maintaining the service cost and what is the long term plan. As others have referred to already, a similar existed before and ended for a simple reason – no point in maintaining it with constant loss and no clear revenue plan.

https://news.ycombinator.com/item?id=11010856

[+] superasn|8 years ago|reply
I think the most common business model for a website such as this is to offer premium services like:

1) more accurate details

2) fraud protection, if the ip is known for fraud or spamming

3) increased rate limits, etc

Just the top of my head s.. I'm sure you i can think of many more..

[+] imron|8 years ago|reply
Actually, in that post the OP only ended the free, unlimited version of their API.

Since the OP in this case only has a limited free version, I don't think it's going to be an issue.

[+] westoque|8 years ago|reply
Good strategy! That's also what I did to get my side project (Cookie Inspector - Google Chrome Cookie Editor) project to having 80,000/daily users.

https://chrome.google.com/webstore/detail/cookie-inspector/j...

I solely marketed it at Stack Overflow and was getting upvotes and that was all my marketing.

https://superuser.com/questions/244062/how-do-i-view-add-or-...

Also a big factor there are good reviews. When users like your project/product, they will market it for you.

[+] davidivadavid|8 years ago|reply
I'm not sure why people are proud to do things without spending money on marketing.

What if spending money on marketing had made you grow twice larger? Twice faster?

When people say "I didn't spend money on marketing", the only translation is "I knowingly overlooked massive growth opportunities."

[+] rickduggan|8 years ago|reply
This is super cool. I use a similar API to provide a client-side service called IP Request Mapper (https://chrome.google.com/webstore/detail/ip-request-mapper/...). Coming soon to a Show HN near you.

What it does is show where every asset on a web page is loaded from. It allows you to visualize how many different requests go into building just one web page. While it's gotten much better, the Houston Chronicle (https://chron.com) used to make about 500 individual requests to build its home page. It's down to about 125.

It's best to run it across two different monitors, with IP Request Mapper on one monitor and your "normal" browser window on another. Then enter any URL and watch the map start populating based on the geolocating every request made by the page.

But it's projects like ipinfo.io that make these other things possible. Standing on the shoulders of giants and all that...kudos to you, coderholic.

[+] reacharavindh|8 years ago|reply
Happy user here. My GF came up to me and asked if I could somehow get country names for the ip addresses she had of her survey respondants. I Googled and found this neat little API. True, I could have downloaded the raw databases from elsewhere and worry about the SQL I need, whether the data is recent or ancient or even correct. I decided it was an overkill for my need, and just used this API in a throttled(1 req/s) mode and left it overnight. If I need this IP to Location need again, I'd happily pay for this API.
[+] babuskov|8 years ago|reply
I'm baffled why anyone would use this, when you can import data in a database and run it on your own server?

I mean, you might spend 20 minutes more to set it up, but you are safe from having to rely on 3rd party service.

Anyway, kudos to coderholic for creating this and sharing the story.

[+] gfodor|8 years ago|reply
- Database needs to be purchased

- Database needs to be distributed to your servers

- Database can become out of date easily

- Database lookup requires going to local disk and having a relatively fast access path/cache for lookups

- In general, a local database requires a large amount of effort compared to just running a curl in your PHP code.

If you are actually going to use a database, the proper solution does not look like "put it on your webservers" anyway, it looks like "put it on a separate service with a fast caching layer" etc etc. So in other words, the proper solution to decouple yourself from a 3rd party API is to... build a 1st party API.

In other words, not a 20 minute job. For small shops, a quick curl during the page load is a 20 minute job.

[+] timdorr|8 years ago|reply
In environments where you don't control the whole stack, such as a plugin or library code.
[+] matt2000|8 years ago|reply
Where is this data available for download?
[+] Scirra_Tom|8 years ago|reply
Where did you get the IP DB from? My understanding is most you can't resell access to?
[+] IAmGraydon|8 years ago|reply
Do you really think he's going to answer that question?
[+] phillmv|8 years ago|reply
yeah, especially because "[they] built the API in a few hours".

having hosers abuse your free geoip service listed off the first hit from google is nice but the data being provided can't just be "hacked together" :P.

[+] ribrars|8 years ago|reply
Great overview here on how you solved a problem and built a business around that.

I read that you use Elastic Beanstalk for your server config, but I wanted to ask: 1. What programming language did you use?

2. What, if any, configuration did you have to do to the Elastic Beanstalk config to deal with network spikes and autoscaling?

Thanks!

[+] skynode|8 years ago|reply
I was going to ask why AWS Lambda was not used instead. Or any other serverless offering from the major cloud providers.
[+] jacquesm|8 years ago|reply
That's great. Question: does it make money? The words 'profit', 'money', 'income' and 'revenue' do not appear in the article.
[+] XCSme|8 years ago|reply
Well, he said it is his full-time job, so you can safely assume it generates revenue and also you can see they have a Pricing section on their site.
[+] larsnystrom|8 years ago|reply
Ipinfo seems to have the exact same logo as Podio (https://podio.com), a service owned by Citrix.
[+] IAmGraydon|8 years ago|reply
That's interesting. It's almost exactly the same. I did a trademark search, and although "Podio" is registered as a word mark, the logo design is not registered. So IPInfo is probably in the clear, but they may want to consider a new logo.
[+] overcast|8 years ago|reply
That's essentially identical, except for the connecting bar, and a slightly darker shade of blue. They are even both SVG files.
[+] SirLJ|8 years ago|reply
I see the author is posting the same thing every 20 days or so, so here is the 0 marketing...
[+] WA|8 years ago|reply
I use ipinfo.io mostly to see my own public facing IP address and for me, it's 2 reasons:

- I somehow can remember that domain. I don't have to google "my ip" and dig through weird domains that change all the time

- The design is clean and simple. Not too many information, no ads, loads fast.

[+] TheAceOfHearts|8 years ago|reply
For someone looking for a simple CLI option to get your remote IPv4, you can use the following:

    dig +short myip.opendns.com @resolver1.opendns.com
In my case, I have a ip_remote.fish file in my $HOME/.config/fish/functions folder which defines an ip_remote function that executes the line above.

As an added bonus, you can get all local IPv4 with:

    ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'
[+] secure|8 years ago|reply
When I google “my ip”, I get a onebox showing me my IP. Dose that not appear in your search results?
[+] heipei|8 years ago|reply
As a Linux user, I mostly go for 'curl ifconfig.co' ;)
[+] unchaotic|8 years ago|reply
Crowded space. Quick google search of any of these keywords "ip address location api" , "ip lookup API" , "geolocation API by IP" etc. shows :

- https://db-ip.com/api - https://ipapi.co - https://freegeoip.net - ipinfodb.com - https://www.iplocation.net - http://neutrinoapi.com - http://www.ip2location.com - https://www.telize.com

and a few dozen more. I wonder if collectively they are serving over a few billion requests per day. Microservices & API culture FTW !

[+] geuis|8 years ago|reply
I've been running https://jsonip.com for years. Been serving millions of requests a day for most of that time. Doesn't really show up in searches well because it's just an API.
[+] craigmi|8 years ago|reply
Pretty cool man, use your site all the time for ASN lookups, although I find your carrier information wildly conflicts with digital element's DB.
[+] mrskitch|8 years ago|reply
I'm employing a similar strategy for my library https://github.com/joelgriffith/navalia as I couldn't find any solution to manage headless chrome (plus the API for that protocol is pretty heavy).

Building for what folks want, even developers, is so obvious that I think we often forget about it. It's also not as glamorous as self driving cars or rockets, so gets discredited easily.

Sound points though

[+] fusionflo|8 years ago|reply
Kudos to you guys for building this. There is always a lot of scepticism from people on "why would anyone pay for this" . Reality is not everyone has the time or resources to build their own kit. There are literally 1000s of businesses on the internet that that are in the business of selling "time" or timesavers and removing the risk of maintenance, ongoing support.

Keep improving this and with the rise of web personalization, the demand will continue to grow.

[+] kasbah|8 years ago|reply
Does anyone know how ipinfo compares to running your own instance of https://freegeoip.net?
[+] justboxing|8 years ago|reply
I was wondering about this too.

The answers on the SO question https://stackoverflow.com/q/409999/325521 that OP refers to (in his blog post)

also has another answer using freegeoip.net => https://stackoverflow.com/a/16589641/325521

From the comments on this answer (not OP's answer linking to his API), it seems like freegeoip is not all that reliable (i.e. it's down a lot).

Funnily enough, 1 of the comments on this answers links to another free service, called "freegeoip2" which seems to work just fine as of right now.

[+] diminish|8 years ago|reply
Congrats. I m not sure but ipinfo could be very interesting to startups and programmers. So a good idea could be writing attractive articles and posting them on HN and Reddit programming and some other subreddits. That would bring more customers with zero marketing.

See also: https://news.ycombinator.com/from?site=ipinfo.io