Finviz Stocks Scraper (Fundamentals, Screener, Insider) avatar

Finviz Stocks Scraper (Fundamentals, Screener, Insider)

Pricing

from $11.34 / 1,000 stock records

Go to Apify Store
Finviz Stocks Scraper (Fundamentals, Screener, Insider)

Finviz Stocks Scraper (Fundamentals, Screener, Insider)

Scrape Finviz stock quotes with the full ~70-metric fundamentals snapshot, run the screener with filters, and pull insider trades and news. Get Market Cap, P/E, EPS, margins, ROE, short float and more. Export to JSON, CSV or Excel.

Pricing

from $11.34 / 1,000 stock records

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Finviz Stocks Scraper (Fundamentals, Screener, Insider)

Finviz Stocks Scraper (Fundamentals, Screener, Insider)

Here is one real result, with every field the actor returns in quote mode:

{
"ticker": "AAPL",
"company": "Apple Inc",
"sector": "Technology",
"industry": "Consumer Electronics",
"country": "USA",
"exchange": "NASD",
"marketCapClass": "Mega",
"index": "DJIA, NDX, S&P 500",
"marketCap": 4622120000000,
"enterpriseValue": 4644070000000,
"income": 128930000000,
"sales": 466820000000,
"bookPerShare": 7.36,
"cashPerShare": 4.28,
"dividendPercent": 0.34,
"dividendTtm": 0.33,
"employees": 166000,
"ipoDate": "Dec 12, 1980",
"peRatio": 36.31,
"forwardPe": 33.19,
"pegRatio": 2.64,
"priceToSales": 9.9,
"priceToBook": 43.03,
"priceToCash": 74.07,
"priceToFcf": 33.82,
"evToEbitda": 27.65,
"evToSales": 9.95,
"quickRatio": 0.93,
"currentRatio": 1,
"debtToEquity": 0.78,
"ltDebtToEquity": 0.66,
"epsTtm": 8.72,
"epsNextY": 9.54,
"epsNextQ": 1.98,
"epsThisYGrowth": 18.46,
"epsNextYGrowth": 7.98,
"epsNext5YGrowth": 12.57,
"epsPast5YGrowth": 17.91,
"salesPast5YGrowth": 8.71,
"epsYoYTtm": 32.57,
"salesYoYTtm": 14.24,
"epsQoQ": 29.13,
"salesQoQ": 16.36,
"earningsDate": "Jul 30 AMC",
"insiderOwn": 0.12,
"insiderTrans": -2.23,
"instOwn": 67.84,
"instTrans": 0,
"roa": 36.08,
"roe": 148.75,
"roic": 72.08,
"grossMargin": 48.65,
"operatingMargin": 33.17,
"profitMargin": 27.62,
"payoutRatio": 13.66,
"sma20": 0.29,
"sma50": 2.18,
"sma200": 12.58,
"sharesOutstanding": 14610000000,
"sharesFloat": 14580000000,
"shortFloat": 0.97,
"shortRatio": 2.51,
"shortInterest": 141610000,
"high52w": 344.57,
"high52wPercent": -8.09,
"low52w": 223.78,
"low52wPercent": 41.53,
"atr": 7.25,
"rsi": 53.73,
"beta": 1.08,
"relVolume": 0.04,
"avgVolume": 56330000,
"volume": 126629,
"perfWeek": 3.75,
"perfMonth": -2.82,
"perfQuarter": 4.78,
"perfHalfYear": 21.54,
"perfYear": 40.13,
"perfYtd": 16.5,
"perf3Y": 81.51,
"perf5Y": 113.72,
"perf10Y": 1058.41,
"analystRecom": 2.06,
"targetPrice": 334.23,
"prevClose": 316.83,
"price": 316.71,
"changePercent": -0.04,
"url": "https://finviz.com/quote.ashx?t=AAPL",
"source": "finviz.com",
"observedAt": "2026-08-20T11:26:48.418Z",
"error": null
}

The most complete Finviz stock scraper available. It returns every metric the Finviz snapshot table exposes for each ticker as clean parsed numbers, runs the Finviz screener with friendly filters, and can attach the insider-trading table, latest news headlines and an AI valuation read on demand.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor has two modes.

In quote mode it reads the Finviz quote page for each ticker you pass and returns one record with the full snapshot table parsed into clean numeric fields: valuation (P/E, forward P/E, PEG, P/S, P/B, EV/EBITDA), profitability (ROE, ROA, ROIC, gross, operating and profit margins), balance sheet (debt to equity, current and quick ratios), ownership (insider and institutional), short interest, technicals (RSI, ATR, beta, SMA distances, 52-week high and low), and performance across every window from week to ten years. Company header fields (name, sector, industry, country, exchange, market-cap class) come along with it. Percentages are returned as plain numbers (for example 27.62 for 27.62%) and sizes are expanded to full integers (for example 4622120000000), so no post-processing is needed.

