
Yahoo Finance Scraper
hipersoft/yahoo-finance-scraper
Get live stock, ETF, crypto, forex and index quotes from Yahoo Finance by ticker: price, day and 52-week range, volume, exchange and change %, plus optional OHLCV price history. Public data, no setup.
Total users
1Monthly users
1Total runs
119Per symbol scraped
$0.0007Last rebuilt
Oct 26, 2026Overview
Pull live market data for any ticker from Yahoo Finance. Give the Actor a list of symbols and it returns each one's price, day change, day range, 52-week range, volume, exchange and market state — plus optional OHLCV price history. Works for stocks, ETFs, crypto, forex and indices. Public data, so no login, no API key.
Great for portfolio tracking, market dashboards, quant datasets, alerting and research.

What you get per symbol
| Field | Notes |
|---|---|
price, previousClose |
Latest price and prior close. |
change, changePercent |
Absolute and % move vs previous close. |
dayHigh, dayLow, volume |
Regular-session day stats. |
fiftyTwoWeekHigh, fiftyTwoWeekLow |
52-week range. |
name, currency, exchange, marketState |
Instrument info + REGULAR/CLOSED/PRE/POST. |
marketTime |
Timestamp of the quote (ISO 8601). |
history |
Optional OHLCV array (date, open, high, low, close, adjClose, volume). |
Input
{
"symbols": ["AAPL", "MSFT", "BTC-USD", "EURUSD=X", "^GSPC"],
"includeHistory": true,
"interval": "1d",
"range": "6mo"
}
- symbols — Yahoo tickers, one per line. Stocks (
AAPL), ETFs (SPY), crypto (BTC-USD), forex (EURUSD=X), indices (^GSPC). - includeHistory — attach an OHLCV candle array (default off = quote only).
- interval — candle size (
1m…1mo) for history. - range — how far back (
1d…max) for history. - maxConcurrency — symbols fetched in parallel.
- proxyConfiguration — optional; only if you hit rate limits.
Output (one row per symbol)

