Yahoo Finance Scraper – Quotes, Financials & Price History avatar

Yahoo Finance Scraper – Quotes, Financials & Price History

Pricing

from $0.50 / 1,000 symbol data rows

Go to Apify Store
Yahoo Finance Scraper – Quotes, Financials & Price History

Yahoo Finance Scraper – Quotes, Financials & Price History

Scrape Yahoo Finance data for stocks, ETFs, indices, crypto and FX. Search by name or pass tickers. Each row: price, change, volume, market cap, day and 52-week range, P/E, the full quote object, plus optional company summary, financials and price history. No API key needed.

Pricing

from $0.50 / 1,000 symbol data rows

Rating

0.0

(0)

Developer

R.L.

R.L.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Categories

Share

Yahoo Finance Scraper — Quotes, Financials & Price History for Stocks, ETFs, Indices, Crypto & FX

Yahoo Finance Scraper — Scrape Yahoo Finance data for stocks, ETFs, indices, crypto and FX. Search by name ('apple', 'bitcoin') or pass tickers straight in. Each row carries price, change, volume, market cap, day and 52-week range, P/E and the full quote object, plus optional company summary, financials and price history. It reads Yahoo Finance's own mobile API directly, so it's fast, reliable and complete — no API key, no flaky HTML parsing, no headless browser. Export to JSON, CSV, Excel, or an API.


Why use this Yahoo Finance Scraper?

  • No code required — set your input, click Start, download your data.
  • Fast & accurate — reads Yahoo Finance's own private API and returns structured JSON, not scraped HTML.
  • Rich, structured data — every field below, clean and ready to use.
  • Full pagination — collects results to your maxItems cap.
  • Transparent pay-per-result pricing — pay only for the rows you get.
  • Export anywhere — JSON, CSV, Excel, XML, or pull it live via the Apify API.

What can you do with Yahoo Finance data?

  • Watchlist snapshots — one row per ticker with price, change, volume and ranges, on a schedule.
  • Fundamental screening — pull P/E, market cap, margins and statements for a list of symbols and rank them in a spreadsheet.
  • Backtests and charts — export OHLCV candles for each symbol at the interval you need.
  • Portfolio and dashboard feeds — read the dataset from your own code or a BI tool instead of maintaining a Yahoo client.

Which symbols and markets can I scrape?

Anything Yahoo Finance itself lists — the actor forwards your symbol to Yahoo and keeps whatever Yahoo returns, so it has no universe of its own. The quoteType field tells you which class Yahoo assigned a row.

Asset classquoteTypeSearch term that resolves itTickers you can pass directly
StocksEQUITYapple, tesla, siemensAAPL, TSLA, MSFT, NVDA, SIE.DE
ETFsETFs&p 500 etf, nasdaq etfSPY, QQQ, VTI, IWM
IndicesINDEXs&p 500, nasdaq, ftse^GSPC, ^DJI, ^IXIC, ^FTSE, ^N225
CryptoCRYPTOCURRENCYbitcoin, ethereum, solanaBTC-USD, ETH-USD, SOL-USD
FX pairsCURRENCYeuro dollar, yenEURUSD=X, GBPUSD=X, JPY=X
FuturesFUTUREcrude oil, goldCL=F, GC=F, ES=F
Mutual fundsMUTUALFUNDvanguard 500VFIAX, FXAIX

Non-US listings work through their Yahoo suffix (SIE.DE, RY.TO, BP.L), and region / lang set the market context Yahoo answers in.


What data does the Yahoo Finance Scraper extract?

Each row includes: symbol, shortName, quoteType, exchange, currency, regularMarketPrice, regularMarketChange, regularMarketChangePercent, regularMarketVolume, marketCap, regularMarketDayRange, fiftyTwoWeekRange, trailingPE, quote …and more. See the full field list below.


How do I scrape Yahoo Finance? (3 steps)

  1. Set your input — provide query or symbols (see the table below; defaults work out of the box).
  2. Pick options — filters, a proxyConfiguration, and a maxItems cap.
  3. Run & export — click Start, then download the dataset as JSON/CSV/Excel or fetch it via the API.

What inputs does it take?

FieldTypeDefaultDescription
querystringappleA human-friendly search string (e.g. 'apple', 'tesla', 'S&P 500', 'bitcoin'). Resolved to the best-matching symbol via Yahoo's own mobile search endpoint.
symbolsarray of string–Optional explicit ticker symbols (e.g. AAPL, MSFT, BTC-USD). Advanced: bypasses search resolution.
resultsPerQueryinteger1How many matching symbols to keep from each search term.
includeSummarybooleantrueFetch the full company summary/financials detail (33 quoteSummary modules) for each symbol.
includeHistorybooleanfalseFetch a price-history time series (chart) for each symbol.
historyRangeenum1moRange for price history when enabled. — one of 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max
historyIntervalenum1dCandle interval for price history. — one of 1m, 5m, 15m, 30m, 1h, 1d, 1wk, 1mo
regionstringUSMarket region code (e.g. US, GB, DE).
langstringen-USLanguage code (e.g. en-US).
maxItemsinteger00 = all resolved symbols.
proxyConfigurationobjectApify ProxyRoute requests through a proxy (Apify Proxy by default).

