Yahoo Finance Scraper — Quotes, Fundamentals, Options & News
Pricing
from $0.60 / 1,000 finance records
Yahoo Finance Scraper — Quotes, Fundamentals, Options & News
Export Yahoo Finance quotes, company fundamentals, option chains, and market news for public ticker symbols without an account or API key.
Pricing
from $0.60 / 1,000 finance records
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Export current Yahoo Finance quotes, company fundamentals, option contracts, and financial news for stocks, ETFs, crypto, forex, indices, funds, and futures.
Use one scheduled Actor run to feed market dashboards, watchlists, valuation screens, option analysis, news monitoring, spreadsheets, databases, APIs, or AI agents. No Yahoo account or API key is required.
What data can you export?
- Quote snapshots: market price, previous close, market cap, currency, exchange, and company name.
- Company fundamentals: sector, industry, website, employee count, business summary, valuation ratios, beta, revenue, gross profit, EBITDA, recommendation, and analyst target.
- Option chains: calls and puts with expiration, strike, bid, ask, last price, volume, open interest, implied volatility, and moneyness.
- Financial news: headline, publisher, publication time, article URL, and thumbnail.
- Provenance: requested symbol, record type, Yahoo Finance source URL, and scrape timestamp on every row.
Input example
{"symbols": ["AAPL", "MSFT", "SPY"],"dataTypes": ["quote", "fundamentals", "options", "news"],"maxNewsPerSymbol": 10,"maxOptionContractsPerSymbol": 100,"maxRunSeconds": 240}
Ready-to-run examples
Open a public example to inspect its input, run it, or reuse it as a task:
- Export Blue-Chip Quotes and Fundamentals
- Export the AAPL Options Chain
- Monitor AAPL and MSFT Market News
Quick quote check
{"symbols":["AAPL","MSFT"],"dataTypes":["quote"]}
Options and news watchlist
{"symbols":["SPY","QQQ"],"dataTypes":["options","news"],"maxNewsPerSymbol":10,"maxOptionContractsPerSymbol":50}
Output examples
Quote row:
{"recordType": "quote","symbol": "AAPL","companyName": "Apple Inc.","currency": "USD","exchange": "NMS","marketPrice": 319.97,"previousClose": 318.45,"marketCap": 4740000000000,"sourceUrl": "https://finance.yahoo.com/quote/AAPL","scrapedAt": "2026-09-06T08:09:00.000Z"}
Option row:
{"recordType": "options","symbol": "AAPL","optionType": "call","expiration": "2026-09-11T00:00:00.000Z","contractSymbol": "AAPL260911C00320000","strike": 320,"bid": 4.1,"ask": 4.25,"openInterest": 842,"impliedVolatility": 0.24,"inTheMoney": false,"sourceUrl": "https://finance.yahoo.com/quote/AAPL/options","scrapedAt": "2026-09-06T08:09:00.000Z"}
Input settings
| Setting | JSON key | Description |
|---|---|---|
| Yahoo Finance symbols | symbols | Required list of 1–50 symbols such as AAPL, SPY, BTC-USD, EURUSD=X, ^GSPC, or GC=F. |
| Data types | dataTypes | Choose quote, fundamentals, options, and/or news. |
| News limit | maxNewsPerSymbol | Maximum 1–50 news rows per symbol. |
| Option limit | maxOptionContractsPerSymbol | Maximum 1–1,000 contracts per call/put side for the nearest available expiration. |
| Run deadline | maxRunSeconds | Shared 60–270 second deadline; completed rows are retained if the deadline is reached. |
Output fields
| Record | Fields |
|---|---|
| All | recordType, symbol, sourceUrl, scrapedAt |
| Quote | companyName, currency, exchange, marketPrice, previousClose, marketCap |
| Fundamentals | companyName, sector, industry, website, employees, businessSummary, trailingPE, forwardPE, dividendYield, beta, revenue, grossProfit, ebitda, recommendationKey, targetMeanPrice |
| Options | optionType, expiration, contractSymbol, strike, lastPrice, bid, ask, volume, openInterest, impliedVolatility, inTheMoney |
| News | headline, publisher, publishedAt, articleUrl, thumbnailUrl |
Fields are included only when Yahoo Finance reports a truthful value for that symbol and record type. For example, crypto symbols generally have no company employee count, and some symbols have no listed options.
Who is it for?
- Portfolio and investment teams maintaining recurring watchlists and market dashboards.
- Analysts and researchers comparing public fundamentals and near-term option liquidity.
- Data engineers loading finance snapshots into warehouses, spreadsheets, or alerting systems.
- Developers and AI teams supplying current public market context to applications and agents.
Common use cases
- Schedule a watchlist export before market open.
- Enrich an internal security master with public company profile and valuation fields.
- Compare near-term option liquidity and implied volatility.
- Monitor symbol-related headlines and route new articles through a webhook.
- Load current finance records into Google Sheets, BigQuery, Snowflake, or a BI dashboard.
- Give an AI agent fresh public market context before generating a report.
Pricing
This Actor uses pay-per-event pricing:
startis charged once when a valid run begins.resultis charged once for each quote, fundamentals, option, or news row saved successfully.
See the live Pricing tab for current rates and account-tier discounts. Unsupported symbols and error diagnostics are not charged as results.
Tips and limits
- Use Yahoo Finance ticker notation exactly, including suffixes such as
BTC-USD,EURUSD=X, or^GSPC. - Start with one symbol and only the data types you need.
- Option output covers the nearest available expiration in the initial release.
- Fundamentals vary by asset class and reporting coverage.
- News is selected by Yahoo Finance for the requested symbol and can contain related-market coverage.
- Yahoo Finance can throttle public requests. Retry a failed run later rather than increasing concurrency.
- Source data can change after publication; store scrape timestamps with downstream records.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/yahoo-finance-scraper').call({symbols: ['AAPL', 'MSFT'],dataTypes: ['quote', 'fundamentals', 'news'],});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('fetch_cat/yahoo-finance-scraper').call(run_input={'symbols': ['AAPL', 'MSFT'],'dataTypes': ['quote', 'fundamentals', 'news'],})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~yahoo-finance-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"symbols":["AAPL","MSFT"],"dataTypes":["quote","fundamentals","news"]}'
Use with MCP and AI agents
Connect an MCP-compatible client to:
https://mcp.apify.com?tools=fetch_cat/yahoo-finance-scraper
Then ask: “Fetch the latest quote, fundamentals, and news for AAPL and MSFT.”
Related Actors
- Yahoo Finance Stock Data Scraper — historical OHLCV candles, dividends, and splits.
- Stocktwits Scraper — public market discussion and sentiment context.
- Google News Scraper — broader keyword and company news discovery.
- Hacker News Search Scraper — technology-company news and market discussion discovery.
- CoinMarketCap Crypto Prices Scraper — cryptocurrency market and asset data.
FAQ
Does it require a Yahoo Finance account?
No. It exports data available on Yahoo Finance's public surfaces.
Can I scrape several symbols in one run?
Yes. Submit up to 50 symbols. Each output row retains its requested symbol.
Why are some fundamentals empty?
Coverage varies by asset class and issuer. The Actor does not invent values when Yahoo Finance does not report them.
Does it return every option expiration?
The initial release returns contracts for the nearest available expiration, bounded by your per-side limit.
What happens if one symbol is invalid?
The Actor logs that symbol and continues with the others. If no requested symbol produces usable output, the run fails with an actionable message.
Support
Open an issue from the Actor's Issues tab and include the symbol, selected data types, and run URL. Do not include credentials or private account data.