Yahoo Finance Scraper — Quotes, Financials, History, Options avatar

Yahoo Finance Scraper — Quotes, Financials, History, Options

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Yahoo Finance Scraper — Quotes, Financials, History, Options

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

Khadin Akbar

Maintained by Community

Actor stats

1

Bookmarked

21

Total users

1

Monthly active users

18 days ago

Last modified

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. mode set to auto reads 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 _diagnostic row with a _note explaining 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 search mode first when you only know the company name, then pass the returned symbol to 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

modeOne row representsBilling unit
quoteA live price snapshot with change, day and 52-week range, volume, market cap, P/E, EPS and pre/post-market priceResult
historicalOne OHLC bar with adjusted close and volumeData point
financialsOne statement period (income, balance or cash flow), annual or quarterlyResult
analysisPrice-target consensus, recommendation trend or a rating changeResult
newsOne article with title, publisher, link and publish timeResult
optionsOne call or put contract with strike, expiration, open interest and implied volatilityData point
earningsOne quarter's actual versus estimated EPS, plus the next earnings dateResult
holdersOne institutional or insider holder, or the ownership breakdownResult
profileSector, industry, employees, website and business summaryResult
searchOne symbol match for a company nameResult

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

FieldTypeWhat it controls
querystringTicker, company name or Yahoo Finance URL. Required.
modestringauto (default) or one of the ten modes above.
intervalstringHistorical bar size: 1d, 1wk or 1mo.
rangestringHistorical look-back: 5d to max. Default 1y.
dateFrom / dateTostringExact historical window in YYYY-MM-DD; overrides range.
frequencystringFinancials period: annual or quarterly.
newsCountintegerArticles to request in news mode, 1 to 50.
maxResultsintegerCap on dataset rows, 1 to 5000. Default 100.
proxyConfigurationobjectApify 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.

ModeKey fields
quoteprice, change, changePercent, previousClose, open, dayHigh, dayLow, volume, averageVolume, marketCap, fiftyTwoWeekHigh, fiftyTwoWeekLow, trailingPE, forwardPE, epsTrailing, dividendYield, preMarketPrice, postMarketPrice, timestamp
historicaldate, open, high, low, close, adjClose, volume
financials_dataType (income, balance or cashflow), periodEnding, frequency, totalRevenue, netIncome, totalAssets, operatingCashflow
analysisrecommendationKey, targetMeanPrice, firm, toGrade, date
newstitle, publisher, link, publishedAt
optionscontractSymbol, type, strike, expiration, openInterest, impliedVolatility
earningsquarter, epsActual, epsEstimate, nextEarningsDate
holdersholder, sharesHeld, percentHeld, institutionsPercentHeld
profilesector, industry, website, description, fullTimeEmployees
searchexchange, 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 ApifyClient
client = 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 situationHelpful actionExpected outcome
Only a company nameRun search and pick the symbolThe exact ticker for every other mode
A non-US listingAdd the exchange suffix, for example VOW3.DE or 7203.TThe right listing and currency
A specific historical windowSet dateFrom and dateToBars for exactly that window
A long options chainRaise maxResultsCalls and puts across expirations
ETFs, indices, crypto or forexUse quote, historical or newsData that fits the asset type
A Yahoo Finance page you already have openPaste its URL as queryThe 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.