Yahoo Finance Scraper — Quotes, Financials, History, Options
Pricing
from $5.00 / 1,000 results
Yahoo Finance Scraper — Quotes, Financials, History, Options
Scrape Yahoo Finance quotes, historical OHLC, income, balance-sheet and cash-flow statements, analyst ratings and price targets, news, options chains, earnings, holders and company profiles. Ten modes are auto-detected from a ticker, company name or URL.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
1
Bookmarked
21
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
What is Yahoo Finance Scraper — Quotes, Financials, History, Options?
Yahoo Finance Scraper turns a ticker, a company name or a Yahoo Finance URL into a flat dataset of market data. Ten modes cover live quotes, historical OHLC bars, income, balance-sheet and cash-flow statements, analyst targets and rating changes, news, options chains, earnings, holders, company profiles and symbol search. Every row carries a _mode tag, so analysts, quant researchers, fintech builders and AI agents can pull prices, fundamentals and sentiment into one pipeline from a single input field.
Why analysts use this Yahoo Finance scraper
- One query, ten kinds of data.
modeset toautoreads the query: a ticker returns a quote, a company name returns symbol matches, and a Yahoo Finance URL returns that page's section. - Every asset class with a Yahoo symbol. Stocks, ETFs, indices (
^GSPC), crypto (BTC-USD), forex (EURUSD=X), futures (ES=F) and non-US listings (VOW3.DE,7203.T). - Two billing units that match the data. Rich records such as quotes, statements and articles are one result each; bulk rows such as OHLC bars and option contracts are lighter data points.
- Agent-readable notes. When a symbol has no data for a mode, the dataset returns a free
_diagnosticrow with a_noteexplaining how to adjust the query. - Flat JSON. Stable keys, explicit
nulls and ISO 8601 dates, ready for spreadsheets, notebooks and LLM prompts.
Best fit for this Actor
- Designed for research that needs depth on a security: history, statements, analyst views, options or ownership alongside the price.
- Use
searchmode first when you only know the company name, then pass the returnedsymbolto any other mode. - For fast real-time quotes across many tickers at once, continue with Stock Price Tracker, which is built for bulk quote monitoring.
- When you need the original filings behind the statements, then use SEC EDGAR Scraper for 10-K, 10-Q and 8-K documents.
Mode guide
mode | One row represents | Billing unit |
|---|---|---|
quote | A live price snapshot with change, day and 52-week range, volume, market cap, P/E, EPS and pre/post-market price | Result |
historical | One OHLC bar with adjusted close and volume | Data point |
financials | One statement period (income, balance or cash flow), annual or quarterly | Result |
analysis | Price-target consensus, recommendation trend or a rating change | Result |
news | One article with title, publisher, link and publish time | Result |
options | One call or put contract with strike, expiration, open interest and implied volatility | Data point |
earnings | One quarter's actual versus estimated EPS, plus the next earnings date | Result |
holders | One institutional or insider holder, or the ownership breakdown | Result |
profile | Sector, industry, employees, website and business summary | Result |
search | One symbol match for a company name | Result |
Example workflow: from a company name to a research brief
A portfolio analyst starts with a company name, Nvidia. They run search mode with query set to Nvidia and pick NVDA from the matches. Then they run financials with frequency set to quarterly, analysis for the price-target consensus and historical with range set to 2y for the price chart. They export the rows to a notebook, compare revenue growth with the analyst targets, and schedule a weekly quote run so the brief stays current.
Input
| Field | Type | What it controls |
|---|---|---|
query | string | Ticker, company name or Yahoo Finance URL. Required. |
mode | string | auto (default) or one of the ten modes above. |
interval | string | Historical bar size: 1d, 1wk or 1mo. |
range | string | Historical look-back: 5d to max. Default 1y. |
dateFrom / dateTo | string | Exact historical window in YYYY-MM-DD; overrides range. |
frequency | string | Financials period: annual or quarterly. |
newsCount | integer | Articles to request in news mode, 1 to 50. |
maxResults | integer | Cap on dataset rows, 1 to 5000. Default 100. |
proxyConfiguration | object | Apify Proxy settings. |
{"query": "MSFT","mode": "historical","interval": "1wk","dateFrom": "2024-01-01","dateTo": "2025-01-01","maxResults": 60}
Output
Every row has _mode, symbol and name. The remaining fields depend on the mode.
| Mode | Key fields |
|---|---|
quote | price, change, changePercent, previousClose, open, dayHigh, dayLow, volume, averageVolume, marketCap, fiftyTwoWeekHigh, fiftyTwoWeekLow, trailingPE, forwardPE, epsTrailing, dividendYield, preMarketPrice, postMarketPrice, timestamp |
historical | date, open, high, low, close, adjClose, volume |
financials | _dataType (income, balance or cashflow), periodEnding, frequency, totalRevenue, netIncome, totalAssets, operatingCashflow |
analysis | recommendationKey, targetMeanPrice, firm, toGrade, date |
news | title, publisher, link, publishedAt |
options | contractSymbol, type, strike, expiration, openInterest, impliedVolatility |
earnings | quarter, epsActual, epsEstimate, nextEarningsDate |
holders | holder, sharesHeld, percentHeld, institutionsPercentHeld |
profile | sector, industry, website, description, fullTimeEmployees |
search | exchange, assetType, typeDisplay, score |
| Any mode | _diagnostic, _note, _error on a free note row when a mode has no data for the symbol |
Quote row:
{"_mode": "quote","symbol": "AAPL","name": "Apple Inc.","assetType": "EQUITY","currency": "USD","exchange": "NasdaqGS","marketState": "REGULAR","price": 332.02,"change": -1,"changePercent": -0.30028227,"previousClose": 333.02,"open": 330.17,"dayHigh": 332.4816,"dayLow": 328.37,"volume": 3829608,"averageVolume": 46830968,"marketCap": 4845559349248,"fiftyTwoWeekHigh": 345.34,"fiftyTwoWeekLow": 243.42,"trailingPE": 38.032074,"forwardPE": 34.64731,"epsTrailing": 8.73,"dividendYield": 0.0031529637,"preMarketPrice": null,"postMarketPrice": null,"timestamp": "2026-10-01T13:45:12.000Z"}
Search row:
{"_mode": "search","symbol": "NVDA","name": "NVIDIA Corporation","exchange": "NASDAQ","assetType": "EQUITY","typeDisplay": "Equity","score": 1121686}
Pricing
This Actor uses Pay per event with Apify platform usage included in the event price. You pay one Result event per rich record (quote, statement period, rating, article, earnings row, holder, profile or symbol match), one lighter Data point event per historical bar or option contract, and one Actor Start event per run. Diagnostic note rows are free. The live Pricing tab on this page shows the current event prices.
Worked example: a weekly history for one ticker over a year saves about 52 bars, so it costs about 52 data-point events plus one start event. A quarterly financials pull that returns 12 statement periods costs 12 result events plus one start event. maxResults caps both.
API example
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~yahoo-finance-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"query": "AAPL", "mode": "quote"}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("khadinakbar/yahoo-finance-scraper").call(run_input={"query": "AAPL", "mode": "financials", "frequency": "quarterly"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["_mode"], item.get("periodEnding"), item.get("totalRevenue"))
Use with AI agents (MCP)
Connect the Actor to Claude, ChatGPT, Cursor or any MCP client through Apify MCP, then ask:
Get Apple's latest quote, the analyst price-target consensus and the last four quarters of EPS actual versus estimate from Yahoo Finance, and summarize the gap.
The agent calls the Actor once per mode (quote, analysis, earnings), reads each dataset with get-dataset-items, and filters rows by _mode. A row with _diagnostic set to true carries a _note the agent can act on, such as switching an ETF to quote or historical. Cost scales with rows, so keep maxResults tight for chat answers.
Best results
| Starting situation | Helpful action | Expected outcome |
|---|---|---|
| Only a company name | Run search and pick the symbol | The exact ticker for every other mode |
| A non-US listing | Add the exchange suffix, for example VOW3.DE or 7203.T | The right listing and currency |
| A specific historical window | Set dateFrom and dateTo | Bars for exactly that window |
| A long options chain | Raise maxResults | Calls and puts across expirations |
| ETFs, indices, crypto or forex | Use quote, historical or news | Data that fits the asset type |
| A Yahoo Finance page you already have open | Paste its URL as query | The mode that matches that page |
Builder's note
I built this as one Actor with modes because most research questions about a security jump between price, fundamentals and sentiment, and agents work more smoothly with a single tool and a single query field. I designed two billing units so a five-year daily history or a full options chain stays affordable next to richer records like statements and articles. I found that explaining an empty result helps agents more than an empty dataset, which is why no-data cases return a free _diagnostic row with a plain-language _note.
FAQ
Which markets are covered?
Any security with a Yahoo Finance symbol: US and international equities, ETFs, indices, crypto, forex, mutual funds and futures.
Which modes fit ETFs and crypto?
quote, historical, news and search fit every asset type. Statements, earnings, options and holders are company data, so they fit individual stocks.
How far back does history go?
Set range to max, or use a wide dateFrom and dateTo window, with daily, weekly or monthly bars.
Is this financial advice?
No. The data is for research and informational purposes. Confirm important figures with an authoritative source before trading.
Responsible use
This Actor collects publicly available Yahoo Finance data for research and analysis and reads public pages only. Use the data in line with Yahoo's terms and applicable laws. Yahoo is a trademark of its owner; this independent Actor is not affiliated with or endorsed by Yahoo. For questions or bugs, open a ticket in the Issues tab.