Yahoo Finance Fundamentals Scraper - Stocks & Financials
Pricing
from $1.50 / 1,000 results
Yahoo Finance Fundamentals Scraper - Stocks & Financials
Yahoo Finance fundamentals scraper & API: export income statement, balance sheet & cash flow (annual & quarterly), key stats, valuation ratios (P/E, PEG, EV/EBITDA), margins, analyst price targets, dividends and live quotes for stocks, ETFs & crypto — fast, no login, no API key.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
23
Total users
4
Monthly active users
2 days ago
Last modified
Categories
Share
Yahoo Finance Scraper 📈 — Financial Statements, Ratios, Analyst Targets & Quotes
Scrape Yahoo Finance fundamentals as clean, structured JSON — the full income statement, balance sheet and cash flow (annual & quarterly), plus key statistics, valuation ratios, profitability metrics, analyst price targets, earnings dates, dividends and live quotes — for stocks, ETFs, indices, crypto and FX, worldwide. This Yahoo Finance scraper turns finance.yahoo.com into a reliable data feed: no login, no coding, no API key.
Export every record to JSON, CSV, Excel, XML or HTML, or pull it straight from the Apify API.
💡 Who it's for: quant and data teams building fundamental models, equity-research and buy-side analysts screening watchlists, fintech products powering stock dashboards and newsletters, and developers who need a dependable Yahoo Finance API alternative that returns complete financials in one call.
📋 Table of contents
- Why scrape Yahoo Finance?
- What this Yahoo Finance scraper does
- Use cases
- Input
- Output
- Pagination & scale
- How to use
- Tips
- FAQ
- Related scrapers
🔎 Why scrape Yahoo Finance?
Yahoo Finance is one of the largest free sources of company fundamentals on the web: financial statements, valuation multiples, profitability ratios, analyst estimates, dividend history and real-time quotes for tens of thousands of tickers across global exchanges. For anyone building a model, a dashboard or a screener, it is the obvious starting point — the problem is getting the data out in a usable shape.
Collecting it by hand is painful. The site paginates financials behind tabs, hides numbers in nested JSON, rotates an auth crumb that breaks naïve scripts, and rate-limits aggressive bursts. Copy-pasting one statement at a time does not scale past a handful of symbols, and most "Yahoo Finance scraper" tools either return only prices or wrap a library that silently dies when Yahoo changes its gating.
This Yahoo Finance scraper solves that. It is built API-first (no fragile page rendering), it handles the cookie + crumb session and proxy rotation for you, and it returns complete, normalized fundamentals — statements and valuation and analyst data and earnings dates — in one record per symbol, ready for a spreadsheet, a database or a model.
Common reasons people scrape Yahoo Finance:
- 📊 Build fundamental models from multi-year income statement, balance sheet and cash-flow history.
- 🔎 Screen and compare valuation (P/E, PEG, EV/EBITDA, P/B) and profitability (margins, ROE, ROA) across a whole watchlist.
- 🎯 Pull analyst price targets and recommendations for a buy/sell universe in one batch.
- 📅 Track next earnings dates and consensus EPS/revenue estimates to plan around reporting season.
- 💵 Monitor dividends — rate, yield, payout ratio, ex-dividend and payment dates.
- 📈 Power stock dashboards, newsletters and alerts with reliable structured Yahoo Finance data.
- 🤖 Feed quant pipelines and backtests with normalized fundamentals plus optional OHLCV price history.
✨ What this Yahoo Finance scraper does
Give it a list of tickers, or pick a ready-made screener, and it returns one normalized record per symbol:
- ✅ Financial statements — income statement, balance sheet and cash flow, annual and/or quarterly, with clean normalized field names and multiple periods of history (sourced from Yahoo's modern
fundamentals-timeseriesendpoint). - ✅ Key statistics & valuation — market cap, trailing & forward P/E, PEG, price/book, price/sales, enterprise value, EV/revenue, EV/EBITDA, beta, book value, trailing & forward EPS, shares outstanding and float.
- ✅ Profitability & growth — gross / operating / profit margins, ROE, ROA, revenue & earnings growth, total revenue (TTM), EBITDA, total cash, total debt, current & quick ratios, free & operating cash flow.
- ✅ Analyst data — mean / high / low price targets, recommendation key and the number of analyst opinions.
- ✅ Earnings calendar & estimates — next earnings date (with an estimate flag) plus consensus next-quarter EPS and revenue estimates (average / low / high).
- ✅ Dividends — dividend rate, yield, payout ratio, ex-dividend date and dividend payment date.
- ✅ Live quote & range — current price, previous close, day high/low, 52-week high/low, volume and average volume.
- ✅ Optional OHLCV price history — daily open/high/low/close/adj-close/volume over a selectable range (1 month → max).
- ✅ Screener discovery — pick a predefined Yahoo list (most actives, day gainers, undervalued large caps, growth tech, etc.) and the actor fetches fundamentals for every stock in it automatically.
- ✅ De-duplicated symbols, honest
nullfor genuinely missing values, and automatic retry / proxy rotation so large runs keep working through Yahoo's rate limits.
Only features the actor actually performs are listed above — every output field below is grounded in the live response.
🎯 Use cases
- Quantitative research — assemble a cross-sectional dataset of valuation and profitability ratios for factor models and screens.
- Equity / buy-side analysis — compare P/E, PEG, EV/EBITDA, margins, ROE and analyst targets across a coverage list in seconds.
- Fundamental modeling — pull several years of statements per company to build DCF and comparable-company models.
- Fintech & dashboards — feed a stock-tracking app, portfolio tool or Discord/Slack bot with fresh Yahoo Finance data.
- Dividend & income investing — screen for yield, payout ratio and upcoming ex-dividend / payment dates.
- Earnings-season planning — surface next earnings dates and consensus EPS/revenue estimates across a universe.
- Market research & media — power newsletters, research notes and data journalism with reliable fundamentals.
- Backtesting — combine fundamentals with optional OHLCV price history for strategy research.
📥 Input
Configure everything from the Apify UI, or pass a JSON input via the API. Every field is optional — leave it all empty and the actor returns a popular, diverse sample (mega-cap tech, finance, healthcare, energy, consumer, an ETF, an index, crypto and FX) so you always get useful data.
| Field | Type | Description |
|---|---|---|
symbols | array | Tickers to scrape, e.g. AAPL, MSFT, BTC-USD, ^GSPC, EURUSD=X. Stocks, ETFs, indices, crypto and FX are all supported. |
screener | string | Optional predefined Yahoo screener to discover tickers automatically (most_actives, day_gainers, day_losers, undervalued_large_caps, growth_technology_stocks, aggressive_small_caps, undervalued_growth_stocks, most_shorted_stocks, small_cap_gainers, top_mutual_funds, portfolio_anchors, solid_large_growth_funds, high_yield_bond). |
statementFrequency | string | both, annual, or quarterly. Default both. |
includeStatements | boolean | Include full income statement, balance sheet and cash flow history. Default true. Disable for a faster quotes + key-stats run. |
includePriceHistory | boolean | Include historical daily OHLCV price data. Default false. |
priceRange | string | How far back to pull price history: 1mo, 6mo, 1y, 5y, max. Default 1y. |
maxItems | integer | Maximum number of symbols to scrape. Use 0 for no limit. Default 100. |
maxConcurrency | integer | Maximum parallel requests. Default 5 (keep moderate for the most reliable runs). |
proxyConfiguration | object | Proxy settings. Default: Apify Proxy on, which works out of the box. |
Input examples
1) A few tickers with full statements
{"symbols": ["AAPL", "MSFT", "GOOGL"],"statementFrequency": "both"}
2) Discover & scrape the most active stocks
{"screener": "most_actives","maxItems": 50}
3) Quotes + key stats only (fast, no statements)
{"symbols": ["TSLA", "NVDA", "AMD"],"includeStatements": false}
4) With price history
{"symbols": ["AAPL"],"includePriceHistory": true,"priceRange": "5y"}
📤 Output
The actor pushes one record per symbol to the dataset. Here is a representative item (trimmed for readability):
{"symbol": "AAPL","name": "Apple Inc.","exchange": "NMS","currency": "USD","quoteType": "EQUITY","sector": "Technology","industry": "Consumer Electronics","country": "United States","website": "https://www.apple.com","employees": 164000,"price": 311.23,"marketCap": 4571145961472,"previousClose": 309.87,"fiftyTwoWeekHigh": 320.1,"fiftyTwoWeekLow": 169.21,"volume": 48213000,"averageVolume": 55120000,"trailingPE": 37.72,"forwardPE": 32.39,"pegRatio": 2.85,"priceToBook": 42.87,"priceToSales": 10.1,"enterpriseValue": 4587349606400,"enterpriseToEbitda": 31.7,"beta": 1.21,"trailingEps": 7.46,"forwardEps": 8.9,"sharesOutstanding": 14680000000,"profitMargins": 0.2715,"grossMargins": 0.467,"operatingMargins": 0.318,"returnOnEquity": 1.4147,"returnOnAssets": 0.235,"revenueGrowth": 0.098,"earningsGrowth": 0.12,"totalRevenueTTM": 416161000000,"totalCash": 48300000000,"totalDebt": 101700000000,"currentRatio": 0.87,"quickRatio": 0.72,"freeCashflowTTM": 98767000000,"dividendRate": 1.04,"dividendYield": 0.0035,"payoutRatio": 0.141,"exDividendDate": "2026-08-10","dividendDate": "2026-08-13","targetMeanPrice": 310.5,"targetHighPrice": 360.0,"targetLowPrice": 230.0,"recommendationKey": "buy","numberOfAnalystOpinions": 41,"earningsDate": "2026-11-02","isEarningsDateEstimate": false,"earningsAverageEstimate": 1.98,"earningsLowEstimate": 1.93,"earningsHighEstimate": 2.06,"revenueAverageEstimate": 113381085200,"revenueLowEstimate": 112525022000,"revenueHighEstimate": 116186700000,"financials": {"incomeStatement": [{ "date": "2025-09-30", "frequency": "annual", "currency": "USD", "totalRevenue": 416161000000, "grossProfit": 194000000000, "operatingIncome": 123000000000, "ebitda": 144748000000, "netIncome": 99000000000, "dilutedEPS": 7.46 }],"balanceSheet": [{ "date": "2025-09-30", "frequency": "annual", "totalAssets": 359241000000, "totalDebt": 101700000000, "stockholdersEquity": 66000000000, "cashAndCashEquivalents": 29943000000 }],"cashFlow": [{ "date": "2025-09-30", "frequency": "annual", "operatingCashFlow": 120000000000, "freeCashFlow": 98767000000, "capitalExpenditure": -11000000000 }]},"scrapedAt": "2026-10-25T10:00:00.000Z"}
Field reference
| Field | Description |
|---|---|
symbol, name, exchange, currency, quoteType | Core identity of the instrument. |
sector, industry, country, website, employees, businessSummary | Company profile (present for equities). |
price, marketCap, previousClose, dayHigh, dayLow, fiftyTwoWeekHigh, fiftyTwoWeekLow, volume, averageVolume | Live quote and trading range. |
trailingPE, forwardPE, pegRatio, priceToBook, priceToSales, enterpriseValue, enterpriseToRevenue, enterpriseToEbitda, beta, bookValue, trailingEps, forwardEps, sharesOutstanding, floatShares | Valuation & key statistics. |
profitMargins, grossMargins, operatingMargins, returnOnEquity, returnOnAssets, revenueGrowth, earningsGrowth, totalRevenueTTM, ebitdaTTM, totalCash, totalDebt, currentRatio, quickRatio, freeCashflowTTM, operatingCashflowTTM | Profitability, growth & balance-sheet health (TTM where noted). |
dividendRate, dividendYield, payoutRatio, exDividendDate, dividendDate | Dividend details, including ex-date and payment date. |
targetMeanPrice, targetHighPrice, targetLowPrice, recommendationKey, numberOfAnalystOpinions | Analyst price targets and consensus rating. |
earningsDate, isEarningsDateEstimate, earningsAverageEstimate, earningsLowEstimate, earningsHighEstimate, revenueAverageEstimate, revenueLowEstimate, revenueHighEstimate | Next earnings date and consensus next-quarter EPS & revenue estimates. |
financials.incomeStatement[] | Income statement rows: date, frequency, periodType, currency, plus totalRevenue, costOfRevenue, grossProfit, operatingIncome, pretaxIncome, netIncome, ebit, ebitda, basicEPS, dilutedEPS, researchAndDevelopment, interestExpense, … |
financials.balanceSheet[] | Balance-sheet rows: totalAssets, currentAssets, cashAndCashEquivalents, receivables, inventory, totalDebt, longTermDebt, stockholdersEquity, retainedEarnings, workingCapital, … |
financials.cashFlow[] | Cash-flow rows: operatingCashFlow, investingCashFlow, financingCashFlow, freeCashFlow, capitalExpenditure, depreciationAndAmortization, cashDividendsPaid, … |
priceHistory[] | Daily OHLCV: date, open, high, low, close, adjClose, volume (only when includePriceHistory is on). |
scrapedAt | ISO timestamp of when the record was collected. |
Honest note on coverage: fields are set to null when Yahoo genuinely does not report them. Full financial statements apply to equities; indices (^GSPC), FX (EURUSD=X) and crypto (BTC-USD) return quote and price data but typically have empty statement arrays. Analyst targets, dividends and earnings estimates are present only for symbols Yahoo actually covers (most liquid equities), so they populate for stocks but may be null for ETFs, indices, FX and smaller names.
🔁 Pagination & scale
This Yahoo Finance scraper is symbol-driven, not a page-by-page crawler — so you control scale directly:
- Supply a
symbolslist of any length, or pick a screener and the actor pulls up to 250 tickers from that Yahoo list automatically. - Symbols are de-duplicated (case-insensitive) before scraping, so overlapping lists never produce duplicate records.
- The
maxItemsinput caps how many symbols are scraped (0= no limit), andmaxConcurrencycontrols how many run in parallel. - Internally the actor maintains a concurrency pool that keeps
maxConcurrencyrequests in flight until the full symbol list is exhausted, then finishes cleanly. - Each request is backed by automatic retry with proxy/session rotation on Yahoo's
401(crumb refresh) and429(rate-limit back-off) responses, so large runs stay reliable.
In practice you can scrape anywhere from a single ticker to hundreds of symbols in one run — the actor simply iterates the de-duplicated list with bounded concurrency.
⚙️ How to use
- Open the actor on the Apify Console and click Try for free / Start.
- Add your Symbols (e.g.
AAPL,MSFT,BTC-USD) — or pick a Screener to discover tickers automatically. Leave both empty for a popular sample. - Choose Statement frequency (annual / quarterly / both) and toggle Include financial statements and Include price history.
- Set Max symbols, then click Save & Start.
- When the run finishes, export the dataset as JSON, CSV, Excel, XML or HTML, or fetch it from the Apify API.
- Automate it: run on a schedule to track quarterly results, or push results into Make, Zapier, Google Sheets, a database or a webhook via Apify integrations.
💡 Tips
- 🧪 Start small — run two or three symbols first to confirm the output shape before scaling up.
- ⚡ Disable statements (
includeStatements: false) for a fast quotes + key-stats run when you don't need full history. - 🧱 Use a screener to scan a whole segment (most actives, undervalued large caps, growth tech) without typing tickers.
- 📅 Reading
earningsDateacross a watchlist is a quick way to build an earnings-season calendar. - 🐢 Keep concurrency moderate and proxy on — Yahoo rate-limits aggressive bursts, and the default settings are tuned for reliability.
- 💾 Schedule recurring runs and pipe the data into Google Sheets or a database to track fundamentals over time.
❓ FAQ
Is scraping Yahoo Finance legal? The actor collects publicly available data from Yahoo Finance's own JSON endpoints — the same data a browser loads. You are responsible for using the output in line with Yahoo's terms and applicable laws. No login or account is required.
Do I need a Yahoo Finance API key or login? No. There is no API key and no login. The actor handles Yahoo's session cookie and crumb token automatically, so you just provide tickers and run it.
How many symbols can it scrape, and how fast?
As many as you like — pass a long symbols list or a screener (up to 250 tickers). With the default concurrency it comfortably scrapes dozens of symbols per minute; quotes-only runs (statements disabled) are noticeably faster than full-statement runs.
Does it cover non-US companies, ETFs, crypto and FX?
Yes. Any symbol available on Yahoo Finance works, across global exchanges — plus ETFs, indices (^GSPC), crypto (BTC-USD) and FX (EURUSD=X). Full statements apply to equities; other instruments return quote and price data.
Which financial statements are included? Income statement, balance sheet and cash flow — annual and/or quarterly — with normalized field names and multiple periods of history, from Yahoo's modern fundamentals-timeseries data.
Do I get analyst targets, earnings dates and dividends? Yes — mean/high/low price targets, recommendation and analyst count; the next earnings date with consensus EPS & revenue estimates; and dividend rate, yield, payout ratio, ex-dividend date and payment date (present for symbols Yahoo covers).
Can I discover tickers automatically instead of typing them? Yes — pick a predefined screener (most actives, day gainers, undervalued large caps, growth technology stocks, and more) and the actor fetches fundamentals for every stock in that list.
What export formats are supported? JSON, CSV, Excel, XML, HTML table and RSS — plus the Apify API and integrations (Make, Zapier, Google Sheets, webhooks).
How fresh is the data? Every run fetches live data from Yahoo at the moment it executes, including the current quote; schedule runs to keep a dataset continuously up to date.
Why are some fields null?
Because Yahoo does not report that value for that symbol — e.g. an index has no P/E, a non-dividend stock has no yield, and some smaller names have no analyst coverage. Missing values are returned as null rather than guessed.
🔗 Related scrapers
Pair this Yahoo Finance scraper with other Haketa data tools:
- SEC EDGAR Scraper — US Public Company Filings & Profiles — official 10-K / 10-Q / 8-K filings and company facts to complement Yahoo fundamentals.
Browse more scrapers on the Haketa Apify profile.
Ready to pull clean Yahoo Finance fundamentals? Add your tickers (or pick a screener) and click Start — export financial statements, ratios, analyst targets, earnings dates and quotes to JSON, CSV, Excel or the Apify API in minutes.