Skip to content

Finviz Screener Scraper

Try for free

Scrape the finviz.com stock screener with any filters, signals, sort and view (about 130 columns), plus ticker quote pages with the snapshot table, company profile, news headlines, analyst ratings and insider trades. No login needed.

📈 Finviz Screener Scraper

Turn any finviz.com stock screen into clean JSON, CSV or Excel. Pick a signal (top gainers, unusual volume, new highs, chart patterns), add finviz filters, choose a view or all ~130 columns at once, and get one row per stock in seconds. Need more depth? Scrape ticker quote pages for the full snapshot table, company profile, news headlines, analyst ratings and insider trades. No login, no Elite subscription.

✨ Why use Finviz Screener Scraper?

  • ⚡ Fast — 20 stocks per page, fetched in parallel: 1,000 stocks with every column in a few seconds.
  • 📊 All columns in one row — the "All columns" view merges overview, valuation, financial, ownership, performance, technical, ETF and latest-news columns (about 130 fields) at no extra cost.
  • 🎯 Every free finviz filter — 33 signals, 85 filters with 5,000+ options, as dropdowns, finviz codes (fa_pe_u20) or plain names ("Forward P/E: Under 15").
  • 🔗 Paste finviz URLs — build the screen on finviz.com, copy the URL, done. Any view tab works.
  • 📰 Quote pages — snapshot table (80+ fields), officers, description, news, analyst upgrades/downgrades with price targets, insider transactions with SEC links.
  • 🔢 Clean numbers — 4991.21B becomes 4991210000000, 18.43% becomes 18.43, dates become YYYY-MM-DD, ready for spreadsheets and databases.

🎯 Use cases

  • 📋 Daily watchlists — schedule "Top Gainers", "Unusual Volume" or "New High" every morning and push them to Sheets or Slack.
  • 🧮 Quant research — pull valuation, growth, margin and technical fields for whole sectors or the full ~11,700-ticker universe.
  • 🕵️ Insider and analyst tracking — follow Form 4 buys and sells and rating changes for your portfolio tickers.
  • 📰 News monitoring — collect the latest headlines per ticker with source and timestamp.
  • 🧾 ETF screening — expense ratio, AUM, fund flows and returns for ETFs with finviz's ETF filters.

🚀 How to use

  1. Choose a Signal and/or Filters (or paste finviz screener URLs, or list tickers for quote pages).
  2. Set Max rows per screen (0 = every match).
  3. Pick a view (All columns by default) and an optional sort.
  4. Run it and export the dataset as JSON, CSV, Excel or via the API.

📥 Input

FieldWhat it does
signalFinviz signal, e.g. ta_topgainers, ta_unusualvolume, it_latestbuys, ta_p_channelup
startUrlsfinviz.com screener URLs (any view) or quote URLs
tickersTickers to scrape from their quote pages
maxItemsRows per screen (default 20, 0 = all matches)
sector, industry, country, exchange, index, marketCap, price, averageVolume, pe, dividendYield, analystRecom, rsiCommon filters as dropdowns
filtersAny other filter: fa_pe_u20, ta_sma200_pa, "Return on Equity: Over +20%"
view / columnsall, overview, valuation, financial, ownership, performance, technical or custom with your columns
sortBy / sortDirectionAny finviz sort column, ascending or descending
includeQuoteDetailsAlso merge each screened stock's quote page into its row
maxNewsPerTicker, maxAnalystRatingsPerTicker, maxInsiderTradesPerTickerHow much of each quote-page list to keep
{
  "signal": "ta_topgainers",
  "sector": "technology",
  "filters": ["sh_avgvol_o500", "Price $: Over $5"],
  "view": "all",
  "sortBy": "change",
  "sortDirection": "desc",
  "maxItems": 50
}

📤 Output

One row per stock. Screener rows carry the columns of the chosen view; quote-page rows carry the snapshot table plus lists.

