Historical Stock, ETF & Futures Data in Parquet

Split-adjusted OHLCV for backtesting — 1-minute to daily bars since 2000, delisted tickers included.

> Get the Complete Archive -- $79 > Download a free daily sample 26 years of history · no subscription · pandas / Polars / DuckDB ready

> try it — free, no signup:

curl -LO https://marketparquet.com/api/data/download/stock_daily/2026-09-25.parquet

2026-09-25 close · download

also free, no signup: intraday sample pack · 1 week of 1-min to 1-hour bars, 30 symbols (zip, 3.6 MB)

on a phone? register free and the welcome email carries the download commands for your computer

datesymbolopenhighlowclosevolume
2026-09-25AAPL336.04341.67334.53341.0730002507.0
2026-09-25MSFT499.035519.4497.25516.1738193112.0
2026-09-25NVDA225.13226.94223.1329225.0789947712.0
2026-09-25AMZN248.56250.8775247.18249.6734263902.0
2026-09-25GOOGL342.35347.03341.11343.9221880846.0

real rows from this file · see all 50 rows →

We couldn't find reliable split-adjusted Parquet data for backtesting, so we built it — 26 years of US historical market data, one file per trading day.

Pricing

Buy the archive once -- no subscription. See pricing.

Feature Free sample Complete Archive ($79)
Daily (EOD) data Last 1 year Full history
Intraday (1min-1hour) sample pack (1 week, 30 symbols) Full history
Asset types Stock, ETF, Futures Stock, ETF, Futures
Downloads Unlimited Unlimited
API access 60 req/min 600 req/min

* Optional add-on: Keep Current -- $15/mo rolls your archive forward each trading day. Cancel anytime.

Data Inventory

Updated every trading day — stocks current through 2026-09-25 · ETFs through 2026-09-25 · futures through 2026-09-25.

Timeframe Files Date Range Total Size
1-Min 6,810 2000-01-03 .. 2026-09-25 89.2 GB
5-Min 6,810 2000-01-03 .. 2026-09-25 31.3 GB
30-Min 6,810 2000-01-03 .. 2026-09-25 9.3 GB
1-Hour 6,810 2000-01-03 .. 2026-09-25 6.1 GB
Daily 6,838 2000-01-03 .. 2026-09-25 1.2 GB
Timeframe Files Date Range Total Size
1-Min 6,724 2000-01-03 .. 2026-09-25 15.6 GB
5-Min 6,724 2000-01-03 .. 2026-09-25 6.8 GB
30-Min 6,724 2000-01-03 .. 2026-09-25 2.3 GB
1-Hour 6,724 2000-01-03 .. 2026-09-25 1.5 GB
Daily 6,724 2000-01-03 .. 2026-09-25 348 MB
Timeframe Files Date Range Total Size
1-Min 5,862 2007-12-31 .. 2026-09-25 3.4 GB
5-Min 5,862 2007-12-31 .. 2026-09-25 1.2 GB
30-Min 5,862 2007-12-31 .. 2026-09-25 419 MB
1-Hour 5,862 2007-12-31 .. 2026-09-25 265 MB
Daily 4,876 2007-12-31 .. 2026-09-25 44 MB

Schema

  path: by_date/{asset}_{timeframe}/YYYY-MM-DD.parquet
  compression: snappy

  assets:     stock, etf, futures
  timeframes: 1min, 5min, 30min, 1hour, daily

  columns:
    timestamp    TIMESTAMP[us]   -- bar open time (US/Eastern)
    symbol       STRING          -- ticker symbol
    asset_type   STRING          -- "Stock", "ETF", or contract code
    open         FLOAT64         -- open price
    high         FLOAT64         -- high price
    low          FLOAT64         -- low price
    close        FLOAT64         -- close price
    volume       FLOAT64         -- bar volume
    

Quick Start

  # no account, no key -- daily files from the last 7 days are free
  curl -LO https://marketparquet.com/api/data/download/stock_daily/2026-09-25.parquet

  # or always-newest (302 to the dated file; saves as latest.parquet)
  curl -LO https://marketparquet.com/api/data/download/stock_daily/latest.parquet

  # Python
  import pandas as pd
  df = pd.read_parquet("stock_1min_2024-01-15.parquet")
  aapl = df[df.symbol == "AAPL"]   # SPY/QQQ live in the etf_* files

  # API -- one file (full API reference: /documentation)
  curl -H "Authorization: Bearer bt_YOUR_KEY" \
    https://marketparquet.com/api/v1/download/stock_1min/2024-01-15

  # API -- every file in a date range in one call (presigned URLs, valid 60 min)
  curl -H "Authorization: Bearer bt_YOUR_KEY" \
    "https://marketparquet.com/api/v1/manifest/stock_daily?start=2024-01-01&end=2024-12-31"
    

One Parquet file per trading day, read with pd.read_parquet(...). > API reference & code samples

> see inside a file -- live preview of the latest daily parquet

Split-adjusted OHLCV bars, 1-minute to daily, US stocks & ETFs from 2000 and futures from 2007, survivorship-bias-free with delisted tickers, updated after market close -- one Parquet file per trading day, loads straight into pandas/Polars/DuckDB.