What happened to the Yahoo Finance API?

Disclaimer: The opinions expressed in this post are my views only. They do not reflect the opinions of my current or former employers.

Yahoo Finance is one of the most loved product in the industry. I had the privilege of working on it for ~6.5 years. Recently, I ran across an interesting StackOverflow discussion regarding Yahoo Finance’s APIs being “down” or “changed”.

When I dug into it, a lot of people on the web were very upset about it.

I also ran into a ticket in the Pandas community.

Interestingly, a lot of people were up in arms on Yahoo Finance’s uservoice forum & the support forums.

Now, admittedly, on the surface it sounds like a bad move on Yahoo’s part. In fact people have theories around the timing of Yahoo’s acquisition and the API shutting down (or changed). These, of course, are not true.

Yahoo Finance replaced the old API with a new one that requires a certain level of authentication. The explanation for this change is rather simple and boring.

Yahoo Finance aggregates it’s data from several data vendors across the globe. It does so at a massive scale. This enables it to provide it’s users with great experiences on multiple platforms including Web & Mobile. It monetizes the users via ads.

Quite simply, acquiring data costs money and if there are APIs that people can easily abuse to get this data, Yahoo loses money and hurts their relationship with data vendors.

While working at Yahoo Finance, we used to routinely run into situations where developers would reverse engineer our APIs and build entire apps, products and services. These were promptly shut down and reported.

This change has definitely caused pain to the hobbyist community which is unfortunate. But Yahoo has a business to run and it cannot afford to allow it’s APIs to be abused as it costs money to not only buy and aggregate data but also given the popularity of Yahoo Finance & it’s APIs, the request volume costs non-trivial $$$ in terms of machines, data center space and network bandwidth.

Hopefully this sheds some light on the mystery.