ParseForge Scrapers

Finviz Stock Screener Scraper

parseforge/finviz-scraper

Business

Scrapes Finviz stock screener results by ticker, signal, or any filter combination. Returns each stock as a flat row with price, valuation, fundamentals, technicals, and ownership data. Optional enrichment adds 70+ fields per ticker.

Run this scraper See the API call
Total users
37
Monthly active
11
Total runs
252
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Finviz Stock Screener Scraper

Scrape Finviz stock screener results for any filter combination, up to a million rows per run. Each stock comes with its price, valuation, fundamentals, technicals, and ownership data. No login or API key. Export to CSV, JSON, Excel, or XML.

Finviz's stock screener is the fastest way to scan the US market, but the website limits you to 20 rows per page and manual exports. This Actor reads the public screener directly, applies your filters, and returns every match in one flat dataset. You can screen by ticker, exchange, index, sector, industry, country, market cap, or any raw Finviz filter expression.

Who uses it What they scrape Finviz for
Quantitative analysts Building a daily universe of stocks that meet strict fundamental and technical criteria
Retail traders Finding stocks with unusual volume, insider buying, or earnings catalysts before the open
Financial data engineers Feeding a clean, structured dataset of US equities into a pipeline or model
Portfolio managers Screening for value, growth, or dividend candidates across the entire market

What it does

This Actor collects Finviz stock screener results for any filter combination and returns each stock as a flat row with price, valuation, fundamentals, technicals, and ownership data.

  • ๐Ÿ“Š Computed signals: apply Finviz built-in presets like Top Gainers, Oversold, or Recent Insider Buying in one click.
  • ๐Ÿ” Granular filters: combine exchange, index, sector, industry, country, and market cap with raw Finviz expressions.
  • ๐Ÿ“ˆ Full quote enrichment: optionally fetch each ticker's dedicated quote page and merge 70+ extra fundamentals, technicals, ownership, and analyst fields.
  • ๐Ÿ—‚๏ธ Flexible output: sort by any column, cap the number of rows, and export to CSV, JSON, Excel, or XML.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Finviz data

๐Ÿ“ˆ Build a daily momentum watchlist.

A retail trader runs the Actor each morning with the Top Gainers preset and Relative Volume sort to see which stocks are breaking out before the open.

๐Ÿ”Ž Screen for undervalued dividend payers.

A portfolio manager filters for large-cap stocks with a dividend yield above 3% and a P/E below 15, then exports the list to CSV for further analysis.

๐Ÿงช Backtest a quantitative strategy.

A quant analyst pulls the full S&P 500 with 70+ enriched fields every day and feeds the dataset into a backtesting engine to validate a factor model.

๐Ÿ“Š Monitor insider activity.

A financial data engineer schedules the Actor to collect stocks with Recent Insider Buying and merges the results into a company-wide dashboard.

Why choose this scraper

What you get
No Finviz API key Reads the public screener directly, no registration or rate limits
Full market coverage Scan all 11,000+ US-listed stocks, not the first page
70+ fields per stock Price, valuation, fundamentals, technicals, ownership, and analyst data
One-click presets Top Gainers, Oversold, Insider Buying, Earnings Tonight, and 30+ more

How it compares

This Actor competes directly with the two other Finviz scrapers on Apify. It offers the same core screener data but adds one-click signal presets, full market coverage, and optional per-ticker enrichment with 70+ extra fields.

Feature ParseForge FinViz Stock Screener Finviz Stock Screener - US Market Data API
One-click signal presets (Top Gainers, Oversold, Insider Buying, etc.) Yes, 30+ built-in presets Not listed Not listed
Full market coverage (11,000+ stocks) Yes, up to 1,000,000 rows per run Not listed Not listed
Optional enrichment with 70+ extra fields per ticker Yes, fetches dedicated quote page Not listed Not listed
Raw Finviz filter expression support Yes, custom raw filters field Not listed Not listed
Sort by any screener column Yes, 40+ sort options Not listed Not listed
Export to CSV, JSON, Excel, XML Yes Not listed Not listed

Configure the run

Drive the Actor from tickers, signal presets, and any combination of exchange, index, sector, industry, country, market cap, or raw Finviz filters. Filters run as the screener is read, so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "tickers": [
 "AAPL",
 "MSFT",
 "NVDA",
 "TSLA",
 "META"
 ],
 "maxItems": 10
}

A larger pull:

{
 "tickers": [
 "AAPL",
 "MSFT",
 "NVDA",
 "TSLA",
 "META"
 ],
 "maxItems": 200
}

Pricing

