
Tell HN: Yahoo Finance has apparently killed its API - php2011
Yahoo Finance has apparently killed is API. Zero warning. Lots of apps probably use this.<p>Before, you could get stock information by using http:&#x2F;&#x2F;download.finance.yahoo.com&#x2F;d&#x2F;quotes.csv<p>Now, you get the following message:
It has come to our attention that this service is being used in violation of the Yahoo Terms of Service. As such, the service is being discontinued. For all future markets and equities data research, please refer to finance.yahoo.com.<p>What violation of TOS? People have been using this for years without any issues.<p>If you are going to cut this off, how about a warning and heads up?<p>Guess that&#x27;s what we should expect from OATH &#x2F; Verizon.
======
payne92
IEX has an official, documented, supported, relatively clean, and entirely
free API for their market data:

[https://iextrading.com/developer/docs/](https://iextrading.com/developer/docs/)

It's just US stocks, and quote data is just for their exchange (and you can
get the deep book if you're interested in that stuff). But they have basic
company info: earnings estimates, split info, dividend info, etc. as well.

~~~
iex_ux
IEX here. Thanks for mentioning our API. We are excited to see what everyone
will build. Just to reiterate, the API is free for personal and commercial
use, doesn't require an API key, and is reliable enough to drive our own
applications.

Real time quotes and trades are available from our own market data, but we
also provide market wide prices (SIP) on 15 minute delay in addition to the
company info mentioned above.

We are very actively developing the API, and will continue to improve data
sets, features, and performance. If you experience any issues we have
community support at [https://github.com/iexg/IEX-
API/issues](https://github.com/iexg/IEX-API/issues) which we actively monitor.

~~~
wsxiaoys
Thanks for building this! I noticed that the charting api have EOD prices for
past 5 years, is there a plan to support longer durations?

~~~
iex_ux
We are currently working on new datasets including EOD data for the past 20
years. Our market data is available now through REST and WebSockets, but we
are working on adding more data via WebSocket, and introducing HTTP streaming
in the near future.

------
mef
They broke functionality on their own pages, yikes.

E.g. the export button on the desktop version of
[https://finance.yahoo.com/quotes/MMM,IBM/view/v1?ql=1](https://finance.yahoo.com/quotes/MMM,IBM/view/v1?ql=1)

~~~
cube00
You'd think after you take down an API you've be furiously checking the server
logs for any referrers coming from inside the house.

~~~
JulianMorrison
Half dead company running on fumes. They probably don't even know half of what
they run, let alone have staff to check the logs.

~~~
beaupritchard
"Half dead company running on fumes"

And for good reason. I don't go to yahoo for its clever articles or its mail
or its search function ... I go to download currency commodity and stock
information.

At least they could have explored offering the million people like me the info
for a couple of bucks a month ... 2 million a month is worth looking at.

Instead a cryptic adios ... its brand suicide (or murder seeing how verizon
owns them now)

~~~
JulianMorrison
Or they just want to get out of that business.

------
cwyers
There's a thread about this on Yahoo!s own forums:

[https://forums.yahoo.net/t5/Yahoo-Finance-help/http-
download...](https://forums.yahoo.net/t5/Yahoo-Finance-help/http-download-
finance-yahoo-com-d-quotes-csv-s-GOOG-amp-f/td-p/387096)

I am incredibly amused by the person who refers to himself as a customer of
this. If you want to be treated like a customer, find someone who will charge
you money in exchange for the service provided.

~~~
jonwinstanley
There's obviously way more nuance to this though. APIs of this nature rarely
charge a fee.

~~~
cm2187
You mean APIs that provide market data? Quite the opposite.

------
mstanown
Intrinio ([https://intrinio.com/](https://intrinio.com/)) has an awesome API
for Financial Data. While not completely free, they do have 6 months free
program for developers.

They've also been featured on Indie Hackers:
[https://www.indiehackers.com/businesses/intrinio](https://www.indiehackers.com/businesses/intrinio)

------
rocannon
I use Alpha Vantage, just for a personal (1 user, me) application. The service
is free, you just need an API key. -
[https://www.alphavantage.co/](https://www.alphavantage.co/)

[https://www.alphavantage.co/support/#api-
key](https://www.alphavantage.co/support/#api-key) "While we are proud to
provide free API service with no daily/weekly/monthly call limits, we
recommend that API call frequency does not extend far beyond ~100 calls per
minute so that we can continue to deliver the optimal server-side performance.
If you would like to target a much larger API call volume, please drop us a
note..."

~~~
cdubzzz
Implementing this to replace a very low usage exchange rate form. The format
of their data is... odd. E.g. -

{ "Realtime Currency Exchange Rate": { "1\. From_Currency Code": "BND", "2\.
From_Currency Name": "Brunei Dollar", "3\. To_Currency Code": "USD", "4\.
To_Currency Name": "United States Dollar", "5\. Exchange Rate": "0.73326846",
"6\. Last Refreshed": "2017-11-03 17:37:12", "7\. Time Zone": "UTC" } }

Why the numbers and mix of underscores and spaces in keys?

~~~
rocannon
I don't know why they did that, you would need to ask them. They seem to be
open to questions and suggestions. My guess is that it's historical and now it
would annoy too many users to change.

------
jklein11
If you built a business around data that you didn't explicitly have the rights
to you built that house of cards yourself.

~~~
yeukhon
You realized that’s probably half of the startups and companies out there
right?

~~~
ploika
That doesn't make it any less true.

~~~
AznHisoka
Businesses can fail. That is true as well.

I guess we should never build businesses.

~~~
ploika
That's a bit reductionist.

I'm saying we should enter into formal contracts for services that are vital
to the running of our businesses. That way there's more protection against
getting the rug pulled out from underneath us.

~~~
AznHisoka
That's easier said than done. Try getting a meeting with the VP of Facebook,
who's bonus depends on increasing ad revenue for Fortune 500's with a $100
million dollar budget. Or plow through and take the risk, and be the next
Buffer.

------
labithiotis
There API is still working via
[http://finance.yahoo.com/webservice/v1/symbols/allcurrencies...](http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json)

~~~
chillingeffect
have you got any further documentation on hwo to use that? thank you.

~~~
ISKthrow
Documentation... Oh, my sides!

------
csandstedt
At TagniFi we have a free account that provides access to end-of-day market
data (TagniFi Markets) via our API at no cost. Data items include high, low,
open, close and volume along with adjusted closing price (for splits and
dividends). Documentation is at [http://docs.tagnifi.com/article/63-search-
tagnifi-markets](http://docs.tagnifi.com/article/63-search-tagnifi-markets).
Sign up at [https://www.tagnifi.com/trial](https://www.tagnifi.com/trial)

Note: we only limit our trial to the Dow 30 for our fundamental data (balance
sheet, income statement, cash flow statement). Market data is not restricted
to the Dow 30 for the trial which does not expire.

------
pstadler
Quite happy about the suggestions for similar APIs here. They’re somehow hard
to find in the forest of overpriced professional services.

I‘m using a different Yahoo endpoint with ticker.sh[1], which is still
functioning at this time. Maybe there‘s soon the need to find yet another
alternative after the Google endpoint stopped working recently.

[1]
[https://github.com/pstadler/ticker.sh](https://github.com/pstadler/ticker.sh)

------
vizzah
Yeah. It's been on & off for a while but yesterday looks like it went for
good.

I had to fix my script switching to:

[http://www.bloomberg.com/markets/api/quote-
page/{CURRENCY_PA...](http://www.bloomberg.com/markets/api/quote-
page/{CURRENCY_PAIR}%3ACUR?locale=en)

~~~
stzup7
is it documented somewhere or you just analyzed your browser requests?

~~~
nevi-me
You'll get IP banned if you go beyond a certain threshold, but looks like you
can find other API endpoints by looking at browser requests.

------
greenburger
The API at
[https://query2.finance.yahoo.com](https://query2.finance.yahoo.com) seems to
still work [0]

[0]
[https://query2.finance.yahoo.com/v8/finance/chart/VZ?period1...](https://query2.finance.yahoo.com/v8/finance/chart/VZ?period1=1388563200&period2=1509694074&interval=1d&events=history)

~~~
hbcondo714
Thanks but this is only returning historical stock price data while the yahoo
download quotes.csv returned stock market data including ebitda, market cap,
price ratios and much more.

------
neximo64
> What violation of TOS?

It is against Yahoo's TOS to scrape the data there. So yes its darn entitled
to even expect a heads up.

~~~
chris_wot
Downloading a csv isn’t scraping.

~~~
cm2187
I don't know if the csv was meant to be an api or just giving the option to
someone visiting yahoo finance (and therefore viewing ads) the ability to
download data they viewed. If you go straight to the data and bypass the ads,
you are sort of scraping.

~~~
jonknee
Well the geniuses at Yahoo also broke their own site--if you go to Yahoo
Finance and try use their own download link it takes you to the same message.
So they must not actually care about the ads.

------
qrpike
[https://polygon.io](https://polygon.io) \- real-time stock data APIs

------
jsemrau
Roughly 10 years ago I build an Excel stock screener using this API. The data
quality was always terrible.

~~~
dx034
I wouldn't trade on it but they were reasonably good to get a sense for where
stuff trades. E.g. monitoring your portfolio with this worked well, esp for
EOD data.

------
clothridge
Intrinio ([http://intrinio.com/](http://intrinio.com/)) currently offers the
least expensive Real-Time and REST API for US stock prices.

You can access it via WebSocket, or Web API. No other firm currently offers
this data via WebSocket which is especially helpful as you only need a few
lines of code to implement. Additionally, Intrinio's customer service chat
support is live practically 24/7.

The real-time feeds can be found here:
[https://intrinio.com/marketplace/data#?category=prices&sub_c...](https://intrinio.com/marketplace/data#?category=prices&sub_category=realtime)

The REST API for prices would be best in this feed: US Public Company
Financials ([https://intrinio.com/data/company-
financials](https://intrinio.com/data/company-financials))

This blog will tell you everything you need to know to get started using the
real-time API: [http://blog.intrinio.com/stock-prices-from-
intrinio/](http://blog.intrinio.com/stock-prices-from-intrinio/)

~~~
Veratyr
It's not the least expensive.
[https://www.alphavantage.co/](https://www.alphavantage.co/) is free.

------
csallen
I interviewed the people behind Intrinio[1] for Indie Hackers. I haven't used
their product myself, so I can't tell you how it stacks up against the Yahoo
and Google APIs that were killed this month. But I do know that they provide
financial data and APIs to developers, and their primary goal is making it
super cheap and pleasant to use.

[1] [https://intrinio.com](https://intrinio.com)

------
markcheno
I wrote a small cli/library to pull tickers and historical quotes from various
sources directly to csv or json. It still works with the new Yahoo format, but
I wouldn't count on it sticking around. Also pulls bitcoin data from gdax.

[https://github.com/markcheno/go-quote](https://github.com/markcheno/go-quote)

------
peterbraden
The undocumented Google finance API was also turned off this month after many
years.

There's a severe dearth of good, free, market data API's.

~~~
dx034
If both shut down within a short period of time it's probably due to the
vendor. I'd guess one of the major exchanges in the US has changed the terms
of the license or started enforcing it. They make money with this data so it's
understandable that they don't like free APIs.

~~~
jmalicki
Likely the NYSE, they've decided to make some money off of algorithmic trading
by charging a non-display fee, where it costs thousands of dollars per month
to use stock quotes for anything other than displaying to a human, and have
been on a warpath enforcing it, causing a large fight between the NYSE and
Bloomberg, Citadel, etc. with lots of lawyers and government regulators
involved.

I can't imagine they're happy about people possibly using Google or Yahoo
Finance APIs for similar purposes either (since most of the uses of market
data APIs are probably for non-display use).

[http://www.businessinsider.com/bloomberg-letter-targets-
nyse...](http://www.businessinsider.com/bloomberg-letter-targets-nyse-trading-
fee-changes-2017-4)

[https://www.nyse.com/publicdocs/nyse/data/Policy-
NonDisplay_...](https://www.nyse.com/publicdocs/nyse/data/Policy-
NonDisplay_PDP.pdf)

------
user48abc
I had been downloading about data for about 30 stock symbols once or twice a
day for years.

This was a handy service that gave Yahoo credibility to me but evidently there
were those who completely abused the handy service by downloading hundreds if
not thousands of stocks minute by minute. It's those who wrecked it for their
own need for greed. They should have been contracting with a service to
provide them with data.

For the rest of us it is now gone. Yahoo could have easily given each person
perhaps a limit of 10 or 100 downloads per day by counting the IP addresses as
other web sites do.

So don't blame Yahoo or Verizon. Blame it on those that have to have the world
for free and will abuse whatever free service you provide. They are the ones
who are all about themself who wreck the world for everyone else.

------
vden
One more existing alternative:
[https://developers.exante.eu](https://developers.exante.eu)

It's broker company itself and they have API with EOD and realtime data on
stocks and derivatives for many exchanges including US, Europe and Asia.

You can even trade with that API if you want (guess it won't for free though).

------
dberlind
Just circling back here (hoping someone can help me with my coverage). Given
how the endpoint required no authentication (no uid/pwd, key, or token), and
therefore, Yahoo had no idea what developers were using it, how did you
(speaking to developers here) expect to be notified of the API's retirement?

------
dberlind
I'm writing an article about this... Questions to anybody that knows:

1\. it looks like this was just a CSV download. Was any form of authentication
(even just a Yahoo login) required to download the CSV? I'm just trying to
figure out how, if Yahoo actually thought of issuing a warning, it would have
known who to send it too or how to get news of the shutdown circulated to the
right people.

2\. If it was a CSV download, how up to date was the data?

3\. Does anybody have a sample URI for a filtered version of this CSV request.
For example, just two symbols?

Thanks

David Berlind ProgrammableWeb

~~~
php2011
here's some info on how it worked:
[http://www.jarloo.com/yahoo_finance/](http://www.jarloo.com/yahoo_finance/)

------
binarymax
I did notice that in DDG, "!finance TICKER" now goes to other sites, where
recently it used to go to yahoo finance. I wonder if the change was due to
this, and if DDG had any warning?

------
runeks
Was there ever a TOS for this API? I was under the impression that this was
just an internal API used by Yahoo Finance itself, and that they've never
marketed it in any way.

------
tyrauber
Not just finance.yahoo.com, but also access through query.yahooapis.com.

[https://query.yahooapis.com/v1/public/yql?callback=&diagnost...](https://query.yahooapis.com/v1/public/yql?callback=&diagnostics=true&env=store://datatables.org/alltableswithkeys&format=json&q=SELECT%20*%20FROM%20yahoo.finance.quotes%20WHERE%20symbol%20IN%20\(%27AAPL%27\))

------
olalonde
Zero warnings? Didn't Yahoo die like a few years ago?

~~~
adventured
Globally about a billion people annually use at least one Yahoo service.

The answer to your question is: nope.

------
pselbert
A non profit that I support has been relying on Yahoo for exchange rate
information for nearly 10 years. I knew when I inherited the app that this was
imminent, so it wasn’t too surprising.

There are plenty of alternative paid APIs out there that made switching easy.
Hopefully others who had legacy developers integrate with the financial APIs
are able to switch easily too.

------
simonsarris
Good time to remind everyone that Google Finance said they would delete
everybody's portfolio's in November and if you want the data you should
download it.

You don't see this unless you go to the Portfolios page: (not my screenshot)
[https://imgur.com/0o4Ehxe](https://imgur.com/0o4Ehxe)

------
php2011
Google lets you import stock price info into Google sheets using the
=GOOGLEFINANCE() function.

But for more than a year, Google's mutual fund prices have been showing day
old information many hours after the market closed.

So i had been using the Yahoo API to populate an investment portfolio
spreadsheet.

So now both Yahoo and Google don't work. You get what you pay for.

------
pishpash
That API has been flakey since months ago. You can still get quotes from Yahoo
Finance in other ways just fine though.

------
foobaw
There are a lot of good free alternatives on the comments but I'm curious how
reliable they are.

Obviously, Xignite is the leader in paid service but it's way too expensive
for startups (approximately 20k for the cheapest option).

IEX and AlphaVantage have decent customer support so I trust them, but I'd
rather have a cheaper, paid service.

~~~
clothridge
Intrinio ([http://intrinio.com/](http://intrinio.com/)) currently offers the
least expensive Real-Time and REST API for US stock prices, AND their customer
service chat support is live practically 24/7.

You can access it via WebSocket, or Web API. No other firm currently offers
this data via WebSocket which is especially helpful as you only need a few
lines of code to implement.

The real-time feeds can be found here:
[https://intrinio.com/marketplace/data#?category=prices&sub_c...](https://intrinio.com/marketplace/data#?category=prices&sub_category=realtime)

The REST API for prices would be best in this feed: US Public Company
Financials [https://intrinio.com/data/company-
financials](https://intrinio.com/data/company-financials)

This blog will tell you everything you need to know to get started using the
real-time API: [http://blog.intrinio.com/stock-prices-from-
intrinio/](http://blog.intrinio.com/stock-prices-from-intrinio/)

------
MikeTV
Earlier this year (~May) they shut down their API endpoint that rendered handy
little stock chart images with a surprising amount of useful features. Any
alternatives out there, other than tying together a charting lib and data API?

------
tribby
the robinhood API is unofficial (for now) but it's an easy way to pick up
stock data for free.

[https://github.com/sanko/Robinhood](https://github.com/sanko/Robinhood)

------
timkpaine
[https://github.com/timkpaine/pyEX-zipline](https://github.com/timkpaine/pyEX-
zipline)

------
c517402
The Apple STOCKS app on my iPhone is showing updates as I watch and says
Yahoo! at the bottom. So, it seems Yahoo is still providing fairly real-time
stock quotes via some means.

------
joshmn
For us non-financy-types, does anyone mind letting us know what this file
looked like so we can, you know, potentially duplicate it and provide it to
those who find it a necessity?

~~~
solaris_7
There are already a number of existing alternatives:

[http://fixer.io](http://fixer.io)

[https://openexchangerates.org](https://openexchangerates.org)

[https://www.exchangerate-api.com](https://www.exchangerate-api.com)

[http://www.xe.com/xecurrencydata](http://www.xe.com/xecurrencydata)

~~~
dx034
You find FX data everywhere because it's public. But Yahoo also had stock
data. And that is hard to find for free online. I guess Yahoo had to shut it
down because exchanges didn't like them giving data away for free via API.

------
germs12
its _

------
macroexchange
edit - hackernews apparently doesn't value new ideas.

~~~
dmitrygr
Please forgive my ignorance, but what possible intersection is there between
blockchains (method of immutably storing small quantities of data in a
distributed fashion currently limited by power waste, slowness, and needed
storage amount) and providing real data about real stock markets to real
people (getting data with proper license and providing it to others on
request, currently limited by legal means)?

~~~
the_duke
Coin exchanges are dealing with plenty of real money for plenty of real people
and have real licenses and very real government oversight (at least in places
like the US and EU) , so your snark is not very appropriate.

Regarding your actual point, I can't see the connection either.

------
COil
After 22 years they still can't handle a mailbox correctly, so that's not very
astonishing.

