Finviz Stock Quote & News Scraper
Pricing
Pay per event
Finviz Stock Quote & News Scraper
Extract Finviz quotes, fundamentals, valuation, growth, ownership, margins, technical indicators, price, volume, and timestamped company news. No Finviz login or API key required.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract Finviz stock quotes, fundamentals, valuation ratios, technical indicators, and company news for any ticker symbol. This Finviz scraper accepts a watchlist or public quote URLs and returns one export-ready record per stock β no Finviz login or API key required.
Use it to refresh portfolio snapshots, monitor company headlines, enrich research databases, or supply structured market context to AI and quant workflows. The Actor uses lightweight HTTP extraction rather than a browser, so small watchlists finish quickly and economically.
What does Finviz Stock Quote & News Scraper do?
Finviz Stock Quote & News Scraper reads public ticker quote pages such as quote.ashx?t=AAPL and transforms their server-rendered tables into clean JSON.
For every ticker, it collects:
- π Current price, daily change, volume, and relative volume
- π° Market cap, P/E, forward P/E, PEG, P/S, P/B, and enterprise-value ratios
- π§Ύ Income, sales, book value, cash per share, dividends, debt, and liquidity
- π EPS and sales growth across quarterly and multi-year windows
- π’ Insider and institutional ownership, transactions, employees, and IPO date
- π Margins, returns, moving averages, RSI, beta, volatility, and performance
- π° Recent news with timestamps, headlines, publishers, and outbound article URLs
Every original Finviz snapshot label remains available in the metrics object, while popular fields are also normalized into typed top-level columns for easy filtering.
Who is this Finviz scraper for?
Investors and portfolio managers
- Refresh watchlist valuation and momentum snapshots before market review
- Compare price, volume, technical, profitability, and ownership signals
- Monitor recent headlines around held or prospective positions
Quant analysts and data scientists
- Collect consistent point-in-time features for research pipelines
- Join Finviz metrics with price history, SEC filings, or alternative datasets
- Feed structured fundamentals and news links into scoring or alert systems
Financial-data and FinTech teams
- Enrich internal security masters with public company attributes
- Power research dashboards without maintaining a browser crawler
- Schedule repeat quote extraction through Apify API or webhooks
AI workflow builders
- Give agents concise company and market context for a ticker list
- Build daily briefings from fresh metrics and linked company news
- Export JSON to retrieval, summarization, or portfolio-analysis pipelines
Why use this Finviz quote extractor?
- β‘ HTTP-first extraction β 256 MB memory and no browser overhead
- π No login or API key β works with public Finviz quote pages
- π§© Complete snapshot preservation β original labels stay in
metrics - π’ Typed popular fields β prices, ratios, volumes, and counts are numbers
- π° News included β headlines are nested beside the ticker they describe
- π Watchlist batching β submit multiple symbols or quote URLs in one run
- π‘οΈ Resilient requests β bounded retries, backoff, deduplication, and optional proxy routing
- π¦ Flexible exports β download JSON, CSV, Excel, XML, or RSS through Apify
- ποΈ Automation-ready β schedule runs and deliver results by API or webhook
What Finviz stock data can you extract?
| Category | Example fields |
|---|---|
| Identity | ticker, company name, website, sector, industry, country, indexes |
| Valuation | market cap, enterprise value, P/E, forward P/E, PEG, P/S, P/B, P/FCF |
| Financials | income, sales, book/cash per share, dividends, payout, debt ratios |
| Growth | EPS and sales growth, quarterly changes, multi-year estimates |
| Ownership | insider ownership/transactions, institutional ownership/transactions |
| Profitability | ROA, ROE, ROIC, gross margin, operating margin, profit margin |
| Technicals | SMA20/50/200, RSI, ATR, beta, volatility, 52-week high/low |
| Performance | week, month, quarter, half-year, YTD, 1/3/5/10-year performance |
| Trading | current/previous price, daily change, volume, average and relative volume |
| Events | earnings date, surprises, ex-dividend date, recommendation, target price |
| News | timestamp, original time label, headline, publisher, article URL |
Finviz can display different fields for different security types. The metrics object preserves whichever labeled values the source provides instead of inventing missing values.
How much does it cost to scrape Finviz stock quotes?
This Actor uses pay-per-event pricing: one small run-start charge plus one charge per saved ticker record. You are not charged separately for every metric or nested news headline.
| Plan | Price per ticker record |
|---|---|
| Free | $0.00022159 |
| Starter / BRONZE | $0.00019269 |
| Scale / SILVER | $0.00015030 |
| Business / GOLD | $0.00011561 |
| PLATINUM | $0.000077074 |
| DIAMOND | $0.000053952 |
A one-time $0.005 run-start event applies. At BRONZE pricing, 10 tickers cost about $0.0069, and 100 tickers cost about $0.0243.
With the Apify Free plan's included credits, you can test many small watchlists before scaling. Final cost appears in the run console before export.
How to scrape Finviz quotes and news
- Open Finviz Stock Quote & News Scraper.
- Click Try for free.
- Add ticker symbols such as
AAPL,MSFT, orNVDA. - Optionally add public Finviz quote URLs.
- Choose whether to include news and set the per-ticker news limit.
- Keep concurrency low for your first run.
- Click Start.
- Review the Stock quotes dataset view.
- Export results or connect an integration.
Minimal ticker input
{"tickerSymbols": ["AAPL"]}
Watchlist input
{"tickerSymbols": ["AAPL", "MSFT", "NVDA", "SPY"],"includeNews": true,"maxNewsItems": 20,"maxConcurrency": 3}
Public quote URL input
{"startUrls": [{ "url": "https://finviz.com/quote.ashx?t=BRK-B&p=d" }],"maxNewsItems": 10}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
tickerSymbols | array | [] | US stock or ETF symbols, for example AAPL, SPY, or BRK-B |
startUrls | array | [] | Public Finviz quote.ashx?t= URLs |
includeNews | boolean | true | Include nested news records for each ticker |
maxNewsItems | integer | 20 | Maximum recent news rows per ticker, from 0 to 100 |
maxConcurrency | integer | 3 | Parallel quote requests, from 1 to 10 |
proxyConfiguration | object | direct | Optional Apify Proxy configuration for repeated blocks |
At least one valid ticker symbol or quote URL is required. Symbols and URL-derived tickers are normalized to uppercase and deduplicated.
This V1 deliberately supports quote detail pages only. Finviz screener and search URLs are not accepted.
Output example
{"ticker": "AAPL","companyName": "Apple Inc","companyUrl": "http://www.apple.com","quoteUrl": "https://finviz.com/quote.ashx?t=AAPL&p=d","sector": "Technology","industry": "Consumer Electronics","country": "USA","indexMemberships": ["DJIA", "NDX", "S&P 500"],"price": 314.86,"changePercent": -0.77,"marketCap": "4624.46B","pe": 38.09,"forwardPe": 30.12,"targetPrice": 275.53,"volume": 43210000,"averageVolume": 52140000,"relativeVolume": 0.83,"employees": 166000,"earnings": "Jul 30 AMC","metrics": {"Market Cap": "4624.46B","P/E": "38.09","Gross Margin": "46.60%","RSI (14)": "63.22"},"news": [{"publishedAt": "2026-07-15T02:42:00.000Z","sourceDateTime": "Today 10:42PM","headline": "Example company headline","source": "Example Publisher","url": "https://example.com/article"}],"newsCount": 1,"scrapedAt": "2026-07-15T03:00:00.000Z"}
The values above illustrate the schema. Market values change continuously, so compare live output with the source timestamp.
Understanding the metrics object
Finviz labels some values with units and time windows. The Actor preserves the displayed string so meaning is not lost.
- Percentages retain
%insidemetrics. - Market-cap and financial abbreviations retain
K,M,B, orT. - Dates and announcement timing retain the Finviz label.
- Missing source cells remain absent or use the source's
-value. - Popular fields are normalized separately for sorting and calculations.
Use metrics["Gross Margin"] for full source fidelity, or price, pe, and volume for typed analysis.
Working with Finviz company news
Each ticker record contains a news array, ordered as shown by Finviz.
A news item includes:
publishedAtβ normalized ISO 8601 timestampsourceDateTimeβ original Finviz date/time textheadlineβ article headlinesourceβ publisher displayed by Finvizurlβ outbound article URL
Set includeNews to false or maxNewsItems to 0 when you need only quote and fundamental data.
The Actor deduplicates news by outbound URL within each ticker record.
Tips for reliable Finviz extraction
- π― Start with one to five tickers and inspect the schema before a large refresh.
- π’ Keep concurrency at 3 or below unless you have verified a larger workload.
- π Schedule periodic runs instead of issuing rapid duplicate runs.
- π° Lower
maxNewsItemswhen headlines are not central to your workflow. - π Enable Apify Proxy only after repeated direct 403 or 429 responses.
- π§Ή Deduplicate records across scheduled runs using
tickerplusscrapedAt. - π Treat quotes as point-in-time observations, not historical bars.
- π Expect ETFs and other security types to expose a different subset of metrics.
Finviz watchlist monitoring workflow
Create an Apify Schedule that runs before market open or after market close with your portfolio tickers.
Then:
- Save the latest dataset ID in your workflow.
- Compare
price,changePercent,relativeVolume, and valuation fields. - Compare outbound news URLs with the previous run.
- Alert only on new URLs or threshold changes.
- Archive full
metricsobjects for point-in-time research.
For repeat runs, use a webhook to trigger your database or automation as soon as extraction finishes.
Integrations
Finviz β Google Sheets
Run a daily watchlist and append ticker, price, daily change, valuation, target price, and headline count to a tracking sheet.
Finviz β Slack or Discord
Use Make or Zapier to send an alert when relative volume, daily change, or a new article URL crosses your rules.
Finviz β PostgreSQL, BigQuery, or Snowflake
Store normalized top-level fields for analysis and retain the complete metrics JSON for future feature engineering.
Finviz β LLM briefing
Send the quote snapshot and latest headlines to an LLM that produces a cited morning watchlist summary. Follow outbound links only when your downstream process is authorized to fetch them.
Scheduled portfolio snapshots
Use Apify Scheduler and webhooks to create repeatable snapshots without keeping your own server online.
Using the Apify API
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/finviz-stock-quote-news-scraper').call({tickerSymbols: ['AAPL', 'MSFT', 'NVDA'],includeNews: true,maxNewsItems: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/finviz-stock-quote-news-scraper').call(run_input={'tickerSymbols': ['AAPL', 'MSFT', 'NVDA'],'includeNews': True,'maxNewsItems': 10,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~finviz-stock-quote-news-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"tickerSymbols":["AAPL","MSFT"],"maxNewsItems":10}'
Use with AI agents via MCP
Finviz Stock Quote & News Scraper can be called by AI assistants through the Apify Model Context Protocol integration.
Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/finviz-stock-quote-news-scraper"
Claude Desktop, Cursor, or VS Code
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/finviz-stock-quote-news-scraper"}}}
Authenticate with your Apify account when prompted.
Example prompts:
- βUse
automation-lab/finviz-stock-quote-news-scraperto compare AAPL, MSFT, and NVDA valuation, margins, and relative volume.β - βRefresh the Finviz quote and latest 20 company headlines for every ticker in my watchlist.β
- βExtract SPY and QQQ technical indicators and summarize where their performance differs.β
Is it legal to scrape Finviz?
Scraping publicly available data is generally lawful in many jurisdictions, but the details depend on your location, purpose, contract, and the data involved. This Actor only targets anonymous public Finviz quote pages and does not bypass authentication.
You are responsible for using it ethically and complying with Finviz terms, applicable copyright and database rights, privacy law, and reasonable request rates. Do not use the output for unlawful market manipulation, deceptive financial promotion, or decisions requiring licensed advice without independent verification.
This Actor is an extraction tool, not investment advice. Market data may be delayed, incomplete, or changed by the source.
Limitations
- V1 does not scrape Finviz screener, search, portfolio, or authenticated pages.
- Finviz may throttle or challenge repeated automated requests.
- Quote data is a snapshot and does not provide historical candles.
- News links point to third-party publishers whose pages may require subscriptions.
- Available metrics vary by stock, ETF, and other security type.
- The Actor preserves source values but does not independently validate financial figures.
- Timestamps are normalized from Finviz's Eastern Time display.
Troubleshooting
Why did my run reject a URL?
Only public finviz.com/quote.ashx?t=... URLs are accepted. Paste a quote-detail URL or enter the ticker in tickerSymbols. Screener URLs are outside the supported V1 scope.
Why was one ticker skipped?
The symbol may be invalid, unavailable on Finviz, temporarily blocked, or returning an unexpected page. Review the run log for the ticker-specific warning. Valid tickers continue processing.
Why are some metrics missing?
Finviz displays different fields by security type and data availability. Check metrics for source labels and do not assume every stock or ETF has every ratio.
Why did I receive a 403 or 429?
Lower maxConcurrency, wait before retrying, and enable an Apify Proxy configuration if direct traffic is repeatedly blocked.
Frequently asked questions
How fast is the Finviz scraper?
It makes one lightweight HTTP request per unique ticker and processes up to three by default. Small watchlists normally finish quickly, although source latency and retries can vary.
Does it require a Finviz API key?
No. It extracts anonymous server-rendered quote pages and needs no Finviz account or API key.
Does it scrape the Finviz stock screener?
No. This V1 intentionally supports ticker quote pages only. It does not promise a screener route that is currently more heavily protected.
Can I use ticker symbols and URLs together?
Yes. The Actor combines both inputs, normalizes their symbols, and removes duplicates.
Am I charged for every news headline?
No. Charging is per saved ticker record, regardless of how many nested news items are included up to your configured limit.
Is this a real-time trading feed?
No. It captures the values currently displayed by Finviz. Verify timing and market-data requirements before using it in trading systems.
Other financial data scrapers
Combine this Actor with related Automation Labs tools:
- Stocktwits Scraper β retail investor messages and sentiment
- SEC Company Facts API Scraper β standardized company financial facts
- SEC 8-K Current Reports Scraper β material corporate events
- SEC Form 4 Insider Transactions Scraper β insider purchase and sale filings
- SEC 13F Manager Quarterly Report Scraper β institutional holdings
- SEC S-1 IPO Filings Scraper β public offering registrations
Together, these Actors can connect market snapshots, news, sentiment, company fundamentals, insider activity, and regulatory filings in one research workflow.