Skip to content

Migration Guide: API v2 → v3

1. Overview

v3 introduces a unified schema across asset classes, simplified request parameters, expanded wildcard support, and several new data products. This guide outlines breaking changes, deprecations, new features, and endpoint/parameter mappings needed when migrating from v2.

2. Deprecations

These v2 endpoints and features are removed or awaiting re-introduction in v3.

Feature / Endpointv2 Behaviorv3 StatusNotes / Replacement
/v2/hist/stock/splitReturns stock split dataComing SoonTBD
/v2/hist/stock/dividendReturns stock dividend dataComing SoonTBD
Bulk requests (strikes/exp)Returns all matching strikes for an expirationNew BehaviorUse * wildcard for strike and expiration fields

3. New Features in v3

Option Data

  • Implied Volatility Snapshot Endpoint
  • Option History
    • Trade Implied Volatility History Endpoint
    • Wildcard support for expiration/strike

Index Data

  • Added index price at-time endpoint

Market Calendar

  • On Date Endpoint
  • Current Day Endpoint
  • Year Holidays Endpoint

4. Endpoint Mapping

4.1 List Endpoints

v2 Endpointv3 EndpointNotes
/v2/list/roots/{sec}/v3/{sec}/list/symbols1
/v2/list/dates/{sec}/{req}/v3/{sec}/list/dates/{req}1, 2
/v2/list/expirations/v3/option/list/expirations
/v2/list/strikes/v3/option/list/strikes
/v2/list/contracts/option/{req}/v3/option/list/contracts/{req}2

1sec ∈ {stock, option, index}
2req ∈ {trade, quote}


4.2 Stock Endpoints

v2 Endpointv3 EndpointNotes
/v2/hist/stock/eod/v3/stock/history/eod
/v2/hist/stock/{req}/v3/stock/history/{req}1, 4
/v2/at_time/stock/{req}/v3/stock/at_time/{req}2
/v2/snapshot/stock/{req}/v3/stock/snapshot/{req}3
/v2/bulk_snapshot/stock/{req}Use v3 snapshot symbol=*

1No longer includes start_date and end_date parameters. Returns one day of data.
2req ∈ {trade, quote}
3req ∈ {trade, quote, ohlc}
4req ∈ {trade, quote, ohlc, trade_quote}


4.3 Options Endpoints

v2 Endpointv3 EndpointNotes
/v2/hist/option/eod/v3/option/history/eod
/v2/snapshot/option/{req}/v3/option/snapshot/{req}1, 2, 3
/v2/hist/option/{req}/v3/option/history/{req}1, 2, 4
/v2/hist/option/greeks_{req}/v3/option/history/greeks/{req}1, 2, 5
/v2/hist/option/trade_greeks_{req}/v3/option/history/trade_greeks/{req}1, 2, 5
/v2/at_time/option/{req}/v3/option/at_time/{req}

1strike and right params are no longer required and will return bulk data if not provided
2Allows for bulk expiration requests with expiration=*
3req ∈ {trade, quote, ohlc, open_interest}
4req ∈ {trade, quote, ohlc, open_interest, trade_quote}
5req ∈ {first_order, second_order, third_order}
6req ∈ {trade, quote}


4.4 Index Endpoints

v2 Endpointv3 EndpointNotes
/v2/snapshot/index/{req}/v3/index/snapshot/{req}1
/v2/hist/option/{req}/v3/option/history/{req}2
/v2/hist/index/price/v3/index/history/price3

1req ∈ {ohlc, price}
2req ∈ {ohlc, eod}
3No longer includes start_date and end_date parameters. Returns one day of data.

5. Parameter Mapping

v2 Paramv3 ParamNotes
pretty_timev3 uses pretty timestamps by default
rthReplace with start_time / end_time filters
rootsymbolDirect symbol identifier
expexpirationAccepts YYYYMMDD, YYYY-MM-DD, or *
rightrightValues changed from ['C','P']['call','put']
strikestrikeNow a float in dollars; supports *
ivlintervalMillisecond int → string (1m, 5m, 1h, etc.)
use_csvformatOptions: csv, ndjson, json
reqrequest_typeUsed in v3 path parameters
under_pricestock_price
annual_divannual_dividend
raterate_value
rate_typeDefaults when rate_value is omitted