FinViz Stock Screener avatar

FinViz Stock Screener

Pricing

from $20.00 / 1,000 results

Go to Apify Store
FinViz Stock Screener

FinViz Stock Screener

Screen the US market from FinViz in ~12s. Returns 64 fields per stock — valuation (P/E, PEG, P/B), fundamentals (ROE, margins, debt), technicals (RSI, ATR, SMA), performance and ownership — or up to 94 with analyst ratings, target price and enterprise value. Schedule it daily. No login or API key.

Pricing

from $20.00 / 1,000 results

Rating

0.0

(0)

Developer

Sheshinmcfly

Sheshinmcfly

Maintained by Community

Actor stats

2

Bookmarked

165

Total users

23

Monthly active users

3 days ago

Last modified

Share

📈 FinViz Stock Screener

Screen the US market and get up to 92 data points per stock — in about 12 seconds. No API key, no login, no CSV wrangling.

FinViz is the screener traders open every morning. This actor turns any of its screens into clean JSON or CSV: pick a signal (top gainers, unusual volume, oversold…) or a chart pattern (channels, wedges, head & shoulders), narrow by sector, market cap, country or theme, and get back a full fundamental and technical snapshot per ticker — not just the overview row.

⚡ Fast~12s for 200 stocks. Most runs finish before you switch tabs.
📊 Deep62 fields from 6 merged FinViz views, plus 30 optional analyst/valuation fields.
🎯 26 signals9 market screens + 17 chart-pattern scans, all verified to return live data.
📋 Or your own listSkip the screener entirely and pass a watchlist of tickers.
✅ CompleteEvery row is validated before it ships — no half-filled records, no silent gaps.
🔓 No credentialsNothing to sign up for. Point it at a screener and run.

What data does it extract?

Core: ticker, company, sector, industry, country, marketCap, price, changePercent, volume

Valuation: pe, forwardPe, peg, ps, pb, pc, pfcf, epsThisY, epsNextY, epsPast5Y, epsNext5Y, salesPast5Y

Financial: dividend, roa, roe, roic, currentRatio, quickRatio, debtEq, ltDebtEq, grossMargin, operMargin, profitMargin, earningsDate

Technical: beta, atr, sma20, sma50, sma200, high52w, low52w, rsi, gap

Performance: perfWeek, perfMonth, perfQuarter, perfHalf, perfYtd, perfYear, perf3Y, perf5Y, perf10Y, volatilityWeek, volatilityMonth, avgVolume, relVolume

Ownership: sharesOutstanding, float, insiderOwn, instOwn, shortFloat, shortRatio

Each stock is merged across FinViz's Overview, Valuation, Financial, Technical, Performance and Ownership views into a single rich record.

Optional: analyst ratings & company data

Turn on Add analyst ratings & company data to append 30 more fields per stock that no screener table exposes:

Analyst coverage: analystRecom (1=Buy … 5=Sell), analystRecomLabel, targetPrice, targetUpsidePercent

Company profile: employees, ipoDate, optionable, shortable, indexMembership

Enterprise valuation: enterpriseValue, evEbitda, evSales, bookPerShare, cashPerShare, income, sales

Dividend detail: dividendEst, dividendTtm, dividendExDate, payoutRatio

Earnings detail: epsTtm, epsNextQ, epsQoQ, salesQoQ, epsYoYTtm, salesYoYTtm, earningsSurprisePercent, salesSurprisePercent. The field epsNextYEstimate is present in the output for compatibility but is not currently populated — FinViz publishes next year's EPS growth rate rather than the dollar estimate, and this actor does not compute a figure and present it as a reported one.

Short interest: shortInterest

This adds roughly 0.2s per stock. Leave it off for the fastest runs. ETFs and newly listed tickers legitimately lack some of these (no analyst coverage, no employee count), in which case the field comes back null rather than guessed.


Available screeners

26 signals, all verified to return live results. Combine as many as you like in one run.

Market signals

ScreenerDescription
ta_topgainersStocks with the highest % gain today
ta_toplosersStocks with the highest % loss today
ta_newhighStocks hitting 52-week highs
ta_newlowStocks hitting 52-week lows
ta_mostactiveHighest trading volume stocks
ta_unusualvolumeStocks with unusual volume spikes
ta_mostvolatileMost volatile stocks today
ta_overboughtStocks with RSI > 70
ta_oversoldStocks with RSI < 30

Chart-pattern scans

FinViz's own technical pattern recognition — screen for setups instead of raw movers.

ScreenerPattern
ta_p_channelup / ta_p_channeldown / ta_p_channelAscending, descending or horizontal channel
ta_p_wedgeup / ta_p_wedgedown / ta_p_wedgeRising, falling or symmetrical wedge
ta_p_wedgeresistance / ta_p_wedgesupportAscending / descending triangle
ta_p_doubletop / ta_p_doublebottomDouble top / double bottom reversal
ta_p_multipletop / ta_p_multiplebottomMultiple top / multiple bottom
ta_p_headandshoulders / ta_p_headandshouldersinvHead & shoulders, and its inverse
ta_p_horizontalHorizontal support / resistance
ta_p_tlresistance / ta_p_tlsupportTrendline resistance / support

