Skip to main content

finvizp

CI Python 3.11-3.14 License: MIT

Finviz for Python — an unofficial, async-first, Arrow-native Finviz client built on fastreq, direct lxml, and PyArrow.

[!IMPORTANT] finvizp is not affiliated with, endorsed by, or sponsored by Finviz. Finviz is a trademark of its respective owner.

Install

uv add finvizp  # or: pip install finvizp

Quick start

Async-first:

import asyncio
import finvizp


async def main() -> None:
    async with finvizp.FinvizClient() as client:
        universe = await finvizp.symbols_async(client=client)
        bundle = await finvizp.quote_async("AAPL", client=client)
        print(bundle.data.snapshot.num_rows)


asyncio.run(main())

Every operation has a sync twin (same name, no _async suffix) for scripts and notebooks:

import finvizp

matches = finvizp.search_symbols("APPLE")
income = finvizp.statements("AAPL", statement="IA")  # IA/IQ/BA/BQ/CA/CQ
snap = finvizp.snapshot("AAPL")  # cached, no 2nd request
quote = finvizp.quote("AAPL")  # complete bundle
universe = finvizp.symbols()
finvizp.capabilities()  # implemented/planned ledger

Sync twins reject an active event loop; results, caching, and errors are identical.

What's implemented

Milestone Surface Status
0.1 Symbols, statements, quote bundles, cache
0.2 Screener, signals/earnings, registry drift tools
0.3 Groups, spectrum, maps, news, insider, calendar
0.4 Markets, artifacts (charts/spectrum), forex/crypto, futures
0.5 Frozen-surface + finvizfinance parity audit
1.0 Stable release pending

The full implemented/planned ledger lives in the capability matrix and finvizp.capabilities().

Design in one screen

  • Async-first with sync twins — one transport, no hidden event loops.
  • Arrow-native — every dataset is a versioned, deterministic Arrow table.
  • Immutable FetchResult[T] — full provenance, typed partial/error diagnostics, no in-place mutation.
  • Complete compound bundles — e.g. a quote page yields every relation in one fetch; cache-preserving projections (snapshot, ratings, news, insider, peers, etf_holders) never re-request.
  • Structured-first sources — public JSON/XHR or embedded payloads when same-tier, complete, direct, and snapshot-coherent; lxml parsing otherwise.
  • Explicit proxies, route-isolated auth, conservative pacing/retries, bounded result caching, single-flight coalescing. A per-client 429 circuit breaker trips after 3 consecutive rate limits and fails fast (CircuitOpenError, no request sent) until the cooldown passes.
  • No login/browser automation, bulk crawling, pandas contract, persistence layer, telemetry, or entitlement bypass.

Documentation

User docs (Diataxis — tutorials, how-to, reference, explanation), rendered with Zensical from docs/user/:

You want to… Go to
Try it in 5 minutes Get started
Use the sync API Use the sync API
Set proxies / caching Proxies & cache
Migrate from finvizfinance Migration guide
Check a dataset's columns Arrow schemas
Understand result envelopes Results
See every capability + status Capability matrix

Deep links: screener · screener registry · groups/maps/events · markets/artifacts · schema versioning · keep your own history · access & responsible use

Build the site locally:

uv run zensical build --clean

Background research (surface inventory, finvizfinance audit, Yahoo overlap, snapshot-history semantics) lives under docs/research/ and docs/brainstorming/; the foundation design tracks the approved architecture. Publication mechanics: docs/publishing.md.

Development

uv sync --all-groups
uv run pytest
uv run ruff format --check . && uv run ruff check .
uv run ty check src
uv build

Access policy

Finviz public pages, Elite features, and export/API endpoints carry different entitlements. finvizp does not automate login, solve challenges, bypass access controls, or rotate proxies to evade limits. Callers are responsible for valid access and data-use rights. See access & responsible use.

Download files

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

Source Distribution

finvizp-0.2.2.tar.gz (137.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

finvizp-0.2.2-py3-none-any.whl (165.4 kB view details)

Uploaded Python 3

File details

Details for the file finvizp-0.2.2.tar.gz.

File metadata

  • Download URL: finvizp-0.2.2.tar.gz
  • Upload date:
  • Size: 137.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for finvizp-0.2.2.tar.gz
Algorithm Hash digest
SHA256 e0bc26bfcf8dab58210bc3585b4e1097e97177cbd54933bdc08c490b8e817976
MD5 e41075076558f683350db744707ac850
BLAKE2b-256 e9d4b96f1bf39c53a99611d63b926deccf1445ba229fc0a60bd5f672f4cbea62

See more details on using hashes here.

File details

Details for the file finvizp-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: finvizp-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 165.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for finvizp-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 eba923b0e0e491a86c2bc2683ae1ad0e843b9e66d62e45211dd5ab3eba9a223a
MD5 e99955feffbe5b471e79acc6f634eda7
BLAKE2b-256 509d59a33917fcd3769db8b084786b78deb1a4636bbb9dde0d311a09134b2a1c

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.1

2 files

1.0.0

2 files

0.2.3

2 files

This release

0.2.2 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page