Skip to main content

Yahoo Finance Scraper data API: fields, sample output and cost per 1,000 rows

Reference for Yahoo Finance Scraper: output fields, a sample record and what a run costs. Scrape Yahoo Finance for stocks, ETFs, indexes, crypto and currencies: quotes and key statistics (price, market cap, P/E, dividend, earnings date), price his...

Updated 6 min readMarkdown

Scrape Yahoo Finance for stocks, ETFs, indexes, crypto and currencies: quotes and key statistics (price, market cap, P/E, dividend, earnings date), price history with adjusted close and dividends, or options chains with bid, ask, open interest, implied volatility, greeks and max pain.

This is the reference for the Actor v0iddo/yahoo-finance-scraper: what is in every output row, what the input takes, and what a run costs. Values below come from a real run of the Actor.

At a glance

Actor v0iddo/yahoo-finance-scraper
Store page Yahoo Finance Scraper
Output one row per result, as JSON, CSV, Excel or HTML
Fields per row 33 (19 number, 12 text, 1 URL, 1 date)
Cap on results maxItems in the input
Price $0.50 per 1,000 results

Output fields

Each result is one row with these fields (fields that name people are left out):

Field Type Meaning Sample value
symbol text Symbol AAPL
name text Name Apple Inc.
quoteType text Type EQUITY
price number Price 347.725
currency text Currency USD
changePercent number Change % -0.14215012
volume number Volume 39539690
marketCap number Market cap 5074761285632
trailingPE number P/E 39.87672
dividendYield number Dividend yield % 0.31
fiftyTwoWeekLow number 52 week low 243.42
fiftyTwoWeekHigh number 52 week high 351.73
regularMarketTime date Quote time 2026-10-23T20:00:01Z
url URL Yahoo Finance page https://finance.yahoo.com/quote/AAPL/
exchange text NasdaqGS
marketState text OVERNIGHT
change number -0.49499512
previousClose number 348.22
open number 349.11
dayLow number 345.75
dayHigh number 351.73
averageVolume number 43991589
forwardPE number 36.365494
epsTrailing number 8.72
dividendRate number 1.08
exDividendDate text 2026-08-10
beta number 1.069
earningsDate text 2026-11-02
targetMeanPrice number 329.24768
recommendation text buy
sector text Technology
industry text Consumer Electronics
scrapedAt text 2026-10-26T04:30:36Z

One record

{
  "symbol": "AAPL",
  "name": "Apple Inc.",
  "quoteType": "EQUITY",
  "exchange": "NasdaqGS",
  "currency": "USD",
  "marketState": "OVERNIGHT",
  "price": 347.725,
  "change": -0.49499512,
  "changePercent": -0.14215012,
  "previousClose": 348.22,
  "open": 349.11,
  "dayLow": 345.75,
  "dayHigh": 351.73,
  "fiftyTwoWeekLow": 243.42,
  "fiftyTwoWeekHigh": 351.73,
  "volume": 39539690,
  "averageVolume": 43991589,
  "marketCap": 5074761285632,
  "trailingPE": 39.87672,
  "forwardPE": 36.365494,
  "epsTrailing": 8.72,
  "dividendRate": 1.08,
  "dividendYield": 0.31,
  "exDividendDate": "2026-08-10",
  "beta": 1.069,
  "earningsDate": "2026-11-02",
  "targetMeanPrice": 329.24768,
  "recommendation": "buy",
  "sector": "Technology",
  "industry": "Consumer Electronics",
  "regularMarketTime": "2026-10-23T20:00:01Z",
  "url": "https://finance.yahoo.com/quote/AAPL/",
  "scrapedAt": "2026-10-26T04:30:36Z"
}

Input parameters

Parameter Type Required Default What it does
tickers array yes ["AAPL", "MSFT", "NVDA", "AMZN", "GOOGL", "META", "TSLA", "SPY", "Q... Yahoo Finance symbols, one per entry: stocks such as AAPL or BRK-B, ETFs such as SPY, indexes such as ^GSPC, crypto such as BTC-USD, currency pairs such as EURUSD=X an...
dataType string no quotes quotes: one row per ticker with price, change, volume and key statistics.
startDate string no First day of the price history as YYYY-MM-DD, for example 2020-01-01.
endDate string no Last day of the price history as YYYY-MM-DD.
interval string no 1d One row per trading day, week or month.
optionType string no all Which contracts to return.
expirations integer no 1 How many expiration dates to read per ticker, starting from the nearest one.
expirationDates array no Read these expiration dates instead of the nearest ones, as YYYY-MM-DD, for example 2026-12-18.
minStrike integer no Skip contracts with a lower strike price.
maxStrike integer no Skip contracts with a higher strike price.
minOpenInterest integer no Skip contracts with less open interest.
minVolume integer no Skip contracts that traded fewer contracts today.
riskFreeRate number no Yearly interest rate in percent, such as a Treasury bill yield, used for the greeks, for example 4.25.
maxItems integer no 100 The run stops after this many result rows.

Ready-made examples

Saved inputs on Apify: run one as it is, or copy it and change the values.

Cost per 1,000 rows

$0.50 per 1,000 results. You pay per result row. There is no separate charge per run. Higher Apify plans pay less per result, down to $0.35 per 1,000.

Results Cost at the listed price Cost at the lowest plan price
100 $0.05 $0.04
1,000 $0.50 $0.35
10,000 $5.00 $3.50
100,000 $50.00 $35.00

The figures are the listed price times the number of results. The maxItems limit and the maximum cost setting in the run options both stop a run before it spends more than you planned.

Get the rows as CSV over HTTP

One request starts a run, waits for it and returns the dataset. The format parameter picks the file type and fields picks the columns. Replace the token with the one from Apify Console, Settings, Integrations.

curl -X POST "https://api.apify.com/v2/acts/v0iddo~yahoo-finance-scraper/run-sync-get-dataset-items?format=csv&fields=symbol,name,quoteType" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"tickers": ["AAPL", "MSFT", "NVDA", "AMZN", "GOOGL", "META", "TSLA", "SPY", "QQQ", "^GSPC", "BTC-USD", "EURUSD=X"], "maxItems": 20}'

Good to know

  • One row per ticker, read from the public quote page finance.yahoo.com/quote/TICKER/. That page already carries the quote and the key statistics, so the run makes one request per ticker.
  • changePercent and dividendYield are percentages: 0.43 means 0.43 percent. Dates are ISO 8601: exDividendDate and earningsDate as YYYY-MM-DD, regularMarketTime and scrapedAt in UTC.

No comments yet. Be the first to comment.