Example input

{
"query": "apple",
"resultsPerQuery": 1,
"includeSummary": true,
"includeHistory": false,
"historyRange": "1mo",
"historyInterval": "1d",
"region": "US",
"lang": "en-US",
"maxItems": 0,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

What does a result row look like?

Each result is a JSON object like this:

{
"symbol": "TSLA",
"shortName": "Tesla, Inc.",
"quoteType": "EQUITY",
"exchange": "NMS",
"currency": "USD",
"regularMarketPrice": 394.045,
"regularMarketChange": -8.85498,
"regularMarketChangePercent": -2.1978111,
"regularMarketVolume": 19107152,
"marketCap": 1479924252672,
"regularMarketDayRange": "390.96 - 399.63",
"fiftyTwoWeekRange": "293.55 - 498.83",
"trailingPE": 361.5092,
"quote": {
"…": "80 fields"
},
"summary": {
"…": "one key per quoteSummary module Yahoo returned"
},
"chart": {
"meta": {
"…": "25 fields"
},
"timestamp": [
1780925400,
1781011800,
"…+19 more"
],
"indicators": {
"quote": [
{
"…": "5 fields"
}
],
"adjclose": [
{
"…": "1 fields"
}
]
}
},
"searchMatch": {
"…": "15 fields"
}
}

Which fields does each row contain?

FieldTypeDescription
symboltextSymbol
shortNametextName
quoteTypetextType
exchangetextExchange
currencytextCurrency
regularMarketPricenumberPrice
regularMarketChangenumberChange
regularMarketChangePercentnumberChange %
regularMarketVolumenumberVolume
marketCapnumberMarket cap
regularMarketDayRangetextDay range
fiftyTwoWeekRangetext52-week range
trailingPEnumberTrailing P/E
quoteobjectFull quote
summaryobjectSummary & financials
chartobjectPrice history
searchMatchobjectSearch match

The table mirrors the dataset overview. The row also promotes these quote scalars to the top level whenever Yahoo returns them, so you rarely need to dig into quote:

longName, displayName, typeDisp, fullExchangeName, financialCurrency, market, marketState, region, language, regularMarketOpen, regularMarketDayHigh, regularMarketDayLow, regularMarketPreviousClose, regularMarketTime, preMarketPrice, preMarketChangePercent, postMarketPrice, postMarketChangePercent, bid, ask, bidSize, askSize, sharesOutstanding, bookValue, priceToBook, forwardPE, epsTrailingTwelveMonths, epsForward, fiftyDayAverage, twoHundredDayAverage, fiftyTwoWeekHigh, fiftyTwoWeekLow, fiftyTwoWeekChangePercent, averageDailyVolume3Month, averageDailyVolume10Day, trailingAnnualDividendRate, trailingAnnualDividendYield, dividendDate, earningsTimestamp, averageAnalystRating, firstTradeDateMilliseconds.


What is in quote, summary, chart and searchMatch?

The top-level fields (regularMarketPrice, marketCap, trailingPE …) are the most useful scalars lifted out of the quote so the dataset table stays readable. The four nested objects keep everything Yahoo returned:

  • quote — the full quote object, ~80 fields: marketState, preMarketPrice / postMarketPrice, bid / ask and sizes, fiftyDayAverage, twoHundredDayAverage, averageDailyVolume3Month, trailingAnnualDividendYield, earningsTimestamp, averageAnalystRating and the rest.
  • summary — one key per quoteSummary module Yahoo returned, present when Include summary & financials is on (the default). The actor asks for all 33 modules:
GroupModules
Company profileassetProfile, summaryProfile, summaryDetail, price, quoteType, defaultKeyStatistics, financialData, calendarEvents, secFilings
Analyst & earningsrecommendationTrend, upgradeDowngradeHistory, earnings, earningsHistory, earningsTrend, industryTrend, indexTrend, sectorTrend
Financial statementsincomeStatementHistory, incomeStatementHistoryQuarterly, balanceSheetHistory, balanceSheetHistoryQuarterly, cashflowStatementHistory, cashflowStatementHistoryQuarterly
Ownership & insidersinstitutionOwnership, fundOwnership, majorDirectHolders, majorHoldersBreakdown, insiderTransactions, insiderHolders, netSharePurchaseActivity
Funds & ETFstopHoldings, fundProfile, fundPerformance

Yahoo only answers with the modules that apply to the symbol, so an equity row has no topHoldings and an ETF row has no insiderTransactions.

  • chart — the price-history response, present when Include price history is on: meta, a timestamp array and indicators.quote (open/high/low/close/volume arrays) plus indicators.adjclose.
  • searchMatch — the search hit that resolved a term to this symbol, so you can see why apple became AAPL. It is null for symbols you passed in yourself.

Terms in the data: marketState is Yahoo's session flag (PRE, REGULAR, POST, CLOSED); regularMarketTime is the Unix timestamp of the quoted price; trailingPE uses the last twelve months of earnings while forwardPE uses the analyst estimate; regularMarketDayRange and fiftyTwoWeekRange are pre-formatted low - high strings.


How much does it cost?

This actor uses pay-per-event pricing: you pay only for the symbols it actually delivers, layered by what you enable.

EventWhen it's chargedPrice
Symbol data rowPer symbol returned (quote fields, promoted scalars, full quote object)$0.50 per 1,000 rows
Summary & financials add-onPer symbol, when Include summary & financials is on — it is on by default+$0.50 per 1,000 rows
Price history add-onPer symbol, when Include price history is on+$0.50 per 1,000 rows

One symbol with the defaults (summary on, history off) costs $1.00 per 1,000 symbols; all three together cost $1.50 per 1,000. Turn Include summary & financials off for a quotes-only run at the base $0.50 per 1,000.


How do I run it from my own code?

Run it programmatically with the Apify API:

curl -X POST "https://api.apify.com/v2/acts/yahoofinance-api-scraper/runs?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"query": "apple",
"resultsPerQuery": 1,
"includeSummary": true,
"includeHistory": false,
"historyRange": "1mo",
"historyInterval": "1d",
"region": "US",
"lang": "en-US",
"maxItems": 0,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}'