In screener mode it runs the Finviz screener with the filters you set, paginates the full result set, and returns one row per matching stock with ticker, company, sector, industry, country, market cap, P/E, price, change and volume.

Two optional add-ons enrich quote-mode records: an insider-and-news add-on that attaches the insider-trading table and the latest news headlines for the ticker, and an AI summary add-on that adds a valuation read, financial-health note, notable signals and a one-line take built from the fundamentals.

Quickstart

Open the actor, paste this into the input, and press Run. It returns the full fundamentals snapshot for three tickers.

{
"mode": "quote",
"tickers": ["AAPL", "MSFT", "NVDA"],
"maxResults": 10
}

To screen instead of quoting, switch mode and pass filters:

{
"mode": "screener",
"marketCap": "large",
"sector": "Technology",
"maxResults": 50
}

Input reference

FieldTypeRequiredDefaultDescription
modeenumnoquotequote pulls the full fundamentals snapshot per ticker. screener lists stocks matching filters.
tickersstring[]for quote["AAPL","MSFT","NVDA"]Tickers to pull fundamentals for in quote mode, for example AAPL, MSFT, NVDA. One record per ticker.
screenerFiltersstringno(empty)Screener mode. Raw Finviz f= value, for example cap_large,sec_technology,fa_pe_u20. Combined with the friendly filters below.
marketCapenumno(any)Screener friendly filter: mega, large, mid, small, micro, nano, large+, small-.
sectorenumno(any)Screener friendly filter for sector, for example Technology, Healthcare, Energy.
exchangeenumno(any)Screener friendly filter: NASDAQ, NYSE, AMEX.
indexenumno(any)Screener friendly filter: SP500, DJIA, NASDAQ100.
maxResultsintegerno10Maximum stock records to collect across the run. Free Apify plans are capped at 10 per run.
includeInsiderNewsbooleannofalseQuote mode paid add-on. Attach the insider-trading table and latest news headlines per ticker. Charged only when real rows are returned.
aiStockSummarybooleannofalseQuote mode paid add-on. Add an AI valuation read, financial-health note, notable signals and a one-line summary. Charged only when a usable summary is returned.

Quote mode requires at least one ticker. Screener mode requires at least one filter (raw or friendly).

Output reference

One dataset item per stock. Numeric fields are returned as numbers or null when Finviz shows no value. Percentage metrics are plain numbers without the % sign.

