Python wrapper for an unofficial Yahoo Finance API
Project description
Python wrapper for an unofficial Yahoo Finance API
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 2.7, 3.5+
- 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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file yahooquery-2.3.7.tar.gz
.
File metadata
- Download URL: yahooquery-2.3.7.tar.gz
- Upload date:
- Size: 50.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1018-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | edb0db22316be7b0f4cdb051c3dfacaeaafef810ace92622cf8254cf5bb81b06 |
|
MD5 | 4ab9005c2d018c5643fd012ece35eb72 |
|
BLAKE2b-256 | d5757e2588220c4b7d643485f9101f7da962e84bd68e970141e175d8fc3cb865 |
File details
Details for the file yahooquery-2.3.7-py3-none-any.whl
.
File metadata
- Download URL: yahooquery-2.3.7-py3-none-any.whl
- Upload date:
- Size: 52.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1018-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b3808e515b3fa5e32cf7b72f9a13991cde7b212830879ed00851aad0b8f529e |
|
MD5 | 7f3d035870ffd79cb7ebb16313fd883c |
|
BLAKE2b-256 | d1a99a06f31cc068c7997b63a358f94ed433afb28599ef63bdcd5333db4a19d8 |