Finviz Stock Screener Scraper
Pricing
from $18.75 / 1,000 result items
Finviz Stock Screener Scraper
Screen 11,000+ US-listed stocks on Finviz with 30+ signal presets and 9 filter dimensions. Enriches each ticker with 70+ fundamental and technical fields. No API key required.
Pricing
from $18.75 / 1,000 result items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

📈 Finviz Stock Screener Scraper
🚀 Screen 11,000+ US-listed stocks and ETFs in seconds. Filter by signal, sector, market cap, and 30+ technical or fundamental knobs, then pull 80+ data points per ticker. No API key, no login, no manual CSV wrangling.
🕒 Last updated: 2026-05-17 · 📊 85 fields per record · 11,138 tickers in the universe · 33 signal presets · 152 industries · 62 countries
Finviz is the visual screener traders open every morning. It crunches price action, fundamentals, ownership, analyst recommendations, and chart patterns into one searchable grid covering essentially every stock and ETF listed on NASDAQ, NYSE, AMEX, and CBOE. The site exposes filters that span valuation (P/E, PEG, P/B, P/S, EV/EBITDA), profitability (ROE, ROA, margins), growth (EPS and sales Y/Y, quarter-over-quarter), technicals (SMA, RSI, ATR, beta, chart patterns), ownership (insider, institutional, short interest), and event-driven signals (earnings dates, upgrades, downgrades, unusual volume). Pulling all of that data into a spreadsheet, watchlist, or quant pipeline normally means glueing together a CSV export tool, a paid API, and a handful of manual lookups.
This scraper does the glue. Hand it a signal preset like Top Gainers or Recent Insider Buying, narrow with sector and market cap filters, or just feed it a list of tickers. It returns clean JSON with 85 fields per row, merging the screener result with the dedicated quote page so you also get target prices, analyst ratings, dividend history, earnings dates, 52-week range distance, and full technical context. Built on the same fast Bun + fetch stack we use for our other markets actors, with retries and Apify residential proxy support baked in.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| 📈 Retail traders building rule-based watchlists | Find the next breakout: top gainers, unusual volume, new highs |
| 🧮 Quantitative analysts and backtesters | Pull factor data (value, momentum, quality) for thousands of tickers |
| 🏦 Hedge fund research desks tracking flows | Track insider transactions and institutional ownership changes daily |
| 🤖 Trading bot and signal app builders | Feed live fundamentals and technicals into systematic strategies |
| 📰 Financial bloggers, newsletters, podcasts | Pull screened tables for daily market commentary and content |
| 🧑🎓 Students and finance educators | Build coursework datasets covering the full US equity universe |
📋 What the Finviz Stock Screener Scraper does
- 📡 One unified screen. Combine signal presets, sector, industry, country, market cap, exchange, and index filters, plus raw Finviz filter expressions for advanced screens.
- 📊 80+ fields per ticker. Pulls Overview screener row, then enriches with the dedicated quote page for fundamentals, technicals, ownership, analyst, and dividend data.
- 🔍 Signal presets in one click. 33 built-in scans including Top Gainers, Top Losers, Most Active, Unusual Volume, Overbought, Oversold, Recent Insider Buying, Earnings Before / After Hours, and 16 chart patterns.
- 🚀 Whole-universe coverage. Walks pagination across the full 11,138-stock Finviz universe so a single run can sweep up to 1M records.
- 💾 Stable output schema. Same 85 columns whether you screen one ticker or ten thousand, so it drops straight into your warehouse or notebook.
- 🛰️ Residential proxies, retries, jitter. Apify residential US proxy by default with exponential back-off so longer runs do not stall.
Each record covers the ticker, company name, sector, industry, country, exchange, market cap (string and numeric), price, daily change, volume, valuation ratios (P/E, forward P/E, PEG, P/S, P/B, P/C, P/FCF, EV/EBITDA, EV/Sales), growth (EPS this year, next 5Y, past 3/5Y, Q/Q, Y/Y; same for sales), profitability (gross / operating / profit margin, ROA, ROE, ROI), balance sheet (current ratio, quick ratio, debt/equity, LT debt/equity, book/sh, cash/sh), ownership (insider, institutional, short float, short ratio), analysts (target price, recommendation 1-5), technicals (SMA20, SMA50, SMA200, RSI, beta, ATR, volatility, 52W high/low distance), performance (week, month, quarter, half-year, year, YTD), dividends (yield, payout ratio), and event data (earnings date, IPO date, index membership).
💡 Why it matters: Yahoo Finance is great for prices, but the analytical framework, the screening grid, the chart pattern detection, the insider transaction feed, all of that lives on Finviz. Pulling it programmatically lets you stop watching the morning grid and start automating against it.
🎬 Full Demo
🚧 Coming soon: a 3-minute walkthrough showing how to run a signal preset, refine with sector filters, and pipe the JSON into a spreadsheet or trading bot.
⚙️ Input
| Field | Type | Required | Description |
|---|---|---|---|
| tickers | array of strings | No | Restrict the screen to a specific list (e.g. AAPL, NVDA). Leave empty to scan the full universe. |
| signal | enum | No | One of 33 Finviz signal presets: Top Gainers, Top Losers, Most Active, Unusual Volume, Overbought, Oversold, Recent Insider Buying, Major News, Wedge Up, and many more. |
| exchange | enum | No | AMEX, CBOE, NASDAQ, NYSE. |
| index | enum | No | S&P 500, NDX, DJIA, Russell 2000 constituents only. |
| sector | enum | No | One of 11 GICS-style sectors (Technology, Healthcare, Financial, Energy, etc.). |
| industry | enum | No | One of 152 industries, plus shortcuts for Stocks Only or Stocks Only excluding Funds & Shell Companies. |
| country | enum | No | One of 62 countries of headquarters (USA, China, UK, Canada, etc.). |
| marketCap | enum | No | Mega, Large, Mid, Small, Micro, Nano, or combined buckets like Large+ or Small-. |
| customFilters | string | No | Advanced: raw Finviz filter expression to append (e.g. fa_pe_low20,ta_sma200_pa). |
| sortBy | enum | No | Column used to order results (market cap, P/E, change, volume, RSI, etc.). |
| sortDirection | enum | No | Ascending or descending. Defaults to descending. |
| enrich | boolean | No | Pull the dedicated quote page for each ticker to merge 70+ extra fields. On by default. |
| maxItems | integer | No | Free plan: 10. Paid plan: up to 1,000,000. |
Example: pull today's top 25 gainers across all US exchanges with full enrichment.
{"signal": "ta_topgainers","maxItems": 25,"enrich": true}
Example: scan Technology mega-caps in the S&P 500, sorted by P/E ascending.
{"index": "sp500","sector": "technology","marketCap": "large","sortBy": "pe","sortDirection": "asc","maxItems": 50,"enrich": true}
⚠️ Good to Know: Some fields (P/E, dividend yield, payout ratio) come back null for unprofitable companies, ETFs, or recent IPOs. That mirrors the source. Set
enrich: falseif you only need the screener row and want to save one HTTP request per ticker.
📊 Output
Each record is a flat JSON object with one ticker per row. The schema is stable regardless of which filters you apply.
🧾 Schema
| Field | Type | Example |
|---|---|---|
| 🏷️ ticker | string | AAPL |
| 🏢 company | string | Apple Inc |
| 🗂️ sector | string | Technology |
| 🏭 industry | string | Consumer Electronics |
| 🌍 country | string | USA |
| 🏛️ exchange | string | NASD |
| 💰 marketCap | string | 4409.59B |
| 🔢 marketCapValue | number | 4409590000000 |
| 💲 price | number | 300.23 |
| 📈 changePercent | number | 0.68 |
| 📊 volume | number | 54669886 |
| 🔁 relativeVolume | number | 1.25 |
| 📐 pe / forwardPe / peg | number | 36.32 / 31.31 / 2.57 |
| 📏 ps / pb / pc / pfcf | number | 9.77 / 41.35 / 64.37 / 34.14 |
| 🏦 evEbitda / evSales | number | 27.67 / 9.80 |
| 💵 dividendYield / payoutRatio | number | 0.35 / 13.66 |
| 💹 eps / epsNextY / epsNextQ | number | 8.27 / 9.59 / 1.88 |
| 📈 epsYoyTtm / salesYoyTtm | number | 28.91 / 12.76 |
| 🧮 grossMargin / operMargin / profitMargin | number | 47.86 / 32.64 / 27.15 |
| 🏆 roa / roe / roi | number | 34.91 / 141.47 / 67.76 |
| ⚖️ currentRatio / quickRatio | number | 1.07 / 1.02 |
| 🔻 debtEq / ltDebtEq | number | 0.80 / 0.70 |
| 👥 insiderOwn / instOwn | number | 0.12 / 66.02 |
| 🔄 insiderTrans / instTrans | number | -1.93 / 0.53 |
| 🩳 shortFloat / shortRatio | number | 0.92 / 3.09 |
| 🎯 targetPrice / recommendation | number | 312.56 / 1.92 |
| 📉 sma20 / sma50 / sma200 | number | 6.64 / 12.79 / 15.86 |
| 🌡️ rsi / beta / atr | number | 75.66 / 1.07 / 6.24 |
| 📅 perfWeek / perfMonth / perfYear / perfYTD | number | 2.36 / 13.98 / 41.99 / 10.44 |
| 📆 earningsDate / ipoDate | string | Apr 30 AMC / Dec 12, 1980 |
| 🏷️ indexMembership | string | DJIA, NDX, S&P 500 |
| 🔗 url | string | https://finviz.com/quote.ashx?t=AAPL |
| ⏱️ scrapedAt | string | 2026-05-17T14:46:28.244Z |
📦 Sample records
✨ Why choose this Actor
| Capability | |
|---|---|
| 🧠 | Single unified schema. Same 85 columns whether you screen one ticker or the entire 11K universe. No special cases per screen. |
| 🛰️ | Apify residential proxy by default. Set up automatically inside the actor. Cleaner runs and rotates around rate limits. |
| 🚦 | 33 signal presets ready to use. Same scans that Finviz Elite users pay for, callable by enum value in one input field. |
| 🧮 | Quote-page enrichment baked in. 70+ fundamentals beyond what the screener row alone returns, including target price and analyst rating. |
| 🔁 | Robust pagination. Walks r= offsets up to 11,121 with backoff so the actor finishes even on the largest screens. |
| 📤 | Drop-in CSV, JSON, Excel. Apify dataset exports straight to spreadsheets, databases, or webhooks. |
| 💸 | No subscription, no API key. Finviz Elite is paid for the export feature. This actor pulls the same public data without that cost. |
📊 The full Finviz universe is 11,138 stocks as of the last run, refreshed nightly upstream.
📈 How it compares to alternatives
| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| ⭐ Finviz Stock Screener Scraper (this Actor) | Apify usage only | 11,138 US tickers | Live | 33 signals + 9 dropdowns + raw | One-click run |
| Official paid screeners | $25-100+ / month | Varies, usually deep | Live | Strong | Account, login, billing |
| Free brokerage tools | Free with account | Limited to their universe | Live | Basic | Account, KYC |
| Paid market-data APIs | $50-500+ / month | Excellent but raw | Live | None, you build the screen | API key, schema mapping |
| Manual CSV scrape | Free, brittle | Whatever you copy-paste | Snapshot | None | Spreadsheet labor |
The actor delivers the same screening grid as paid alternatives, with no ongoing subscription.
🚀 How to use
- ▶️ Click Try for free. It opens the actor on Apify; you can sign up with Apify in seconds, no credit card required.
- ⚙️ Pick a signal or filters. Choose a preset like Top Gainers, or combine sector, market cap, and country dropdowns. Optionally pin specific tickers.
- 🔢 Set Max items. Free runs return up to 10 records; paid runs go up to 1,000,000.
- 🚀 Press Start. The actor handles pagination, proxies, retries, and per-ticker enrichment.
- 📤 Export. Download the dataset as JSON, CSV, Excel, or pull it via the Apify API into your own pipeline.
⏱️ Total time: under 2 minutes from sign-up to first dataset.
💼 Business use cases
🌟 Beyond business use cases
Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
🔌 Automating Finviz Stock Screener Scraper
Run the actor from any script or backend. Pull the dataset on a schedule, route alerts to Slack, push to BigQuery, or chain it into a downstream model.
- 🟦 Node.js / TypeScript client for typed Apify SDK access
- 🐍 Python client for notebooks and data science work
- 📚 Apify API docs for raw REST integration
Use Apify Schedules to run the screener every market open, every hour, or every Sunday night. Combine with webhooks to push fresh signals into your inbox, your Slack channel, or your trading platform.
❓ Frequently Asked Questions
🔌 Integrate with any app
- Zapier - trigger an Apify run from any Zapier event and route the dataset onward
- Make - drag-and-drop scenarios that mix Apify with Slack, Notion, Sheets, and more
- Slack - push run alerts and dataset summaries straight to a channel
- Google Sheets - sync each run's dataset into a live spreadsheet
- Airbyte - stream Apify datasets into Snowflake, BigQuery, Redshift, or Postgres
- Webhooks - call any HTTP endpoint when a run finishes
🔗 Recommended Actors
- 📊 FRED Economic Data Scraper - pull macro indicators from the St Louis Fed FRED database; perfect partner for top-down macro context
- 🏛️ SEC Form D Scraper - track private placements and Regulation D filings to spot pre-IPO activity
- 🕵️ FINRA BrokerCheck Scraper - background check brokers and registered investment advisors
- ⚖️ Business Bankruptcy Filings Scraper - distressed equity and credit watchlist source
- 🗳️ FEC Campaign Finance Contributions Scraper - track political donations for thematic and event-driven plays
💡 Pro Tip: browse the complete ParseForge collection for more scrapers covering markets, public records, and beyond.
🆘 Need Help? Open our contact form and we will get back within a business day.
⚠️ Disclaimer: This actor scrapes only public Finviz pages for personal, research, and business intelligence use. Always check Finviz's terms of service before redistributing data. Nothing here is investment advice; double-check anything you trade on against the source.