DEV.co
Open-Source Databases · mariostoev

finviz

finviz is a Python library that provides unofficial access to FinViz market data, including stock quotes, news, insider trades, and analyst ratings. It enables screeners, portfolio management, and data export to CSV/SQLite, with v2.0 recently fixing scraping issues caused by website changes.

Source: GitHub — github.com/mariostoev/finviz
1.3k
GitHub stars
300
Forks
Python
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorymariostoev/finviz
Ownermariostoev
Primary languagePython
LicenseMIT — OSI-approved
Stars1.3k
Forks300
Open issues23
Latest releasev2.0.0 (2026-01-18)
Last updated2026-01-20
Sourcehttps://github.com/mariostoev/finviz

What finviz is

Lightweight Python 3.10+ wrapper around FinViz's web interface using HTTP scraping. Supports synchronous and async request patterns, exports to DataFrame/CSV/SQLite, and provides 90+ stock metrics via BeautifulSoup-based parsing.

Quickstart

Get the finviz source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/mariostoev/finviz.gitcd finviz# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Financial Research & Screening

Bulk-identify stocks matching valuation, performance, or technical criteria (market cap, P/E, RSI, sector filters). Supports programmatic filter building and URL-based initialization for reproducible scans.

Data Collection for Analysis

Gather historical insider trades, analyst price targets, news feeds, and multi-metric snapshots for backtesting, ML feature engineering, or fundamental analysis without maintaining proprietary data pipelines.

Portfolio Tracking & Export

Manage position tracking via FinViz accounts or CSV import/export; combine screener results with portfolio data for risk/performance analysis in local databases or dataframes.

Implementation considerations

  • Requires Python 3.10+; dropped 3.9 support in v2.0. Verify production environment compatibility before upgrading.
  • Data freshness is 15–20 minutes delayed and subject to FinViz website DOM changes. Build error-handling and monitoring for scraper breakage.
  • Screener and async modes available; test performance under your target query volume and implement request throttling to avoid IP-blocking.
  • FinViz account credentials needed for Portfolio features; handle auth securely (env vars, secrets management) and validate session expiry.
  • Test suite exists but marked 'slow'—expect longer CI/CD cycles; benchmark against live FinViz site before relying on cached/offline test data.

When to avoid it — and what to weigh

  • Live or Real-Time Trading — FinViz data is 15–20 minutes delayed; explicitly not suitable for intraday execution. Official APIs (IEX, Alpaca, Polygon) required for production trading systems.
  • Mission-Critical Production Dependencies — Unofficial scraper subject to FinViz website changes; no SLA, no guaranteed availability, and v2.0 just patched breaking changes. Not recommended as primary data source for customer-facing services.
  • Commercial Redistribution Without Review — FinViz ToS explicitly discourages automation; library disclaimer warns use may violate their terms. Redistribution or resale of scraped data requires legal review and FinViz's explicit consent.
  • Enterprise-Scale Data Operations — No pagination optimization, no rate-limiting controls, and scraper-based architecture does not scale to high-frequency bulk ingestion. Official data providers (Bloomberg API, Yahoo Finance, etc.) are more reliable.

License & commercial use

MIT License. Permits commercial use, modification, and distribution with attribution and liability disclaimer. No warranty provided.

MIT is a permissive OSI license enabling commercial application development. However, FinViz's own Terms of Service may restrict automated data collection and redistribution. Any commercial product using this library must independently verify compliance with FinViz ToS and local data regulations. Redistribution of scraped market data to third parties requires explicit legal review. Not suitable for SaaS offerings without FinViz partnership or alternative licensed data source.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityLow
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Authentication requires storing FinViz credentials for Portfolio features; use environment variables and secrets management to avoid hardcoding. HTTP requests to finviz.com are generally secure (HTTPS assumed) but not verified in data. Scraper receives HTML directly from FinViz; no integrity validation. No input sanitization mentioned for ticker symbols—SQL injection and XSS risks are low but validate ticker inputs before use. Dependency chain (BeautifulSoup, requests, lxml) should be monitored for CVEs.

Alternatives to consider

yfinance (Yahoo Finance API wrapper)

Free, more active maintenance, broader asset coverage (crypto, commodities). Less UI-dependent than finviz scraper but also unofficial and subject to Yahoo changes.

Alpha Vantage / IEX Cloud (Official APIs)

Official, documented, SLA guarantees, real-time/near-real-time data. Higher cost, steeper integration, but production-grade for trading/investment platforms.

Polygon.io / Alpaca Data API

Low-latency, professional equity/options data, built for trading. Paid but reliable; better suited for live trading and high-volume backtesting than finviz scraper.

Software development agency

Build on finviz with DEV.co software developers

finviz is quick to integrate for research & screening, but relies on web scraping and has ToS risks. Devco can help evaluate, deploy, or architect a production-grade alternative using licensed data APIs for your trading platform or investment tool.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

finviz FAQ

Can I use finviz data for live trading?
No. FinViz data is delayed 15–20 minutes. The library explicitly states it is not suitable for live trading; use official real-time APIs instead.
What happens if FinViz redesigns their website?
The scraper will break. You must update to a patched version or manually fix selectors. v2.0 just fixed multiple such breakages. Monitor GitHub issues and be prepared to upgrade frequently.
Is it legal to use finviz for commercial products?
MIT license allows it, but FinViz's ToS prohibits automated scraping. Verify FinViz's current ToS and obtain legal review before deploying in production or reselling data. Risk of account ban or legal action is your responsibility.
Does finviz support async/concurrent requests?
Yes, v2.0 includes async support via request_method='async', but documentation is minimal. Test concurrency limits and implement throttling to avoid FinViz blocking your IP.

Software development & web development with DEV.co

DEV.co helps companies turn open-source tools like finviz into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source databases stack.

Need a Robust Financial Data Pipeline?

finviz is quick to integrate for research & screening, but relies on web scraping and has ToS risks. Devco can help evaluate, deploy, or architect a production-grade alternative using licensed data APIs for your trading platform or investment tool.