ranaroussi / yfinance

Download market data from Yahoo! Finance's API
https://aroussi.com/post/python-yahoo-finance
Apache License 2.0
12.24k stars 2.23k forks source link

insiders & holders = 404 error #1904

Closed EthanW33 closed 3 weeks ago

EthanW33 commented 2 months ago

Describe bug

404 Client Error: Not Found for url: https://query2.finance.yahoo.com/v10/finance/quoteSummary/?modules=institutionOwnership%2CfundOwnership%2CmajorDirectHolders%2CmajorHoldersBreakdown%2CinsiderTransactions%2CinsiderHolders%2CnetSharePurchaseActivity&corsDomain=finance.yahoo.com&symbol=AAPL&formatted=false&crumb=IeRNDRnDmnU

Unable to access insider purchases due to empty dataframe: Insider Trades: Empty DataFrame Columns: [] Index: []

Simple code that reproduces your problem

import yfinance as yf

def get_insider_trades(symbol): try:

Create a Ticker object

    ticker = yf.Ticker(symbol)

    # Get insider trades data
    insider_trades = ticker.get_insider_transactions()

    return insider_trades
except Exception as e:
    print("An error occurred:", e)
    return None

def main(): symbol = "AAPL" # Example symbol insider_trades = get_insider_trades(symbol)

if insider_trades is not None:
    print("Insider Trades:")
    print(insider_trades)
else:
    print("Failed to retrieve insider trades.")

if name == "main": main()

Debug log

N/A

Bad data proof

No response

yfinance version

Latest

Python version

No response

Operating system

No response

farbodbahari commented 1 month ago

Screenshot 2024-04-14 5 51 25 PM

none of the 3 following methods works anymore. Using version '0.2.37' get_insider_purchases() get_major_holders() get_mutualfund_holders()

ValueRaider commented 1 month ago

Has Yahoo changed the API? Firefox -> Yahoo webpage -> F12 -> Network tab -> F5 -> inspect

Holders webpage doesn't appear to use API directly.

melgazar9 commented 1 month ago

Hey just adding to this thread. The following are broken:

ValueRaider commented 1 month ago

@bot-unit @JuliaLWang8 Can you advise on what the new API/fields might be, how to figure it out? (tagging because of https://github.com/ranaroussi/yfinance/pull/1728#issuecomment-1837160577)

I figured out a fix - ticker symbol needs to be appended to base URL, not added as a parameter:

https://query2.finance.yahoo.com/v10/finance/quoteSummary/AAPL

I'll leave as a nice task for #1084

hectoorperezz commented 1 month ago

Is it possible to use this method ".institutional_holders" in any version?

It would be essential for what I am working on currently.