{
"symbol": "AAPL",
"name": "Apple Inc.",
"currency": "USD",
"exchange": "NasdaqGS",
"marketState": "REGULAR",
"price": 315.32,
"previousClose": 312.10,
"change": 3.22,
"changePercent": 1.03,
"dayHigh": 316.4,
"dayLow": 311.8,
"volume": 48213000,
"fiftyTwoWeekHigh": 320.1,
"fiftyTwoWeekLow": 210.4,
"marketTime": "2026-07-10T20:00:00.000Z",
"found": true
}
Output schema
| Field | Type | Description |
|---|---|---|
symbol |
string | The Yahoo Finance ticker you requested. |
name |
string | Instrument name (company or asset name). |
currency |
string | Currency the price is quoted in. |
exchange |
string | Exchange the instrument trades on. |
instrumentType |
string | Instrument class (e.g. EQUITY, ETF, CRYPTOCURRENCY, CURRENCY, INDEX). |
marketState |
string | Current market state — REGULAR, CLOSED, PRE or POST. |
price |
number | Latest traded price. |
previousClose |
number | Prior session's closing price. |
change |
number | Absolute price move vs previous close. |
changePercent |
number | Percentage price move vs previous close. |
dayHigh |
number | Highest price in the current regular session. |
dayLow |
number | Lowest price in the current regular session. |
volume |
integer | Regular-session trading volume. |
fiftyTwoWeekHigh |
number | Highest price over the trailing 52 weeks. |
fiftyTwoWeekLow |
number | Lowest price over the trailing 52 weeks. |
marketTime |
string (ISO date) | Timestamp of the quote (ISO 8601). |
timezone |
string | Exchange timezone for the quote. |
found |
boolean | Whether the symbol was found (false for unknown tickers). |
error |
string | Error message when a symbol could not be fetched, otherwise null. |
history |
array | Optional OHLCV candle array (date, open, high, low, close, adjClose, volume) when includeHistory is on. |
FAQ
Do I need an API key or Yahoo Finance account? No. The Actor reads public Yahoo Finance market data, so there's no login and no API key. A proxy is optional and only needed if you hit rate limits.
How many symbols can I fetch per run?
There's no fixed cap — pass as many tickers as you like (one per line) and tune maxConcurrency to control how many are fetched in parallel. Symbols that don't exist come back with found: false.
How fresh is the data?
Quotes are pulled live at run time and include a marketState (REGULAR/CLOSED/PRE/POST) plus a marketTime ISO timestamp, so you always know when the price was captured.
Is this official Yahoo Finance data? The data is provided by Yahoo Finance for personal/informational use, but this Actor is an independent tool and is not affiliated with or endorsed by Yahoo. It is not investment advice.
What's the output format?
Flat JSON, one row per symbol, with price, day change, day range, 52-week range, volume and exchange — plus an optional OHLCV history array. Export as JSON, CSV or Excel.
Can I connect the Yahoo Finance Scraper to other tools? The Yahoo Finance Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
More market-data scrapers from the same publisher:
- CoinGecko Scraper — live crypto prices, market cap, volume and ATH/ATL.
- DefiLlama Scraper — DeFi protocols, yields, chains and stablecoins with TVL and APY.
- SEC EDGAR Filings Scraper — 10-K, 10-Q and 8-K filings by ticker or CIK.
Notes
Symbols that don't exist return a row with found: false. Data is provided by Yahoo
Finance for personal/informational use — respect their terms; not investment advice.
Input
| Field | Type | Description |
|---|---|---|
symbolsTicker symbols | array | Yahoo Finance tickers: stocks (AAPL, MSFT), ETFs (SPY), crypto (BTC-USD), forex (EURUSD=X), indices (^GSPC). One per line. |
includeHistoryInclude price history | boolean | Attach an OHLCV candle array (per the interval/range below) to each symbol. Off = live quote only. Default: false |
intervalHistory interval | string · 1m, 5m, 15m, 30m, 60m, 1d… | Candle size for history. Default: "1d" |
rangeHistory range | string · 1d, 5d, 1mo, 3mo, 6mo, 1y… | How far back the history goes. Default: "1mo" |
maxConcurrencyConcurrency | integer | How many symbols to fetch in parallel. Default: 10 |
proxyConfigurationProxy configuration | object | Proxy configuration. Leave the default — it is tuned for reliable results. Default: {"useApifyProxy": false} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~yahoo-finance-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"symbols": [
"AAPL",
"MSFT",
"BTC-USD"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/yahoo-finance-scraper").call(run_input={
"symbols": [
"AAPL",
"MSFT",
"BTC-USD"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/yahoo-finance-scraper').call({
"symbols": [
"AAPL",
"MSFT",
"BTC-USD"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Symbol scraped One ticker fetched — live quote, day and 52-week range, volume and optional price history | $0.0007 | $0.0004 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Carousell Scraper
Scrape Carousell search listings: title, price, condition, location, seller, photo and URL. Requires your own Carousell app token.
242 runs · 2 users · $0.003 / listing scrapedGoogle Flights Scraper
Scrape flight options from Google Flights by route and date: airline, flight number, departure and arrival times, duration, stops, layovers and price. One-way or round-trip, any cabin and currency. For travel and price monitoring.
216 runs · 4 users · $0.004 / flight scrapedPinterest Scraper
Search Pinterest and scrape pins (title, description, destination link, image, pinner, board, saves), boards and users. Fast. For visual research, e-commerce, trend and marketing analysis.
151 runs · 2 users · $0.0034 / item scrapedGoogle Trends Scraper
Scrape Google Trends for any keyword: interest over time, related and rising queries, and interest by region. Per country and timeframe. For SEO, market and trend research. No setup.
139 runs · 6 users · $0.001 / keyword scrapedAliExpress Product Search Scraper
Search AliExpress by keyword and export one clean row per product — title, sale price, original price, image and product URL. Export to JSON, CSV or Excel.
135 runs · 3 users · $0.003 / product scrapedGoogle Maps Scraper
Search Google Maps and scrape places: name, category, full address, city, coordinates, rating, phone, website, Place ID and map link. Fast browser-free via Google's internal endpoint, no setup. For local lead generation and market research.
130 runs · 2 users · $0.005 / place scrapedSend the site and the fields. We build it and you get it first.