Yahoo Finance: to many requests / Getting errors on updates (desktop only)

Hi all,

All my instruments get an error when trying to update (yahoo). I thought it would be on yahoo side but the app seems to refresh just fine.

OS : Win 11 PP : Version: 0.75.1 (April 2025)
Platform: win32, x86_64
Java: 21.0.5+11-LTS, Azul Systems, Inc.

Here are the errors :

Wed Apr 30 08:38:36 CST 2025
[PortfolioLog] 429 Too Many Requests --> https://query1.finance.yahoo.com/v8/finance/chart/XUS.TO?lang=en-US&region=US&corsDomain=finance.yahoo.com

Wed Apr 30 08:42:03 CST 2025
iSHARES CORE SP 500 INDEX ETF

------
Wed Apr 30 08:42:03 CST 2025

java.io.IOException: Download error (attempt 1) for ticker XUS.TO: 429 Too Many Requests --> https://query1.finance.yahoo.com/v8/finance/chart/XUS.TO?range=1mo&interval=1d

	at name.abuchen.portfolio.online.impl.YahooFinanceQuoteFeed.internalGetQuotes(YahooFinanceQuoteFeed.java:169)

	at name.abuchen.portfolio.online.impl.YahooFinanceQuoteFeed.getHistoricalQuotes(YahooFinanceQuoteFeed.java:129)

	at name.abuchen.portfolio.ui.jobs.UpdateQuotesJob$2.run(UpdateQuotesJob.java:284)

	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Any ideas what’s going on ? Am I the only one ?

Many thanks

ps : i would have posted the entire error message but it seems I’m limited with links as a new user

2 Likes

The server returns “too many requests” when it thinks that a client (a web browser) is sending too many requests. Usually, in browser, one views a couple of instruments, but the desktop application tries to update a lot of data so you can run into this error.

PP already tries to “pace” the requests by not doing more than 1 in parallel (which the browser would also not do).

  • You can try later (wait an hour, next day - hard to say how Yahoo limits).
  • You can try alternative sources (other HTML tables, other JSON API)
  • You can try one of the data provider with API (which requires an API key)
2 Likes

Hi Andreas,

Thanks for the explanation, just checked PP, everything went back to normal indeed. All good, have a good day !

This just started happening to me too - since 2 days ago, none of my securities will download. Every security’s last successful quote download was 4/29 (2 days ago), and if I check the “historical quotes” tab in the security settings, the errors are all “429.” I’ve not increased the total number of securities or made any other changes to my portfolio - all is the same, just doing the same daily update as I’d done every morning prior to the 29th.

I also tried connecting to a VPN & updating quotes again, in case I’m being blocked by IP. But the behavior is the same - none can update.

I noticed the exact same thing happening to me. In the app, it all updates as expected, but any asset on my desktop using Yahoo Finance has this error. I tried using Alpha Vantage, and it all worked, but i’m limited with their API

Same issue started yesterday. Odd that I’m able to paste a request into the browser (https://query1.finance.yahoo.com/v8/finance/chart/DXJ?lang=en-US&region=US&corsDomain=finance.yahoo.com) and get back result. Could be Yahoo is tracking something in the request and using that to deny??

I’ve been having the same issue for the past two days. No quotes will update with Yahoo Finance due to the too many requests error, whether using VPN or not.

Interestingly, when I put the query in my web browser it works fine.
(https://query1.finance.yahoo.com/v8/finance/chart/TSM?range=10y&interval=1d)

But all queries are currently being blocked, even just updates and chart requests (per the error log)

Okay, thanks for all the feedback. Looks like Yahoo has updated its behavior… Let me see if there is something to do

5 Likes
!MESSAGE 429 Too Many Requests --> https://api.portfolio-report.net/securities/uuid/495c757746a84e70aad041c05ec7d6a3/prices/EUR?from=2025-05-01

Seems it is not (only) yahoo.

1 Like

Having the same issue, however I thought it was just on adding a new instrument, won’t query back any search results and throws the error. But as others have pointed out seems to work fine on the app.

Hello, I’m also having the same issue since a couple of days ago and it still persists. The price quotes via Yahoo won’t update on the desktop app - getting the same 429 error. Thanks

Wondering if this issue is related to the recent update earlier in the week?

Wondering if there is any news on the quote update issue? Do we know when it’s going to be fixed?

I’ve also been experiencing the error described in this thread. All of the quotes in my Portfolio Performance dashboard are showing that they were last updated on April 29th, 2025, and they’re all throwing the 429 download error from Yahoo. This has obviously skewed the performance dashboard, and doesn’t allow for portfolio tracking.

Just wondering if a fix is being implemented, or if there’s any update on the issue. Thanks!

1 Like

I would guess it’s under investigation. That’s the reason why I’m not stopping to say: Be careful and don’t overdo it with to many securites/updates. If we use the free/workaround providers to heavy they would stop there service.

2 Likes

I have found this impersonate="chrome"-trick

Is something comparable feasible in Java?

Background-Infos: Use Curl Impersonate to scrape as Chrome or Firefox

1 Like

Sorry, what do you mean by “don’t overdo it”? And what would be “under investigation”?

Thanks.

Under investigation means that the developers are looking into it.

With overdo it, I was referring to the point that security prices are quite expensive. That’s the reason, why we are trending to no free interfaces. Yahoo was one of the last free without screen scrapping (which is more a private use only workaround). Now it seems that too many are using it, they started limiting it (reason for the issue). So don’t overdo it with usage, just use it for the securities you’re holding and limit your active securities to the ones you are really actually trading.

6 Likes

Thanks. The fingerprinting explains why it continues to work in the mobile app - there I must use the http client of the os.

Not sure if there is a Java implementation. Maybe we have to bundle the binaries? Will try to check this weekend.

Perhaps removing the default update quotes automatically after opening a file setting.

Sorry, meaning the updates quotes automatically should be removed as this would surely limit the hits to Yahoo, not uncommon for users to open the app multiple times a day, but a updated quote isn’t necessary

Same here. There are few reasons why it does not work in the app, but it does in a browser:

  1. Rate limiting based on client identity, which is typically based on IP address, User-Agent and Headers, or Cookies and session data
  2. Behavioural Differences, which are request frequency, patters, headers and Referrers, or potentially javascript execution in browsers
  3. Anti-Bot or other security mechanisms put in place by Yahoo, e.g. they can use bot detection servies like cloud flare or hCaptcha. Even screen scrapers like Selenium struggle with these; or there could be some session initialisation by a browser which the application skips, but which would be surprising in this case we simply us a single URL

There is not a lot we can do about this, except mayb changing the mechanism that fetches the data in the application to respond to throttling requests, do an exponential back-off, or just inserting a random time interval between every request that is sent out