Pricing
$1.00 / 1,000 item returneds
Yahoo Finance Scraper
Scrape Yahoo Finance with no API key: search symbols by name, get real-time price quotes (price, currency, % change, 52-week range), or pull OHLCV price history for stocks, ETFs, indices, FX and crypto. Clean structured JSON.
Pricing
$1.00 / 1,000 item returneds
Rating
5.0
(1)
Developer
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
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
| Field | Type | Default | Notes |
|---|---|---|---|
mode | string | quote | search | quote | history |
query | string | โ | Search text (search mode), e.g. apple |
symbols | array | โ | Tickers (quote/history mode), e.g. ["AAPL","MSFT","BTC-USD"] |
range | string | 1mo | 1d,5d,1mo,3mo,6mo,1y,5y,max (history) |
interval | string | 1d | 1m,5m,1d,1wk,1mo (history; intraday needs short range) |
maxItems | integer | 100 | Caps history rows / search results |
proxyConfiguration | object | { "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_LIMITEDrows. Enable Apify Proxy if you hit this under high volume. - Invalid symbols surface as
NOT_FOUNDrows (other symbols in the batch still return data).