Who uses this, and for what

WhoWhat they run it for
📈 Day tradersCatch top movers and unusual volume before the close
🔄 Swing tradersFind overbought/oversold setups for entries and exits
🤖 Algo & bot buildersFeed live fundamentals and technicals into systematic strategies
🧮 Quant researchersPull value/momentum/quality factors across a screened universe
📰 Newsletters & finance mediaGenerate screened tables for daily market commentary
💼 Portfolio managersWatch holdings hitting 52-week highs, lows or analyst target changes
🎓 Students & educatorsBuild coursework datasets without paying for a market-data API

Quick start — copy an input and run

Today's biggest movers (fastest, good first run)

{ "screeners": ["ta_topgainers"], "maxResults": 50 }

Undervalued large-cap tech, with analyst targets

{
"screeners": ["ta_mostactive"],
"sector": "technology",
"marketCap": "large",
"includeQuoteData": true,
"maxResults": 100
}

Oversold S&P 500 names (mean-reversion candidates)

{ "screeners": ["ta_oversold"], "index": "sp500", "maxResults": 50 }

Breakout setups by chart pattern (ascending triangles and upward channels)

{ "screeners": ["ta_p_wedgeresistance", "ta_p_channelup"], "maxResults": 50 }

Your own watchlist — skip the screener and name the tickers

{ "tickers": ["AAPL", "MSFT", "NVDA", "TSLA"], "includeQuoteData": true }

AI-theme stocks — any FinViz filter code works via customFilters

{ "screeners": ["ta_mostactive"], "customFilters": "thm_artificial-intelligence" }

Run it every morning

A screener is most useful on a schedule. Set one up once and the data is waiting for you before the open:

  1. Run the actor once with the input you want.
  2. On the run page, select Actions → Schedule.
  3. Pick a time — most users go with a weekday run shortly before the market opens.

Common setups:

What you wantHow
🌅 Daily movers before the openta_topgainers + ta_toplosers, scheduled on weekdays
👀 Your portfolio, every morningwatchlist mode with your tickers + Add analyst ratings on
📉 Oversold watchta_oversold, filtered by sector or market cap
🔔 Pattern scansany of the 17 chart-pattern screeners, weekly

Each run writes to its own dataset, so you build a history you can compare over time, and you can pull any run straight from the API.

How to use

  1. Open the actor and configure:
    • Screeners: Select one or more technical screener filters (top gainers, oversold, etc.)
    • Max results: Cap the number of stocks per screener
    • Sector / Industry / Market Cap / Country / Index (optional): narrow the universe before screening
    • Custom FinViz filters (advanced, optional): paste any raw FinViz filter code — e.g. thm_artificial-intelligence to screen by Theme (AI, EV, Crypto, Cloud, etc.), or an_recom_buy for analyst recommendation. Combines with the filters above.
  2. Click Start
  3. Download results as JSON, CSV, or Excel

Input filters reference

FieldTypeExampleNotes
screenersarray["ta_topgainers"]One or more technical screener signals
tickersarray["AAPL","MSFT"]Watchlist mode — fetch these exact symbols and ignore the screener/filters
maxResultsinteger100Max stocks per screener
sectorselecttechnology11 FinViz sectors
industrytextsemiconductorsAny FinViz industry slug
marketCapselectlargemega / large / mid / small / micro / nano
countryselectusausa / notusa
indexselectsp500sp500 / ndx / dji / rut
customFilterstextthm_artificial-intelligenceAdvanced — any raw FinViz filter code(s), comma-separated
includeQuoteDatabooleanfalseAppend 30 analyst/company/valuation fields (adds ~0.2s per stock)

Agent-ready via x402: AI agents can run this actor directly with USDC on Base — no Apify account needed. See x402 protocol docs.


Example output (JSON)

{
"screener": "ta_topgainers",
"ticker": "AAPL",
"company": "Apple Inc",
"sector": "Technology",
"industry": "Consumer Electronics",
"country": "USA",
"marketCap": "3.12T",
"price": 185.42,
"changePercent": 5.21,
"volume": 52341800,
"pe": 32.5,
"forwardPe": 28.1,
"peg": 2.4,
"ps": 8.2,
"pb": 45.3,
"roe": "147.40%",
"profitMargin": "25.30%",
"debtEq": 1.95,
"beta": 1.29,
"rsi": 58.4,
"sma200": "12.30%",
"perfYear": "40.20%",
"perfYtd": "18.30%",
"instOwn": "60.50%",
"shortFloat": "0.65%",
"url": "https://finviz.com/quote.ashx?t=AAPL",
"extractedAt": "2026-06-11T12:00:00.000Z"
}

Performance

maxResultsTypical time
≤20a few seconds
21-100~15s
101-200~30s
201-500~75s

Each page of 20 stocks is fetched across all 6 FinViz views, so time grows roughly linearly with maxResults. Stay at 200 or below for the fastest runs. Turning on includeQuoteData adds about 0.2s per stock on top.