Or with the Apify CLI: apify call yahoofinance-api-scraper -i input.json -o.


FAQ

Do I need a Yahoo Finance account or API key?

No. The actor signs its own requests to Yahoo's mobile API the way the Yahoo Finance app does — no login, no Yahoo developer key, no quota to manage. You only need an Apify account.

Should I use a search term or a ticker?

Either. query takes what a person would type (apple, bitcoin, s&p 500) and resolves it through Yahoo's own search, keeping the top resultsPerQuery matches — raise that from 1 if you want every match for a name. symbols skips search entirely and is the right choice when you already know the ticker, including suffixed foreign listings like BP.L.

Is the data real-time?

It is the same quote the Yahoo Finance app shows, including marketState, pre-market and post-market prices. Whether a given exchange is live or delayed is Yahoo's decision, not this actor's — read regularMarketTime, the Unix timestamp of the price you were given, if that matters to you.

Can I get income statements, balance sheets and cash flow?

Yes, with Include summary & financials (on by default). summary.incomeStatementHistory, balanceSheetHistory and cashflowStatementHistory carry the annual statements and the …Quarterly variants the quarterly ones, alongside earnings history, analyst trends and ownership. See the module table above.

Can I get intraday price history?

Yes. Enable Include price history and set historyInterval as fine as 1m with historyRange from 1d to max. Yahoo decides how much it serves for a given combination, so a very fine interval over a long range can come back with fewer candles than the range suggests.

What am I charged for?

One symbol row per resolved symbol, plus one add-on event per symbol for the summary and for the price history when those options are on. Because Include summary & financials defaults to on, a default run bills two events per symbol. maxItems caps the symbols, and with maxItems: 0 the cap is simply how many symbols your terms and tickers resolved to.

Can I run it on a schedule?

Yes. Put it on an Apify schedule with a fixed list of symbols and you get one snapshot row per symbol per run — a simple way to build your own price or fundamentals history in a dataset.

What happens if a term or ticker doesn't resolve?

A search term that matches nothing is logged as a warning and produces no row. A ticker you passed in that Yahoo has no quote for still produces a row carrying the symbol with empty fields, so a failed input is visible in the output rather than silently missing. A summary or history call that fails logs a warning and leaves that one object null — the quote row is still delivered.


How does it work?

The actor impersonates Yahoo Finance's official app/site and calls its private API the same way the app does, then normalises each response into the flat record above. No browser, no HTML scraping — just clean, structured data.


Good to know

  • Scrape only public record data and respect Yahoo Finance.com's Terms of Service and robots policy.
  • For personal data, comply with GDPR/CCPA and applicable law — you are the data controller.
  • Fields can be null when Yahoo Finance doesn't expose them for a given record.
  • Requests go through Apify Proxy by default; residential IPs are the safest choice for long or scheduled runs.

Found this useful?

Give the Yahoo Finance Scraper a star on Apify and check out my other apify-*-api-scraper actors.

Finance & markets toolkit

Part of the Finance & markets toolkit — market data and currency conversion for financial research and trading tools:

Did you find this useful?

Rate this actor on Apify! Your feedback helps other users find it and helps us keep improving it.