Yahoo Finance Quote Scraper avatar

Yahoo Finance Quote Scraper

Pricing

Pay per event

Go to Apify Store
Yahoo Finance Quote Scraper

Yahoo Finance Quote Scraper

Pull Yahoo Finance quote snapshots and historical OHLCV candles for any list of tickers — equities, ETFs, indices, crypto, FX. We handle the retries, fingerprint rotation, and proxy routing so the data lands. One typed row per symbol, JSON or CSV export.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Categories

Share


🎯 What this scrapes

Give it a list of Yahoo Finance tickers — equities, ETFs, indices (^GSPC), crypto (BTC-USD), or FX pairs (EURUSD=X) — and it returns one coherent record per symbol: a current quote snapshot (price, previous close, 52-week range, exchange, timezone) plus recent OHLCV candle history for the range and interval you choose. It's a snapshot/polling Actor, not a live streaming feed, built for the quote + chart JSON surface Yahoo Finance itself serves. Three Apify Store rivals already run this same data cluster at real volume (776, 321, and 137 users) — this Actor targets the same demand with per-symbol fault isolation so one bad ticker never sinks your whole batch.

🔥 What we handle for you

  • 🛡️ Browser fingerprint rotationcurl-cffi impersonates real Chrome / Firefox / Safari TLS handshakes on every request, standing policy regardless of how clean a target looks today.
  • 🔁 Retries with exponential backoff on 429 / 5xx / network errors — up to 5 attempts per symbol, Retry-After honoured.
  • 🌐 Apify Proxy routing wired on every run — pick RESIDENTIAL if you want it, default groups suffice today.
  • 🧩 Per-symbol fault isolation — one bad ticker (typo, delisted, no candles) never sinks the rest of your batch; the run only fails if every symbol comes back empty.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, one coherent quote + history object per symbol.
  • 💰 Pay-Per-Event pricing — you pay only for symbols that return data. No data, no charge beyond the flat warm-up fee.

💡 Use cases

  • Portfolio dashboards — pull current price + recent history for your whole watch list in one run.
  • Screening / backtesting — bulk-fetch OHLCV candles across a symbol universe (equities, ETFs, crypto, FX) for a strategy backtest.
  • Alerting — schedule a daily run, diff successive snapshots, alert when price crosses a threshold.
  • Cross-asset dashboards — mix equities, indices, crypto, and FX pairs in a single call; Yahoo's ticker syntax covers all four.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
symbolsarrayyes['AAPL', '^GSPC', 'BTC-USD']Yahoo Finance ticker symbols. Equities/ETFs as-is (AAPL), indices ^-prefixed (^GSPC), crypto -USD-suffixed (BTC-USD),…
rangestringno'1mo'How far back to pull candle history.
intervalstringno'1d'Candle granularity within the requested range.
proxyConfigurationobjectno{'useApifyProxy': True}Apify Proxy routing. Default groups suffice against this target; RESIDENTIAL stays selectable if you need it.

Example input

{
"symbols": [
"AAPL",
"^GSPC",
"BTC-USD"
],
"range": "1mo",
"interval": "1d",
"proxyConfiguration": {
"useApifyProxy": true
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
symbolstringYahoo Finance ticker symbol (meta.symbol).
currency['string', 'null']Quote currency (meta.currency).
exchange_name['string', 'null']Exchange code (meta.exchangeName).
instrument_type['string', 'null']Instrument type, e.g. EQUITY, INDEX, CRYPTOCURRENCY (meta.instrumentType).
regular_market_price['number', 'null']Current/last regular market price.
previous_close['number', 'null']Previous session close.
regular_market_time['string', 'null']ISO-8601 UTC timestamp of the last regular market price.
fifty_two_week_high['number', 'null']52-week high.
fifty_two_week_low['number', 'null']52-week low.
timezone['string', 'null']Exchange timezone code.
requested_rangestringEcho of the requested range input.
requested_intervalstringEcho of the requested interval input.
candle_countintegerNumber of candles returned; 0 when the symbol is valid but has no candles for the requested range/interval.
candlesarrayOHLCV candle history (timestamp, open, high, low, close, volume). May be empty.

Example output

{
"symbol": "AAPL",
"currency": "USD",
"exchange_name": "NMS",
"instrument_type": "EQUITY",
"regular_market_price": 227.52,
"previous_close": 226.01,
"regular_market_time": "2026-09-10T20:00:00Z",
"fifty_two_week_high": 260.1,
"fifty_two_week_low": 164.08,
"timezone": "EST",
"requested_range": "1mo",
"requested_interval": "1d",
"candle_count": 2,
"candles": [
{
"timestamp": "2026-09-09T13:30:00Z",
"open": 224.1,
"high": 227.9,
"low": 223.55,
"close": 226.01,
"volume": 51234000
},
{
"timestamp": "2026-09-10T13:30:00Z",
"open": 226.2,
"high": 228.4,
"low": 225.6,
"close": 227.52,
"volume": 47821000
}
]
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.2One-off warm-up charge per run
result$0.006Per dataset item

Example: 1 000 symbols at the rates above ≈ $6.20. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

  • No options chains, financials/earnings, analyst estimates, news, or screener data — quote + chart only.
  • Snapshot/polling only, not a real-time streaming feed.
  • No symbol search/autocomplete — supply exact Yahoo ticker syntax.
  • Currency is passed through as reported by Yahoo, not cross-symbol normalized.

❓ FAQ

Is this real-time streaming?

No — this is a REST snapshot: current quote plus recent OHLCV history for the range/interval you choose. For tick-by-tick data, use a WebSocket feed instead.

What ticker syntax does it expect?

Yahoo's own syntax: equities/ETFs as-is (AAPL), indices ^-prefixed (^GSPC), crypto -USD-suffixed (BTC-USD), FX =X-suffixed (EURUSD=X).

What happens if I typo a symbol or it's delisted?

That one symbol is skipped with a logged reason and the rest of your batch still returns. The run only fails if every requested symbol comes back empty.

Do you cover options, financials, or news?

Not in this Actor — quote and chart data only. Options chains, financials/earnings, analyst estimates, news, and screener endpoints are out of scope.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.