Request a tool
All toolsMCP serverRequest a toolPlatformsCategories
Yahoo Finance Scraper icon

Yahoo Finance Scraper

Get Yahoo Finance data without an API key: search tickers, real-time quotes, and OHLCV price history for stocks, ETFs, FX and crypto as JSON.

Run this in the cloudRun on Apify →

News & Finance Data

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust mode, query, symbols (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Inputs

FieldWhat it doesType
modeWhat to fetch. "search" = find ticker symbols by name (uses Query). "quote" = current price snapshot for each Symbol. "history" = OHLCV price history for each Sstring
queryCompany or asset name to search ticker symbols for, e.g. "apple", "vanguard s&p 500", "bitcoin". Only used when Mode is "search".string
symbolsOne or more ticker symbols to fetch, e.g. AAPL, MSFT, ^GSPC (S&P 500 index), EURUSD=X (FX), BTC-USD (crypto). Used by "quote" and "history" modes.array
rangeHow far back the price history goes (history mode). Longer ranges return more rows.string
intervalThe candle size / sampling interval for history. Intraday intervals (1m, 5m) only work with short ranges (about 1d-1mo).string
maxItemsMaximum number of result rows to return and charge for (caps history bars and search results). Quotes return one row per symbol.integer
notionConnectorOptional. Write each item as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors,string
notionParentIdOptional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your wostring

What you get

A structured dataset — each result includes fields like:

changePctclosecurrencydateexchangefiftyTwoWeekHighfiftyTwoWeekLowhighindustrylowmarketTimenameopenpreviousClose

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

3 ready-to-run use cases

Yahoo Finance Ticker Symbol Lookup by Company Name

Don't know the ticker? Search any company, fund, or ETF by name on Yahoo Finance and get back matching stock symbols, exchange, and quote type.

AAPL Live Stock Quote from Yahoo Finance API

Real-time AAPL quote with current price, currency, daily change, and 52-week high/low in a single row. Re-run any time for a fresh Apple stock snapshot.

TSLA Historical Daily Price Data, 1 Year OHLCV

One year of daily open, high, low, close, and volume bars for Tesla (TSLA), ready to drop into a backtest, chart, or quant model from Yahoo Finance.

Yahoo Finance Scraper

Scrape Yahoo Finance with no API key and no login. Three modes:

  • search — find ticker symbols by name (e.g. "apple" → AAPL).
  • quote — current price snapshot for one or more symbols.
  • history — OHLCV price history (candles) over a range/interval.

Works for stocks, ETFs, indices (^GSPC), FX (EURUSD=X) and crypto (BTC-USD).

It calls Yahoo's public JSON endpoints directly (query1/query2.finance.yahoo.com) — no HTML parsing, no scraping fragility.

Input

FieldTypeDefaultNotes
modestringquotesearch \quote \history
querystringSearch text (search mode), e.g. apple
symbolsarrayTickers (quote/history mode), e.g. ["AAPL","MSFT","BTC-USD"]
rangestring1mo1d,5d,1mo,3mo,6mo,1y,5y,max (history)
intervalstring1d1m,5m,1d,1wk,1mo (history; intraday needs short range)
maxItemsinteger100Caps history rows / search results
proxyConfigurationobject{ "useApifyProxy": false }Optional; only needed if Yahoo rate-limits your IP (429)

Examples

{ "mode": "search", "query": "apple", "maxItems": 20 }
{ "mode": "quote", "symbols": ["AAPL", "MSFT", "BTC-USD"] }
{ "mode": "history", "symbols": ["AAPL"], "range": "1mo", "interval": "1d" }

Output

search rows:

{ "symbol": "AAPL", "name": "Apple Inc.", "exchange": "NASDAQ", "quoteType": "EQUITY", "sector": "Technology", "industry": "Consumer Electronics" }

quote rows:

{ "symbol": "AAPL", "price": 201.0, "currency": "USD", "exchange": "NMS", "previousClose": 198.0, "changePct": 1.52, "fiftyTwoWeekHigh": 260.1, "fiftyTwoWeekLow": 169.2, "marketTime": "2026-06-11T20:00:00.000Z" }

history rows (one per bar):

{ "symbol": "AAPL", "date": "2026-05-12T13:30:00.000Z", "open": 210.9, "high": 211.3, "low": 206.7, "close": 207.0, "volume": 51000000 }

Every successful row has ok: true. Failures and empty results come back as ok: false rows with an errorCode (RATE_LIMITED, NOT_FOUND, NO_RESULTS, BAD_INPUT, NETWORK, …) and are never charged.

Pricing

Pay-per-result: one charge per successful row (item). Diagnostic, empty, and rate-limited rows are not charged.

Notes

  • Yahoo rejects generic User-Agents — the actor always sends a browser-like UA and rotates it per retry.
  • Yahoo rate-limits aggressively. On HTTP 429 the actor backs off and retries; persistent limits surface as RATE_LIMITED rows. Enable Apify Proxy if you hit this under high volume.
  • Invalid symbols surface as NOT_FOUND rows (other symbols in the batch still return data).