another unofficial api for finviz.com
installation
$ python -m pip install -U finavis
$ python -m pip install git+https://github.com/rdnve/finavis.git
$ poetry add git+https://github.com/rdnve/finavis.git
getting a single quote
import typing as ty
from finavis import get_quote
from finavis.library import Quote
quote: Quote = get_quote(ticker="AAPL")
print(f"Ticker: {quote.ticker}, price: {quote.price}, w/ EPS {quote.eps_ttm}")
data: ty.Dict[str, str] = quote.to_dict()
getting a several quotes
import typing as ty
from finavis import get_quotes
tickers: ty.Tuple[str, ...] = ("AAPL", "INTC", "QCOM")
for quote in get_quotes(tickers=tickers):
print(f"Ticker: {quote.ticker}, price: {quote.price}, w/ EPS {quote.eps_ttm}")
getting a screener w/ objects
from finavis import Screener
from finavis.library import Exchange, Index, Order
screener: Screener = Screener(
exchange=Exchange.NASDAQ,
index=Index.SP500,
order_by=Order.CHANGE_ASC,
)
for index, overview in enumerate(screener()):
print(f"Ticker: {overview.ticker}, price: {overview.price} - change: {overview.change}")
disclaimer
using this library to acquire data from some website is against their "terms of service" and robots.txt; use it responsibly and at your own risk, this library was built purely for educational purposes.
important information
any quote data displayed on the finviz.com website is delayed by 15 minutes for nasdaq/nyse/amex; this api should NOT be used for real-time trading, it's primary purpose for research in educational purposes.