Live data from Hacker News

Unofficial APIs

github.com

31–40 of 75 posts

Re: Unofficial APIs

#32

From a practicality standpoint, I strongly discourage using unofficial APIs, as tech companies nowadays are very prone to sending out C&Ds. If you have a use case where the official API doesn't suffice, then do not redistribute anything obtained from the unofficial API, and definitely do not attempt to commercialize it.

Its hit or miss, the NHL for example powers their website from their API entirely yet its 100% open to the world and tons of people build all manner of things off of it yet they seem to give zero shits about people using it at all.

Re: Unofficial APIs

#33
post #24

Does using an unofficial API authenticated with someone else (e.g. a customer)'s account count as a violation of the ToS? In other words: who gets reprimanded/sued? The final user or the messenger?

Don't all of these libraries require you to provide your own credentials?

I do think this violates their ToS anyways though.

Re: Unofficial APIs

#34
post #10

Haha the pokemonGo Api! I was in the final stages of a bootcamp right when Pokemon Go came out, and a bunch of us were desperately trying to put ourselves on the map by doing something lit with Pokemon Go. We discovered that the spawns were cycled hourly, so if we could gather enough data we could quite accurately map out every pokemon in the city. Then we came up against not knowing anything about parsing the data w…

I got another fun story from the other side. I worked at one of the few small companies that provided free Openstreetmap-powered basemaps at the time: you could just grab our map tile URL, plug it into Leaflet or any other mapping lib, and get a instant basemap with OSM data, provided you gave credit to us and under some not really restrictive ToS. In fact you probably used us at the time.

The technology behind those tiles wasn't really sophisticated back then -- a few oversized and replicated PostgreSQL servers with PostGIS and the OSM data loaded and synchronized frequently with a few materialized views on top, and a bunch of servers painting tiles with Mapnik using them as a source (there are a few options that started to prove to be more efficient at the time, but that's what we decided to go on then for other reasons), with a few layers of caching on the front. Tile rendering times for cache misses weren't really good depending on the complexity of the requested tile, given most stuff wasn't prerendered, but once things got cached and since most popular maps were localized to specific regions that got quickly cached, this worked pretty well after the first visitor had came.

But then... Pokemon Go and your bazillion maps came with the worst scale test for our design you could ever think of: a volume of tile requests a few levels of magnitude higher than usual, of locations from the half of the world playing Pokemon Go back then, zooming to _their streets_ (which were randomly distributed all over the world and therefore most probably uncached at that zoom level) to try and find their closest Charmanders.

Needless to say, those were some few nice days of firefighting and playing whack-a-mole replicating databases, adjusting caches, banning requests from the worst offenders and, at some of the worst points, everything that included the word "poke" on their domain.

Re: Unofficial APIs

#35
post #10

Haha the pokemonGo Api! I was in the final stages of a bootcamp right when Pokemon Go came out, and a bunch of us were desperately trying to put ourselves on the map by doing something lit with Pokemon Go. We discovered that the spawns were cycled hourly, so if we could gather enough data we could quite accurately map out every pokemon in the city. Then we came up against not knowing anything about parsing the data w…

I had a friend that ran some of that software. The trick was to just make a bunch of accounts and just fake them walking all across the map to gather the locations. Basically crowd sourcing it, but with fake people. The number of fake accounts was a function of how large of an area you wanted to cover and how often you wanted it to update.

I remember some really good public sites, but the quality cycled up and down and the Pokemon devs fought back a bit. I used some tool that basically was what OP described, but let me easily self-host a server. At the time I think there was some hack where the server component could fake location, so you'd just send it off to walk a geofenced area and could browse on mobile remotely while playing the game. Ran it off my laptop, then a DO droplet. Good times.

Re: Unofficial APIs

#36
post #24

Does using an unofficial API authenticated with someone else (e.g. a customer)'s account count as a violation of the ToS? In other words: who gets reprimanded/sued? The final user or the messenger?

Don't all of these libraries require you to provide your own credentials? I do think this violates their ToS anyways though.

I'm sure it would, in some cases at least. I'd be more interested in understanding who gets the blame.

Re: Unofficial APIs

#38
If too many people are using the unofficial API for a product, is it right to assume that building a competing product offering a better official API, would be successful?

Re: Unofficial APIs

#39

Hacker News also has an unofficial API: https://github.com/cheeaun/node-hnapi

HN has unofficial write APIs, since they don't prevent cross-site request forgery. This enables HN apps that upvote/comment/post to work. Thanks, HN ;)

Re: Unofficial APIs

#40

If too many people are using the unofficial API for a product, is it right to assume that building a competing product offering a better official API, would be successful?

My guess is that the two things are unrelated, at least looking at this list.

The API itself isn't the reason people use the product.

Post reply on HN