Stock News Scraper - Finviz avatar

Stock News Scraper - Finviz

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Stock News Scraper - Finviz

Stock News Scraper - Finviz

Get real-time stock and company news for any ticker symbol. Returns headlines, sources, publication dates, and full article text as clean markdown. Powered by Finviz data. Supports multiple tickers per run. Built for AI agents, LLM pipelines, sentiment analysis, and automated market monitoring.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Michal Búci

Michal Búci

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Get real-time stock and company news for any ticker symbol with full article text as clean markdown. Powered by Finviz data. Built for AI agents, sentiment analysis, and market research.

What is Finviz Ticker News Scraper?

This actor extracts recent stock news from Finviz for any publicly traded ticker. It returns article headlines, source domains, timestamps, and optionally the full article text converted to clean markdown.

Finviz aggregates news from Reuters, Yahoo Finance, CNBC, MarketWatch, Benzinga, and dozens more. This actor gives you structured, API-accessible data from all of them in a single run. No browser needed, no API key required.

Why scrape stock news from Finviz?

Finviz is one of the most popular financial research platforms, but it has no public API for news data. This actor solves that by delivering structured JSON with full article text, ready for AI pipelines, trading systems, or market research.

How to scrape stock news by ticker

  1. Go to the Finviz Ticker News actor page
  2. Enter one or more ticker symbols (e.g. TSLA, NVDA, AAPL)
  3. Set how many articles and how far back you want
  4. Click Start
  5. Download results as JSON, CSV, or Excel, or access via the Apify API

Input

ParameterTypeDefaultDescription
tickersstring(required)Comma-separated ticker symbols, e.g. AAPL, TSLA, MSFT
maxArticlesinteger50Max articles per ticker. 0 = no limit
daysBackinteger7Articles from the last N days. 0 = all available
scrapeFullTextbooleantrueExtract full article text as markdown. false = metadata only (faster)
{
"tickers": "TSLA, NVDA",
"maxArticles": 30,
"daysBack": 7,
"scrapeFullText": true
}

Output

{
"ticker": "TSLA",
"title": "Tesla Surges on Record Deliveries",
"url": "https://www.reuters.com/business/autos/tesla-record-deliveries-2025",
"source": "reuters.com",
"publishedAt": "2025-02-05T14:30:00Z",
"fullTextAvailable": true,
"text": "# Tesla Surges on Record Deliveries\n\nTesla reported record quarterly deliveries of...",
"wordCount": 847
}
FieldTypeDescription
tickerstringStock ticker symbol
titlestringArticle headline
urlstringOriginal article URL
sourcestringSource domain (e.g. reuters.com)
publishedAtstringISO 8601 UTC timestamp
fullTextAvailablebooleanWhether full text was extracted
textstring/nullArticle text as markdown, null if paywalled
wordCountinteger/nullWord count of extracted text

Use cases for stock news data

Use CaseDescriptionBest For
Sentiment analysisProcess full article text to extract market signals and sentiment scoresQuant traders, analysts
AI agent researchFeed real-time company news into AI agents via Apify MCPChatGPT, Claude, custom agents
LLM contextInject recent news into prompts for summarization or Q&ARAG pipelines, chatbots
Market monitoringTrack news flow across a portfolio on a daily schedulePortfolio managers
Trading signalsDetect breaking news from article frequency and sourcesAlgorithmic trading
Newsletter automationAggregate daily stock news into automated reportsFinancial content creators
Research datasetsBuild historical news datasets for backtesting or ML trainingData scientists

How to scrape stock news with Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("michael_b/finviz-ticker-news").call(run_input={
"tickers": "TSLA, NVDA, AAPL",
"maxArticles": 20,
"scrapeFullText": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"[{item['ticker']}] {item['source']} - {item['title']}")

How to scrape stock news with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('michael_b/finviz-ticker-news').call({
tickers: 'TSLA, NVDA, AAPL',
maxArticles: 20,
scrapeFullText: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(`[${item.ticker}] ${item.source} - ${item.title}`));

How much does it cost to scrape stock news?

This actor uses raw HTTP requests with no browser, keeping costs minimal. Recommended memory: 512 MB. Pricing: $0.001 per article plus a minimal actor start fee. Full text extraction doesn't cost extra.

ScenarioArticlesTimeCost
1 ticker, metadata only100~5s~$0.10
1 ticker, full text100~30s~$0.10
5 tickers, full text500~2 min~$0.50
10 tickers, full text1,000~3 min~$1.00

Automate with Apify platform

  • Schedule runs daily, hourly, or at market open/close
  • Access results via API for integration into trading systems
  • Connect to Make, n8n, or Zapier for no-code workflows
  • Use with AI agents through Apify's MCP server (Claude, ChatGPT, custom agents)
  • Export as JSON, CSV, Excel, or stream to your database

FAQ

Is it legal to scrape news from Finviz? This actor only extracts publicly available headlines and visits original article URLs for publicly available content. No private data is accessed or authentication bypassed.

How often is the data updated? Live data from Finviz on every run. Schedule as frequently as you need.

Which news sources does Finviz aggregate? Reuters, Yahoo Finance, CNBC, MarketWatch, Benzinga, Investor's Business Daily, The Motley Fool, and many more.

Can I use this with ChatGPT, Claude, or other AI agents? Yes. Fully compatible with Apify's MCP server. The markdown output is designed for LLM consumption.

What happens with paywalled articles (WSJ, Bloomberg, FT)? Headline and metadata are still returned, but text will be null. You get the title, source, URL, and date regardless.

How many articles are available per ticker? Finviz stores up to 100 recent articles per ticker. Use daysBack: 0 to get all available.

Can I scrape multiple tickers at once? Yes. Enter comma-separated tickers like AAPL, TSLA, MSFT, NVDA and the actor processes all of them in a single run.

Support

Questions, feature requests, or bugs? Open an issue in the Issues tab. Feedback is always welcome.