Times vary run to run depending on live site conditions. Every result you receive is complete and validated — no partial or silently-missing fields.


Pricing

Pay-per-event: $10.00 per 1,000 results ($0.01 per stock extracted) + $0.00005 per Actor start. Extracting 100 stocks costs approximately $1.00 USD.



FAQ

Do I need a FinViz account or API key? No. This actor extracts publicly available screener data — no login, subscription, or API key required.

Which screeners can I scrape? Nine technical screeners: top gainers, top losers, new highs, new lows, most active, unusual volume, most volatile, overbought (RSI > 70) and oversold (RSI < 30). Select one or more per run.

How fresh is the data? It reflects FinViz at the moment of the run — effectively real-time intraday market data.

Can I extract more than 100 stocks? Yes. Set Max results per screener up to 200 (FinViz's own cap per screener). No FinViz Elite account needed.

Do I need proxies? Apify datacenter proxies work for FinViz out of the box. The actor also adapts its proxy strategy automatically (see changelog), so you rarely need to touch proxy settings.

What export formats are available? JSON, CSV, and Excel — download from the run's dataset or pull via the Apify API.


Keywords

finviz stock screener, stock market scraper, top gainers losers, unusual volume stocks, stock screener data, day trading scanner, market movers, NYSE NASDAQ stocks, overbought oversold stocks, finviz scraper


This actor extracts publicly available commercial data only from FinViz (finviz.com), in compliance with Chilean Law 19.628 on the Protection of Private Life (Ley 19.628 sobre Protección de la Vida Privada).

This actor only accesses screener URLs explicitly permitted in FinViz's robots.txt file (ta_topgainers, ta_toplosers, ta_newhigh, ta_newlow, ta_mostactive, ta_unusualvolume, ta_mostvolatile, ta_overbought, ta_oversold).

What this actor does NOT collect:

  • Names or personal data of any individuals
  • User accounts, portfolios, or private information
  • Any data that could identify or profile a private person

What this actor collects:

  • Stock tickers, company names, and market data (public commercial data)
  • Sector, industry, and country classifications
  • Publicly visible price, volume, and percentage changes

The data extracted is identical to what any visitor can freely view on the FinViz website. Users are solely responsible for ensuring their use of this data complies with applicable laws and FinViz's terms of service.


Changelog

  • v1.6 (2026-10-06) — Analyst and company data now arrives on every stock, and far faster. With Add analyst ratings & company data turned on, a 200-stock request previously returned those extra fields for only part of the list on a bad run; it now covers the whole list and takes about a quarter as long. A full 500-result request with the extra data finished in 73 seconds in testing, down from 241. Dates and the dividend fields keep exactly the format earlier versions published. One field, epsNextYEstimate, is no longer populated — see Earnings detail above for why.
  • v1.5 (2026-10-05) — Complete screener data on large requests, and faster. Requests for several hundred results now return every screener field for every stock — previously a handful of rows could come back missing their valuation, financial, performance or ownership figures. The largest requests also finish in roughly half the time. No change to pricing or to the fields you get.
  • v1.4 (2026-08-18) — Analyst coverage and company data, plus watchlist mode. Turn on Add analyst ratings & company data to append 30 fields no screener table carries: analyst consensus and mean target price, enterprise value and EV/EBITDA, employees, IPO date, short interest, earnings-surprise history and the full dividend block — up to 92 fields per stock. You can also skip the screener entirely and pass your own list of tickers. Screener presets went from 9 to 26, adding 17 chart-pattern scans (channels, wedges, triangles, double tops and bottoms, head & shoulders, trendlines).
  • v1.3 (2026-07-09) — Reliability + speed improvements: fixed an issue where requests for more than ~20 results could return fewer items than requested. Larger requests (100+ results) are now both significantly faster and guaranteed complete.
  • v1.2 (2026-07-09) — New pre-filters: narrow the universe by Sector, Industry, Market Cap, Country, or Theme (Artificial Intelligence, Cloud Computing, Electric Vehicles, Cybersecurity, Robotics, Semiconductors — a filter no other FinViz actor offers) before running a screener — plus an advanced "Custom FinViz filters" field to use any FinViz filter code directly. Same ~60-field output, same price.
  • v1.1 (2026-06-11) — Much richer data: each stock now includes ~50 fields — valuation ratios (Forward P/E, PEG, P/S, P/B), financial fundamentals (ROE, ROA, margins, debt), technicals (Beta, RSI, SMA20/50/200), performance (week → year) and ownership (institutional, insider, short float) — merged from FinViz's six screener views into one record, at the same low price.
  • v1.0.20 (2026-06-01) — Adaptive proxy intelligence: the scraper now learns the best proxy and pacing strategy per domain across runs for higher reliability, at no extra cost to you.
  • v1.0.18 (2026-05-26) — Added a data-quality report at the end of each run; code cleanup and faster item counting.
  • v1.0 — Initial release: 9 technical screeners, real-time market data, JSON/CSV/Excel export.