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

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-1.0.1.tar.gz (138.0 kB view details)

Uploaded Source

Built Distribution

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

finvizp-1.0.1-py3-none-any.whl (165.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: finvizp-1.0.1.tar.gz
  • Upload date:
  • Size: 138.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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-1.0.1.tar.gz
Algorithm Hash digest
SHA256 897f48d149441f9af6e6a51e0716a6d61a973945d558bc0b3c7256e276588ec7
MD5 d5aa708bb634ad252f00e24f4c1ae76a
BLAKE2b-256 2c2bce4b872391686672d2c6e8c02bd124257ded279ded5729000708dac78fa5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finvizp-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 165.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ce5a63178b75197be3d2453b9e2af240a0395f76b5d5ccdf43b0f32819730f24
MD5 44659bb8e69d49dee25360b6c4d5f47e
BLAKE2b-256 718126567b9a5792dd7da655d1f0bb09f77b66aba8ea103820beedbb2ecf692e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

2 files

0.2.3

2 files

0.2.2

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