Pay-per-result: $0.025 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.50
1,000 results $25.00
10,000 results $250.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Finviz Stock Screener Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Finviz through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/finviz-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Your filters may be too restrictive. Try removing some filters or using a broader signal preset. Also check that your tickers are valid US symbols and that the market cap bucket matches your expectations.

The run is slow when I enable enrichment.

Enrichment fetches one additional page per ticker, so a run with 500 tickers will take longer. Reduce the number of tickers or disable enrichment if you only need the screener columns.

Some tickers are missing from the enriched output.

Finviz may not have a dedicated quote page for every symbol, especially delisted or very new stocks. The Actor skips those and returns the basic screener data for the rest.

My custom raw filter is not working.

Make sure the expression is comma-separated and does not include the leading 'f='. For example, use 'fa_pe_low20,ta_sma200_pa' not 'f=fa_pe_low20,ta_sma200_pa'.

The output has fewer rows than I expected.

Check the 'Maximum stocks' setting. It defaults to 10, so if you want the full screen, set it to a higher number, up to 1,000,000.

FAQ

Question Answer
Does this Actor require a Finviz API key? No. It reads the public Finviz screener directly, so there is no registration, API key, or rate limit to manage.
How many stocks can I scrape in one run? You can collect up to 1,000,000 stocks per run. The Finviz universe is about 11,000 US-listed stocks, so one run can cover the entire market.
Can I use my own Finviz screener URL? This Actor does not accept a screener URL. Instead, you build the equivalent screen with the input fields: tickers, signal preset, exchange, index, sector, industry, country, market cap, and raw custom filters.
What is the difference between the basic and enriched output? The basic output returns the screener's standard columns: ticker, company, sector, industry, country, market cap, price, volume, and key ratios. If you enable 'Enrich with full quote data', the Actor also fetches each ticker's dedicated Finviz quote page and merges 70+ additional fields, including detailed fundamentals, technicals, ownership, and analyst ratings.
Can I filter by technical indicators like RSI or moving averages? Yes. Use the 'Custom raw filters' field to append any Finviz filter expression, such as ta_rsi_oversold or ta_sma200_pa. These are combined with the dropdown filters using AND logic.
How do I sort the results? Use the 'Sort by' dropdown to choose from 40+ columns, including market cap, P/E, RSI, performance, volume, and more. Set the sort direction to ascending or descending.
Can I restrict the screen to a specific list of tickers? Yes. Enter up to about 500 tickers in the 'Tickers' field. The Actor will only return those symbols, with all other filters still applied.
Does this Actor work for non-US stocks? Finviz primarily covers US-listed stocks. You can filter by country of headquarters, but the screener universe is US exchanges (NYSE, NASDAQ, AMEX, CBOE).
What output formats are supported? The Actor exports to CSV, JSON, Excel, and XML. You can also use the Apify API to get the data as JSON directly.
Is the data real-time? Finviz screener data is delayed by up to 15 minutes during market hours. The Actor returns the latest available snapshot at the time of the run.
Can I schedule this Actor to run daily? Yes. Use Apify's scheduler to run the Actor at any interval, such as every morning before market open, and store the results in a dataset or push them to a webhook.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Finviz. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
tickers array Restrict the screen to a specific list of tickers. Up to ~500 symbols. Leave empty to scan the full 11,000+ universe with the filters below. ["AAPL","MSFT","NVDA","TSLA","META"]
maxItems integer How many stocks to collect per run. 10
signal string (34 options) Top gainers, latest insider buys, oversold, earnings tonight, etc. Apply a Finviz built-in scan in one click. not set
exchange string (5 options) Stock exchange. not set
index string (5 options) Only include constituents of a major index. not set
sector string (12 options) GICS-style sector grouping. not set
industry string (152 options) Specific industry. Use Stocks only / Stocks only ex-Funds to exclude ETFs. not set
country string (63 options) Country of company headquarters. not set
marketCap string (15 options) Market capitalization bucket. not set
customFilters string Advanced: raw Finviz filter expression to append, comma separated, without the leading f= (e.g. fa_pe_low20,ta_sma200_pa). Combined AND with the dropdowns above. not set
sortBy string (41 options) Column used to order results. not set
sortDirection string (2 options) Ascending or descending. desc
enrich boolean For each ticker, also fetch the dedicated Finviz quote page and merge 70+ extra fundamentals, technicals, ownership, and analyst fields. Adds one HTTP request per ticker. true

Pricing

from $18.75 per 1,000 results

Charged forWhat it isPrice each
Result Item Single stock record in the default dataset (one ticker with up to 85 fields). $0.01875 to $0.025

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~finviz-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Finviz Stock Screener Scraper on Apify All scrapers