Skip to main content

Python wrapper for an unofficial Yahoo Finance API

Project description

Python wrapper for an unofficial Yahoo Finance API

Coverage Package version Downloads


Documentation: https://yahooquery.dpguthrie.com

Interactive Demo: https://yahooquery.streamlit.app/

Source Code: https://github.com/dpguthrie/yahooquery

Blog Post: https://towardsdatascience.com/the-unofficial-yahoo-finance-api-32dcf5d53df


Overview

Yahooquery is a python interface to unofficial Yahoo Finance API endpoints. The package allows a user to retrieve nearly all the data visible via the Yahoo Finance front-end.

Some features of yahooquery:

  • Fast: Data is retrieved through API endpoints instead of web scraping. Additionally, asynchronous requests can be utilized with simple configuration
  • Simple: Data for multiple symbols can be retrieved with simple one-liners
  • User-friendly: Pandas Dataframes are utilized where appropriate
  • Premium: Yahoo Finance premium subscribers are able to retrieve data available through their subscription

Requirements

Python 3.9+ - Versions on or after 2.4.0 require python 3.9+

  • Pandas - Fast, powerful, flexible and easy to use open source data analysis and manipulation tool
  • Requests - The elegant and simple HTTP library for Python, built for human beings.
  • Requests-Futures - Asynchronous Python HTTP Requests for Humans

Yahoo Finance Premium Subscribers

  • Selenium - Web browser automation

    Selenium is only utilized to login to Yahoo, which is done when the user passes certain keyword arguments. Logging into Yahoo enables users who are subscribers to Yahoo Finance Premium to retrieve data only accessible to premium subscribers.

Installation

If you're a Yahoo Finance premium subscriber and would like to retrieve data available through your subscription, do the following:

pip install yahooquery[premium]

Otherwise, omit the premium argument:

pip install yahooquery

You can also install with uv if you have that installed:

uv pip install yahooquery

Example

The majority of the data available through the unofficial Yahoo Finance API is related to a company, which is represented in yahooquery as a Ticker. You can instantiate the Ticker class by passing the company's ticker symbol. For instance, to get data for Apple, Inc., pass aapl as the first argument to the Ticker class:

from yahooquery import Ticker

aapl = Ticker('aapl')

aapl.summary_detail

Multiple Symbol Example

The Ticker class also makes it easy to retrieve data for a list of symbols with the same API. Simply pass a list of symbols as the argument to the Ticker class.

from yahooquery import Ticker

symbols = ['fb', 'aapl', 'amzn', 'nflx', 'goog']

faang = Ticker(symbols)

faang.summary_detail

License

This project is licensed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yahooquery-2.4.1.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

yahooquery-2.4.1-py3-none-any.whl (50.7 kB view details)

Uploaded Python 3

File details

Details for the file yahooquery-2.4.1.tar.gz.

File metadata

  • Download URL: yahooquery-2.4.1.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.3

File hashes

Hashes for yahooquery-2.4.1.tar.gz
Algorithm Hash digest
SHA256 1903c65eae6a12d95e9450063479216c07846f013bae2a23917913531b7fae5b
MD5 0aa893d1020b28cb7d0b95a3b5b9d3b4
BLAKE2b-256 302165f662871ecdcdab695ee9277b1f9299980cc23ce3edb8ff827dda25b27d

See more details on using hashes here.

File details

Details for the file yahooquery-2.4.1-py3-none-any.whl.

File metadata

  • Download URL: yahooquery-2.4.1-py3-none-any.whl
  • Upload date:
  • Size: 50.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.3

File hashes

Hashes for yahooquery-2.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ee6ff9b9c4ab6a34125e1d55c6412a616948559401267e61724e8dbda98a2d8b
MD5 2c36afe718afb1f5a60348ceff80f238
BLAKE2b-256 ab98bd176685b2175fa7a5283e2fc73a9a7338715015849c904cca6eb69b5082

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page