Finviz Screener Scraper — US Stocks by Preset or Filter URL avatar

Finviz Screener Scraper — US Stocks by Preset or Filter URL

Pricing

from $33.50 / 1,000 ticker records

Go to Apify Store
Finviz Screener Scraper — US Stocks by Preset or Filter URL

Finviz Screener Scraper — US Stocks by Preset or Filter URL

Finviz screener results as an API: pick a preset (top gainers, most active, oversold, high dividend…) or paste your own Finviz filter URL; get a row per ticker with sector, market cap, P/E, price, change, volume. Not advice. Part of NexGen Signal — data tools and official-source data products

Pricing

from $33.50 / 1,000 ticker records

Rating

0.0

(0)

Developer

NexGen Signal

NexGen Signal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Share

Turn any Finviz stock screen into rows you can use in code. Choose a preset — top gainers, top losers, most active, unusual volume, new highs, new lows, oversold, overbought, large or small caps, undervalued large caps, high dividend, growth — or paste the URL of a screen you built on finviz.com, and get one record per matching ticker: symbol, company, sector, industry, country, market cap, P/E, price, change and volume.

Pay per ticker. No API key. Schedule it daily to log a screen over time, feed a watchlist, or let an AI agent run screens on demand. Data as Finviz shows it; not investment advice.

What this is, in one paragraph

Finviz's screener is the fastest way to filter the US market, but its output lives in an HTML page, not an API. This actor drives that screener from code: it takes a preset or any Finviz screener link, pages through the results (twenty tickers a page), parses each row into a typed record, and delivers it. The upgrade over a plain scraper is reliability — every page fetch runs through a rotating-session retry, up to four attempts, each on a fresh proxy session, so a single blocked request doesn't sink the run. Market-cap and volume are parsed into real numbers (market_cap_usd, volume) alongside the raw display strings, so you can sort and filter without post-processing. Data comes solely from the Finviz public screener — there is no Yahoo Finance dependency anywhere in this actor.

Who buys this and for what job

  • Quant and retail traders pulling a screen — top gainers, unusual volume, oversold large-caps — into a spreadsheet or model on a schedule.
  • Fintech builders who need a keyless screener endpoint they can call from an app without maintaining a scraper.
  • Analysts and researchers snapshotting a market segment (a sector, a market-cap band) into structured rows.
  • AI agents that need current US-market screening as a tool call, returning clean JSON.

The upgrade: reliability

A screener scrape is only useful if it runs every day. Each page is fetched with up to four tries (waiting longer after each refusal or server error), robots.txt is read first and honoured, and the rows are read from the data Finviz embeds in the page rather than from its visual layout, so a redesign of the table does not break the run. If Finviz cannot be reached at all, the run ends with a clear message and nothing is charged.

Sample output

Sample output — US Stock Screener API — Finviz Market Data

Real rows from a live run of this actor (first 5 rows, selected columns).

One full record from the same run, exactly as delivered:

{
"record_id": "A",
"ticker": "A",
"company": "Agilent Technologies Inc",
"sector": "Healthcare",
"industry": "Diagnostics & Research",
"country": "USA",
"market_cap": "48.23B",
"market_cap_usd": 48230000000,
"pe": "33.68",
"price": 171.08,
"change_pct": "-1.02%",
"volume": 1084529,
"source": "Finviz public screener (finviz.com)",
"source_url": "https://finviz.com/screener/stocks",
"licence": "US equity screener data read from Finviz's public screener pages (finviz.com). Public market data as displayed; reformatted to per-ticker records, values unmodified. Not investment advice.",
"attribution": "Source: Finviz public screener (finviz.com).",
"disclaimer": "Per-ticker screener values as displayed on Finviz's public screener at fetch time. Point-in-time market data, not investment advice and not a recommendation. Verify against the exchange or your broker before relying on it. Data is sourced solely from the Finviz public screener.",
"observed_at": "2026-09-25T17:28:22Z"
}

Pricing

EventFree planBronzeSilverGold / Platinum / Diamond
apify-actor-start$0.00005$0.00005$0.00005$0.00005
apify-default-dataset-item$0.05$0.045$0.04$0.0335

A negligible start fee plus one item charge per ticker delivered. Delivered before charged; a run that returns nothing costs only the start fee.

Input

