Yahoo Finance Scraper — Quotes, Financials, History, Options
Pricing
from $5.00 / 1,000 results
Yahoo Finance Scraper — Quotes, Financials, History, Options
Scrape Yahoo Finance — real-time quotes, historical OHLC, income/balance/cashflow statements, analyst ratings & price targets, news, options chains, earnings, holders, and company profiles. 10 modes auto-detected from ticker, company name, or URL. HTTP-first with browser fallback. MCP-ready.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
17 hours ago
Last modified
Categories
Share
Yahoo Finance Scraper
Scrape everything Yahoo Finance shows about a security from one actor: live quotes, historical price history, full financial statements, analyst ratings, news, options chains, earnings, ownership, and company profiles. Pass a ticker, a company name, or a Yahoo Finance URL — the actor auto-detects what you want and returns clean, flat JSON built for AI agents, spreadsheets, and quant pipelines.
What you can pull
| Mode | What it returns | One item = |
|---|---|---|
quote | Live price snapshot: price, change, day range, 52-week range, volume, market cap, P/E, EPS, pre/post-market | one quote |
historical | OHLC time-series (daily/weekly/monthly), adjusted close, volume | one bar |
financials | Income, balance sheet, and cash-flow statements (annual or quarterly) | one statement-period |
analysis | Analyst price targets, consensus rating, recommendation trend, recent upgrades/downgrades | one rating row |
news | Recent headlines: title, publisher, link, timestamp, related tickers | one article |
options | Full options chain — calls and puts with strike, bid/ask, IV, volume, open interest | one contract |
earnings | Earnings history (actual vs estimate, surprise %) and the next earnings date | one earnings row |
holders | Institutional and insider ownership plus the major-holders breakdown | one holder |
profile | Company profile: sector, industry, employees, website, summary, key stats | one company |
search | Resolve a company name to Yahoo ticker symbols | one symbol match |
When to use it
- Pull fundamentals, history, and analyst data into a model or research notebook.
- Give an AI agent a single tool that answers almost any "what does Yahoo say about X" question.
- Build dashboards that need statements, options, or ownership — not just the last price.
Need only fast real-time quotes for many tickers at once? Use the lighter stock-price-tracker. This actor is the deep, all-in-one companion.
Pricing (pay-per-event)
| Event | Price |
|---|---|
| Actor start | $0.00005 |
| Result (quote, statement, rating, article, earnings row, holder, profile, symbol match) | $0.005 |
| Data point (historical bar, option contract) | $0.001 |
Diagnostic "no data" notes are never charged — you pay only for real data. maxResults is a hard cap, and the actor logs the maximum possible cost before it charges anything.
Quick start
Input is a single query plus an optional mode:
{ "query": "AAPL" }
That returns a live quote (auto-detected). To go deeper, set the mode:
{ "query": "AAPL", "mode": "financials", "frequency": "quarterly" }
Historical prices for a date window:
{ "query": "MSFT", "mode": "historical", "interval": "1d", "dateFrom": "2023-01-01", "dateTo": "2024-01-01", "maxResults": 365 }
Options chain:
{ "query": "NVDA", "mode": "options", "maxResults": 200 }
A Yahoo Finance URL routes itself — this fetches the holders page:
{ "query": "https://finance.yahoo.com/quote/TSLA/holders" }
Call it via the Apify API (JavaScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('khadinakbar/yahoo-finance-scraper').call({query: 'AAPL',mode: 'analysis',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Call it via the Apify API (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("khadinakbar/yahoo-finance-scraper").call(run_input={"query": "AAPL", "mode": "earnings"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Symbol formats
Yahoo Finance symbols work across asset classes:
- US stocks / ETFs:
AAPL,SPY,BRK-B - Indices:
^GSPC(S&P 500),^DJI,^IXIC - Crypto:
BTC-USD,ETH-USD - Forex:
EURUSD=X,GBPJPY=X - Futures:
ES=F,CL=F,GC=F - Non-US stocks (add the exchange suffix):
VOW3.DE,BABA.HK,7203.T
Not sure of the symbol? Use mode: "search" with the company name.
How it works
The actor talks to Yahoo Finance's public JSON endpoints (query1/query2.finance.yahoo.com) first — fast, lightweight, and reliable. It manages Yahoo's crumb + cookie session automatically. If those endpoints rate-limit or block, it transparently falls back to a real Chromium browser that fetches the same JSON from a genuine browser context, then parses it identically. You get the same clean output either way.
Output is flat and agent-friendly: stable keys, explicit nulls, ISO 8601 dates, under ~500 tokens per item. Every record carries a _mode tag, and "no data" situations return an agent-readable _diagnostic note with a _note explaining why and how to fix the query — instead of a hard failure.
Output example (quote)
{"_mode": "quote","symbol": "AAPL","name": "Apple Inc.","assetType": "EQUITY","currency": "USD","exchange": "NasdaqGS","price": 195.12,"change": 1.84,"changePercent": 0.95,"marketCap": 3010000000000,"fiftyTwoWeekHigh": 199.62,"fiftyTwoWeekLow": 164.08,"trailingPE": 31.2,"timestamp": "2026-05-29T20:00:01.000Z"}
FAQ
Which markets are covered? Anything with a Yahoo Finance symbol — US and international equities, ETFs, indices, crypto, forex, mutual funds, and futures.
Do financials work for ETFs or crypto? No. Statements, options, earnings, and holders only exist for individual companies. Those modes return a clear diagnostic note for non-company symbols; use quote or historical instead.
How far back does history go? Use range: "max" or a wide dateFrom/dateTo window. Daily, weekly, and monthly intervals are supported.
Will it break when Yahoo changes things? The HTTP-first + browser-fallback design absorbs most anti-bot tightening. Records validate against the output schema, and the actor fails honestly (clear status, no silent empty success) when a symbol genuinely has no data.
Is there an MCP / AI-agent interface? Yes. The actor is exposed in the Apify MCP server as apify--yahoo-finance-scraper. Input descriptions and output shapes are written for LLM consumption.
Legal & disclaimer
This actor collects publicly available data from Yahoo Finance for research and analysis. It does not bypass authentication or access private/paywalled data. You are responsible for using the data in compliance with Yahoo's Terms of Service and all applicable laws. The data is provided as-is, for informational purposes only, and is not financial advice. Verify critical figures against an authoritative source before relying on them for trading or investment decisions. Not affiliated with, endorsed by, or sponsored by Yahoo or its affiliates.