OrbTop

US Stock Price Scraper

BUSINESS

US Stock Price Scraper

Download historical OHLCV (open, high, low, close, volume) stock price data for US stocks, ETFs, and indices from Yahoo Finance. Supports any ticker symbol, any interval from 1 minute to 1 month, and any date range going back decades. Includes dividends and stock splits.

What you get

Each record in the dataset contains:

Field Description
ticker Ticker symbol (e.g. AAPL, SPY, ^GSPC)
date Trading date in YYYY-MM-DD format
datetime Full ISO timestamp (intraday intervals only)
open Opening price
high Highest price during the interval
low Lowest price during the interval
close Closing price
adj_close Adjusted close (accounts for splits and dividends)
volume Shares traded during the interval
dividend_amount Dividend paid on this date, or null
split_ratio Split ratio as a string (e.g. "2:1"), or null
currency Trading currency (e.g. USD)
exchange Exchange name (e.g. NMS, PCX)
interval Data interval used (e.g. 1d, 1wk)
source_url Yahoo Finance history URL for the ticker

How to use

Basic run

  1. Set Tickers to one or more symbols: ["AAPL", "SPY", "MSFT"]
  2. Choose an Interval (1d for daily, 1wk for weekly, etc.)
  3. Choose a Range (1mo, 1y, 5y, etc.) or set a custom Start Date / End Date
  4. Enable Include Events to get dividends and stock split data alongside OHLCV rows

Input parameters

Parameter Type Description Default
tickers array List of ticker symbols (required) ["AAPL", "SPY", "MSFT"]
interval string Price interval: 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo 1d
range string Shortcut range: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max 1mo
startDate string Custom start date YYYY-MM-DD — overrides range when used with endDate
endDate string Custom end date YYYY-MM-DD
includeEvents boolean Include dividends and stock splits in the output true
maxItems integer Total record cap across all tickers. 0 = unlimited 0

Example inputs

Last month of Apple daily OHLCV:

{
  "tickers": ["AAPL"],
  "interval": "1d",
  "range": "1mo"
}

5-year weekly data for a portfolio:

{
  "tickers": ["AAPL", "MSFT", "GOOGL", "AMZN", "TSLA"],
  "interval": "1wk",
  "range": "5y",
  "includeEvents": true
}

Custom date range for S&P 500:

{
  "tickers": ["^GSPC"],
  "interval": "1d",
  "startDate": "2020-01-01",
  "endDate": "2021-12-31",
  "includeEvents": false
}

Intraday 1-hour bars:

{
  "tickers": ["SPY"],
  "interval": "1h",
  "range": "5d"
}

Supported tickers

Any ticker listed on Yahoo Finance works, including:

  • US stocks: AAPL, MSFT, TSLA, NVDA
  • ETFs: SPY, QQQ, IWM, GLD
  • Indices: ^GSPC (S&P 500), ^DJI (Dow Jones), ^IXIC (NASDAQ)
  • Crypto (via Yahoo Finance): BTC-USD, ETH-USD

Notes

  • Intraday data (1m1h intervals) is only available for approximately the last 60 days; requesting longer ranges for intraday will return whatever is available.
  • Data is sourced directly from the Yahoo Finance chart API. All prices reflect Yahoo Finance's data as of the time of the run.
  • Stock prices before splits are not adjusted in the close field, but adj_close applies all historical splits and dividends.