FieldTypeDefaultDescription
presetstring—A screener preset (see list below). Ignored if screenerUrl is set.
screenerUrlstringlarge-cap overviewAny Finviz screener link (screener.ashx?… or screener/stocks?…); its filters, signal and order are kept. Used when no preset is chosen.
maxResultsinteger50Maximum tickers delivered (1–5000).
proxyConfigurationobjectoffOptional proxy; off by default because Finviz answers direct requests.

Presets: large_cap, mega_cap, small_cap, top_gainers, top_losers, most_active, new_high, new_low, oversold, overbought, unusual_volume, undervalued_large, high_dividend, growth. Or build any screen in Finviz, copy the URL, and pass it as screenerUrl.

Output

One JSON object per ticker. Real example (values as displayed):

{
"record_id": "AAPL",
"ticker": "AAPL",
"company": "Apple Inc",
"sector": "Technology",
"industry": "Consumer Electronics",
"country": "USA",
"market_cap": "4508.14B",
"market_cap_usd": 4508140000000.0,
"pe": "35.41",
"price": 308.90,
"change_pct": "-0.46%",
"volume": 16752184.0,
"source": "Finviz public screener (finviz.com)",
"observed_at": "2026-08-25T00:00:00Z"
}

An unbilled RUN_RECEIPT records the screener URL, how many rows were delivered, and any partial-run note.

Field reference

Each record carries record_id and ticker (the symbol), company, sector, industry, country, market_cap (display string) and market_cap_usd (parsed number), pe, price (number), change_pct (display string), and volume (number). Provenance travels on every record: source, source_url, licence, attribution, disclaimer, and observed_at.

How a run works

The actor resolves your preset or screenerUrl to a Finviz Overview screen at finviz.com/screener/stocks, then pages through it: &r=1, &r=21, &r=41, twenty tickers a page, until it reaches your maxResults ceiling or runs out of rows. Each page is read with the fleet's own user agent, directly (no proxy unless you turn one on).

Working with the data

Because market_cap_usd and volume are real numbers, you can sort or threshold directly — "large-caps under a 20 P/E with volume over ten million" — without cleaning display strings first. The ticker is the join key into any position, watchlist, or fundamentals table you keep. Run a preset on a schedule to capture the day's gainers or unusual-volume names into your own store, or pass a saved Finviz URL to reproduce a custom screen exactly. Feed the output straight into a model, a Google Sheet, or an agent's reasoning step.

Honest limitations

  • As displayed. Values are the Finviz screener's displayed figures at fetch time — point-in-time market data, not investment advice and not a recommendation. Verify against the exchange or your broker before relying on it.
  • Overview columns. This actor reads the v=111 Overview view; other Finviz custom views are not parsed.
  • Finviz-only. Data is sourced solely from the Finviz public screener; there is no Yahoo Finance dependency in this actor.
  • No person data. Only public per-ticker market data is read and emitted.

Presets in depth

The presets cover the screens traders reach for most. top_gainers, top_losers, most_active, and unusual_volume map to Finviz signal screens for the day's movers. new_high and new_low surface stocks at 52-week extremes. oversold and overbought map to RSI signals for mean-reversion setups. large_cap, mega_cap, and small_cap bound the screen by market-cap band. undervalued_large combines large-cap with a sub-20 P/E, high_dividend filters for high yield, and growth filters mid-and-up caps with strong EPS growth. When a preset isn't enough, build the exact screen in Finviz's own UI — any combination of descriptive, fundamental, and technical filters — copy the resulting screener.ashx?v=111&... URL, and pass it as screenerUrl; the actor pages and parses it identically.

Use with AI agents

Because the output is flat, typed JSON keyed by ticker, an agent can call this actor as a tool and reason over the result without any parsing step. A prompt like "screen for the most active US stocks today and return the ten largest by market cap" is answerable directly: the agent runs the most_active preset, sorts by market_cap_usd, and reads off the tickers. The negligible start fee and per-ticker pricing make it cheap to call repeatedly inside an agent loop or a scheduled workflow.

Scheduling and watch use

Point a schedule at a preset to capture a daily snapshot — the day's gainers, or every stock hitting a new high — into your own store, building a time series the Finviz UI doesn't keep. Because each run is bounded by maxResults and priced per delivered ticker, the cost of a recurring screen is predictable and small.

Differentiation

A US stock screener API built on the Finviz public screener, with a four-try fetch on every page, a robots.txt check before each request, and one-word screener presets as inputs. Keyless, pay-per-ticker, callable from code or an AI agent, Finviz-only.


Source: Finviz public screener (finviz.com). Public market data as displayed; reformatted to per-ticker records, values unmodified. Not investment advice. No person data.