FieldTypeDescription
tickerstringStock ticker symbol.
companystringCompany name.
sectorstringSector.
industrystringIndustry.
countrystringCountry of the company.
exchangestringListing exchange code (quote mode).
marketCapClassstringMarket-cap class, for example Mega, Large, Mid (quote mode).
indexstringIndices the stock belongs to (quote mode).
marketCapnumberMarket capitalization in USD.
enterpriseValuenumberEnterprise value in USD.
incomenumberNet income ttm in USD.
salesnumberRevenue ttm in USD.
bookPerSharenumberBook value per share.
cashPerSharenumberCash per share.
dividendPercentnumberForward dividend yield percent.
dividendTtmnumberTrailing dividend yield percent.
employeesnumberNumber of employees.
ipoDatestringIPO date.
peRationumberTrailing P/E ratio.
forwardPenumberForward P/E ratio.
pegRationumberPEG ratio.
priceToSalesnumberPrice to sales ratio.
priceToBooknumberPrice to book ratio.
priceToCashnumberPrice to cash ratio.
priceToFcfnumberPrice to free cash flow ratio.
evToEbitdanumberEV / EBITDA.
evToSalesnumberEV / Sales.
quickRationumberQuick ratio.
currentRationumberCurrent ratio.
debtToEquitynumberTotal debt to equity.
ltDebtToEquitynumberLong-term debt to equity.
epsTtmnumberEPS ttm.
epsNextYnumberEPS estimate next year.
epsNextQnumberEPS estimate next quarter.
epsThisYGrowthnumberEPS growth this year percent.
epsNextYGrowthnumberEPS growth next year percent.
epsNext5YGrowthnumberEPS growth next 5 years percent.
epsPast5YGrowthnumberEPS growth past 5 years percent.
salesPast5YGrowthnumberSales growth past 5 years percent.
epsYoYTtmnumberEPS year over year ttm percent.
salesYoYTtmnumberSales year over year ttm percent.
epsQoQnumberEPS quarter over quarter percent.
salesQoQnumberSales quarter over quarter percent.
earningsDatestringNext or last earnings date.
insiderOwnnumberInsider ownership percent.
insiderTransnumberInsider transactions percent.
instOwnnumberInstitutional ownership percent.
instTransnumberInstitutional transactions percent.
roanumberReturn on assets percent.
roenumberReturn on equity percent.
roicnumberReturn on invested capital percent.
grossMarginnumberGross margin percent.
operatingMarginnumberOperating margin percent.
profitMarginnumberProfit margin percent.
payoutRationumberDividend payout ratio percent.
sma20numberPrice vs 20-day SMA percent.
sma50numberPrice vs 50-day SMA percent.
sma200numberPrice vs 200-day SMA percent.
sharesOutstandingnumberShares outstanding.
sharesFloatnumberShare float.
shortFloatnumberShort interest as percent of float.
shortRationumberShort ratio in days to cover.
shortInterestnumberShort interest shares.
high52wnumber52-week high price.
high52wPercentnumberPercent from 52-week high.
low52wnumber52-week low price.
low52wPercentnumberPercent from 52-week low.
atrnumberAverage true range (14).
rsinumberRelative strength index (14).
betanumberBeta.
relVolumenumberRelative volume.
avgVolumenumberAverage volume.
volumenumberVolume.
perfWeeknumberPerformance past week percent.
perfMonthnumberPerformance past month percent.
perfQuarternumberPerformance past quarter percent.
perfHalfYearnumberPerformance past half year percent.
perfYearnumberPerformance past year percent.
perfYtdnumberPerformance year to date percent.
perf3YnumberPerformance past 3 years percent.
perf5YnumberPerformance past 5 years percent.
perf10YnumberPerformance past 10 years percent.
analystRecomnumberMean analyst recommendation, 1 buy to 5 sell.
targetPricenumberMean analyst price target.
prevClosenumberPrevious close price.
pricenumberCurrent or last price.
changePercentnumberPrice change percent.
insiderTradesobject[]Insider-trading rows (insider add-on), or null.
insiderTradeCountnumberNumber of insider trades returned (insider add-on).
latestNewsobject[]Latest news headlines (insider add-on), or null.
newsCountnumberNumber of news items returned (insider add-on).
aiValuationstringAI valuation read (AI add-on).
aiFinancialHealthstringAI financial-health note (AI add-on).
aiNotableSignalsstring[]AI notable signals (AI add-on).
aiOneLinerstringAI one-line summary (AI add-on).
urlstringSource quote page URL.
sourcestringData source.
observedAtstringISO 8601 timestamp when the record was collected.
errorstringnull on success. On an unknown ticker or failed run, a single item with a populated error field is written and not charged.

Screener-mode rows populate ticker, company, sector, industry, country, marketCap, peRatio, price, changePercent, volume, source and observedAt.

Example output record

Real screener row from a live run (input {"mode":"screener","marketCap":"large","sector":"Technology"}):

{
"ticker": "ACN",
"company": "Accenture plc",
"sector": "Technology",
"industry": "Information Technology Services",
"country": "Ireland",
"marketCap": 111970000000,
"peRatio": 14.61,
"price": 182.98,
"changePercent": -0.1,
"volume": 611,
"source": "finviz.com",
"observedAt": "2026-08-20T11:27:31.004Z"
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~finviz-stocks-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"mode":"quote","tickers":["AAPL","MSFT","NVDA"],"maxResults":10}'

Start a screener run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~finviz-stocks-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"mode":"screener","index":"SP500","sector":"Healthcare","maxResults":100}'

Apify CLI:

apify call scrapers_lat/finviz-stocks-scraper \
--input '{"mode":"quote","tickers":["TSLA"],"includeInsiderNews":true}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per stock record returned (result event), plus a small one-time apify-actor-start event per run. See the pricing tab for current prices.
  • Optional add-ons. includeInsiderNews and aiStockSummary are off by default, charged only when they actually return data, and disabled on free plans.
  • No charge on failure. An unknown ticker or a failed run writes a single item with a populated error field and is not charged. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxResults.

FAQ and troubleshooting

A quote returned an error row. Why? The ticker was not found on the source (unknown, delisted, or a bad symbol). The actor writes an error item for it and does not charge. Check the symbol and try again.

Are percentages returned with a % sign? No. Percentage metrics are parsed to plain numbers, so 27.62% becomes 27.62. Sizes such as market cap are expanded to full integers.

How do I screen with filters that are not in the friendly list? Use screenerFilters with a raw Finviz f= expression, for example cap_large,sec_technology,fa_pe_u20,ta_rsi_os30. It combines with the friendly filters.

What is in the insider and news add-on? The insider-trading table (insider name, relationship, date, transaction type, cost, shares, value, running total and SEC Form 4 date) and the latest news headlines with time, title, link and source, for the ticker.

Does this need a login or an API key? No. You never provide any credentials. Proxy and retries are handled internally.

Is this an official Finviz tool? No. This actor is independent and has no affiliation with Finviz. It reads only data that is publicly available on the site.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Finviz. Accesses only publicly available data.