another unofficial api for finviz.com
# via pypi (recommended)
$ python -m pip install -U finavis
# or using github w/ pip
$ python -m pip install git+https://github.com/rdnve/finavis.git
# or using github w/ poetry
$ poetry add git+https://github.com/rdnve/finavis.git
import typing as ty
from finavis import get_quote
from finavis.library import Quote
quote: Quote = get_quote(ticker="AAPL")
# accessing to attributes: type help(quote) for more
print(f"Ticker: {quote.ticker}, price: {quote.price}, w/ EPS {quote.eps_ttm}")
# extract attributes to dictionary
data: ty.Dict[str, str] = quote.to_dict()
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}")
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}")
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.
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.