0DTESPX.com

Market data API

Sessions, strikes, history, and option-chain snapshots.

Market-data endpoints expose trading sessions, strikes, index price history, and option-chain snapshots. Most work without authentication for the most recent and current sessions; the full archive and 1-second resolution require a free registered account — see access levels.

Endpoints

Method Path Purpose
GET /market-data/sessions Available trading sessions
GET /market-data/strikes/{date} Strikes for a date
GET /market-data/historical/{date} Index series for a date
GET /market-data/option-chain-snapshots/{timestamp} Chain at one moment
GET /market-data/option-chain-snapshots/{startTime}/{endTime} Chain over a range
GET /market-data/average-expected-move Average expected-move series

For authenticated requests each endpoint also has a rate-limit cost; see rate limits for the per-endpoint figures.

Sessions

curl -s https://api.0dtespx.com/market-data/sessions -H "Authorization: $TOKEN"

Returns a map keyed by date:

{
	"2025-01-15": {
		"start-time": "2025-01-15T14:30:00Z",
		"end-time": "2025-01-15T21:00:00Z",
		"data-start-time": "2025-01-15T14:31:00Z",
		"data-end-time": "2025-01-15T21:00:00Z",
		"current": true
	}
}

start-time/end-time are the trading-session bounds; data-start-time/data-end-time are the bounds of historical data (usually a minute narrower on the open). current: true marks today's in-progress session (always 1-second data for everyone). For unauthenticated callers, restricted: true marks every session except the most recent completed one; for authenticated users no session is restricted. Times are UTC; the trading day is 9:30 AM–4:00 PM ET.

Strikes

curl -s https://api.0dtespx.com/market-data/strikes/2025-01-15 -H "Authorization: $TOKEN"
# → [5800, 5805, 5810, …]

Index history

curl -s "https://api.0dtespx.com/market-data/historical/2025-01-15?series=spx,vix,spxExpectedMove" \
  -H "Authorization: $TOKEN"

Selectable series: spx, vix, spxExpectedMove, spxOTMBids, spxExtrinsic (default spx,spxExpectedMove). Each point carries a datetime, a unix timestamp, and the requested values as decimal strings. Public (no auth) for the most recent and current sessions; sample rate is 1 second authenticated, 30 seconds unauthenticated.

Option-chain snapshots

A single-timestamp snapshot (timestamp path format YYYY-MM-DDTHH:MM:SS, UTC):

curl -s https://api.0dtespx.com/market-data/option-chain-snapshots/2025-01-15T09:35:00 \
  -H "Authorization: $TOKEN"
{
  "call_5950": { "bid": 4.20, "ask": 4.40, "delta": 0.523 },
  "put_5950": { … }
}

Keys are call_<strike> and put_<strike>. Each quote carries bid, ask, and the unsigned delta (decimal 0..1). The range form returns up to 30 snapshots between two times at your access interval (1 s authenticated, 30 s unauthenticated).

Average expected move

GET /market-data/average-expected-move returns the average expected-move series ordered by second of session. Each point is { second_of_session, avg_pct_of_open }; values map to time by their own second_of_session. Public, and cached by the browser for 24 hours.

Rate limiting

Authenticated accounts meter market-data requests against a per-endpoint credit budget; unauthenticated traffic isn't rate-limited (it's confined to the most recent session instead). See rate limits for the leaky-bucket mechanism and each endpoint's cost.