Yahoo Finance Scraper - $1.00/1k Quotes & OHLCV avatar

Yahoo Finance Scraper - $1.00/1k Quotes & OHLCV

Pricing

$1.00 / 1,000 item returneds

Go to Apify Store
Yahoo Finance Scraper - $1.00/1k Quotes & OHLCV

Yahoo Finance Scraper - $1.00/1k Quotes & OHLCV

The same Yahoo endpoint that quotes AAPL also quotes SPY, ^GSPC, EURUSD=X and BTC-USD. No API key. Ticker search, current quotes with change %, previous close and the 52-week range, or OHLCV history. Prices are Yahoo's, delayed as Yahoo delays them. $1.00 per 1,000 rows.

Pricing

$1.00 / 1,000 item returneds

Rating

5.0

(2)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

2 days ago

Last modified

Share

Yahoo Finance Scraper

One Yahoo Finance endpoint quotes AAPL, SPY, ^GSPC, EURUSD=X and BTC-USD. Equity, ETF, index, currency pair, crypto, all in the same JSON shape. This calls it with no API key and no login. Three modes:

  • search — find ticker symbols by name. appleAAPL.
  • quote — current price snapshot for one or more symbols.
  • history — OHLCV candles over a range and interval.

Covers whatever Yahoo covers: stocks, ETFs, indices (^GSPC), FX (EURUSD=X) and crypto (BTC-USD).

It calls Yahoo's public JSON endpoints on query1/query2.finance.yahoo.com directly. Nothing here parses HTML, so a Yahoo page redesign doesn't touch it. If Yahoo changes those endpoints, that's a different story, and you'd see it in the diagnostic rows.

Input

FieldTypeDefaultNotes
modestringquotesearch, quote or history
querystringSearch text. Search mode only.
symbolsarrayTickers for quote and history mode.
rangestring1mo1d, 5d, 1mo, 3mo, 6mo, 1y, 5y, max
intervalstring1d1m, 5m, 1d, 1wk, 1mo
maxItemsinteger100Up to 1000. Caps history bars and search hits.
proxyConfigurationobjectoffOnly worth turning on if Yahoo rate-limits your IP at volume.
{ "mode": "search", "query": "apple", "maxItems": 20 }
{ "mode": "quote", "symbols": ["AAPL", "MSFT", "BTC-USD"] }
{ "mode": "history", "symbols": ["AAPL"], "range": "1mo", "interval": "1d" }

Output

search

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

quote

{ "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 — one row 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 real row carries ok: true. Failures come back as ok: false rows with an errorCodeRATE_LIMITED, NOT_FOUND, NO_RESULTS, BAD_INPUT, NETWORK — and are never charged.

Limits

  • Intraday intervals need short ranges. 1m and 5m only work back about a day to a month; Yahoo won't serve minute bars for a five-year range. Ask for it and you'll get a short series or nothing, which is Yahoo's rule, not the actor's.
  • Yahoo rate-limits hard. On a 429 the actor backs off and retries with a rotated browser-like User-Agent. If it stays limited you get RATE_LIMITED rows and no charge. That's the one case where turning the proxy on is worth it.
  • A generic User-Agent gets rejected outright by these endpoints, which is why the actor always sends a browser one.
  • Bad symbols surface as NOT_FOUND for that symbol only. The rest of the batch still returns data.
  • This is Yahoo's data, delayed as Yahoo delays it. Quote prices are not a real-time exchange feed and shouldn't be treated as one.

Billing

$1.00 per 1,000 rows ($0.001 each), and nothing charged for starting a run. One item charge per successful row, at the same price on every plan.

A row is a row in every mode: a search hit, a quote snapshot, or one OHLCV bar. Ten symbols in quote mode is 10 rows, $0.01. A year of daily candles for one ticker is about 250 rows, $0.25.

maxItems is a hard cap on rows, so it doubles as your spend cap. Diagnostic, empty, rate-limited and NOT_FOUND rows aren't charged, and with no start fee a run that returns only diagnostics costs nothing at all.