Yahoo Finance Fundamentals Scraper - Stocks & Financials avatar

Yahoo Finance Fundamentals Scraper - Stocks & Financials

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Yahoo Finance Fundamentals Scraper - Stocks & Financials

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

Haketa

Maintained by Community

Actor 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?

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-timeseries endpoint).
  • ✅ 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 null for 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.

FieldTypeDescription
symbolsarrayTickers to scrape, e.g. AAPL, MSFT, BTC-USD, ^GSPC, EURUSD=X. Stocks, ETFs, indices, crypto and FX are all supported.
screenerstringOptional 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).
statementFrequencystringboth, annual, or quarterly. Default both.
includeStatementsbooleanInclude full income statement, balance sheet and cash flow history. Default true. Disable for a faster quotes + key-stats run.
includePriceHistorybooleanInclude historical daily OHLCV price data. Default false.
priceRangestringHow far back to pull price history: 1mo, 6mo, 1y, 5y, max. Default 1y.
maxItemsintegerMaximum number of symbols to scrape. Use 0 for no limit. Default 100.
maxConcurrencyintegerMaximum parallel requests. Default 5 (keep moderate for the most reliable runs).
proxyConfigurationobjectProxy 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

FieldDescription
symbol, name, exchange, currency, quoteTypeCore identity of the instrument.
sector, industry, country, website, employees, businessSummaryCompany profile (present for equities).
price, marketCap, previousClose, dayHigh, dayLow, fiftyTwoWeekHigh, fiftyTwoWeekLow, volume, averageVolumeLive quote and trading range.
trailingPE, forwardPE, pegRatio, priceToBook, priceToSales, enterpriseValue, enterpriseToRevenue, enterpriseToEbitda, beta, bookValue, trailingEps, forwardEps, sharesOutstanding, floatSharesValuation & key statistics.
profitMargins, grossMargins, operatingMargins, returnOnEquity, returnOnAssets, revenueGrowth, earningsGrowth, totalRevenueTTM, ebitdaTTM, totalCash, totalDebt, currentRatio, quickRatio, freeCashflowTTM, operatingCashflowTTMProfitability, growth & balance-sheet health (TTM where noted).
dividendRate, dividendYield, payoutRatio, exDividendDate, dividendDateDividend details, including ex-date and payment date.
targetMeanPrice, targetHighPrice, targetLowPrice, recommendationKey, numberOfAnalystOpinionsAnalyst price targets and consensus rating.
earningsDate, isEarningsDateEstimate, earningsAverageEstimate, earningsLowEstimate, earningsHighEstimate, revenueAverageEstimate, revenueLowEstimate, revenueHighEstimateNext 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).
scrapedAtISO 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 symbols list 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 maxItems input caps how many symbols are scraped (0 = no limit), and maxConcurrency controls how many run in parallel.
  • Internally the actor maintains a concurrency pool that keeps maxConcurrency requests 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) and 429 (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

  1. Open the actor on the Apify Console and click Try for free / Start.
  2. Add your Symbols (e.g. AAPL, MSFT, BTC-USD) — or pick a Screener to discover tickers automatically. Leave both empty for a popular sample.
  3. Choose Statement frequency (annual / quarterly / both) and toggle Include financial statements and Include price history.
  4. Set Max symbols, then click Save & Start.
  5. When the run finishes, export the dataset as JSON, CSV, Excel, XML or HTML, or fetch it from the Apify API.
  6. 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 earningsDate across 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.


Pair this Yahoo Finance scraper with other Haketa data tools:

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.