FieldDescription
ticker, company, sector, industry, country, exchangeIdentification
price, changePercent, volume, avgVolume, relVolumeTrading data
marketCap, pe, forwardPe, peg, ps, pb, pfcf, evEbitdaValuation
epsTtm, epsThisY, epsNextY, salesQoQ, roe, roic, grossMargin, profitMarginFundamentals (percent fields are in percent units)
insiderOwn, instOwn, shortFloat, shortRatioOwnership
perfWeek … perf10Y, rsi, sma20/50/200, beta, atrPerformance and technicals
analystRecom, targetPrice, earningsDateAnalyst data
news[], analystRatings[], insiderTrades[], officers[], descriptionQuote pages
url, logoUrl, screen, scrapedAtLinks and metadata

Screener row (Overview view):

{
  "position": 1,
  "ticker": "SDST",
  "company": "Stardust Power Inc",
  "sector": "Industrials",
  "industry": "Electrical Equipment & Parts",
  "country": "USA",
  "marketCap": 1650000,
  "pe": null,
  "price": 0.04,
  "changePercent": 55.38,
  "volume": 1641129972,
  "url": "https://finviz.com/quote.ashx?t=SDST",
  "logoUrl": "https://logo.finviz.com/SDST.svg",
  "screen": "Top Gainers",
  "scrapedAt": "2026-10-16T01:49:54Z"
}

Quote-page row (trimmed; people are fictional):

{
  "ticker": "AAPL",
  "company": "Apple Inc",
  "sector": "Technology",
  "exchange": "NASD",
  "price": 342.0,
  "marketCap": 4991210000000,
  "pe": 39.21,
  "epsNextYEstimate": 9.6,
  "high52wPrice": 348.15,
  "high52w": -1.77,
  "targetPrice": 337.18,
  "officers": [{ "title": "Chief Executive Officer", "name": "Jane Example" }],
  "news": [{ "publishedAt": "2026-10-15T17:00:00", "title": "Example headline", "url": "https://example.com/story", "source": "Example News" }],
  "analystRatings": [{ "date": "2026-10-01", "action": "Reiterated", "analyst": "Example Securities", "rating": "Overweight", "priceTargetFrom": 360, "priceTargetTo": 355 }],
  "insiderTrades": [{ "insider": "Doe John", "relationship": "SVP", "date": "2026-10-13", "transaction": "Sale", "cost": 345.0, "shares": 2399, "value": 827655, "secFormUrl": "http://www.sec.gov/Archives/edgar/data/..." }],
  "url": "https://finviz.com/quote.ashx?t=AAPL"
}

💰 Pricing

You pay $15 per 1,000 rows ($0.015 per stock), the same with or without quote-page details, plus a little platform usage (compute and datacenter traffic, usually well under $0.01 per run). Example: a 1,000-stock screen with all columns costs about $15.

❓ FAQ

Is it legal? It reads public finviz.com pages that anyone can open without an account. Use the data responsibly and respect finviz's terms for your use case.

Do I need a finviz account or a proxy? No account. Datacenter proxies are used by default and the run switches to residential exits by itself if finviz blocks them.

How many results can I get? Every match of the screen: the full universe is about 11,700 tickers. Each screen stops at maxItems.

Why is a field empty? finviz shows - when it has no value (for example P/E for loss-making companies, or ETF fields for stocks). Those become null.

Can I use Elite filters or real-time data? No. Only the free filters and the free (delayed) data are available. Filters finviz ignores for free users stop the run with a clear message instead of silently returning the wrong screen.

Can I schedule it or use the API? Yes. Schedule runs in the console or start them through the API and read the dataset as JSON or CSV.

⚠️ Limits

  • Free finviz data only: delayed quotes, no Elite custom ranges, no intraday filters, no CSV export endpoint.
  • Quote-page details cost one extra page per stock, so screens with includeQuoteDetails are slower.
  • Tickers that appear in several screens of the same run are saved once.
  • Charts, maps, groups, futures, forex and crypto pages are not covered.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.