Skip to main content

Options Trading

The Options API lets you trade US stock options through the same unified order endpoints as stocks. Options are differentiated by setting instrument_type: OPTION and providing option-specific parameters including the legs array with strike price, expiration, and option type.

For stock and ETF trading, see the dedicated Stock Trading page.

Supported Order Types​

Order TypeDescription
MARKETExecute immediately at the best available price
LIMITExecute at the specified price or better
STOP_LOSSTrigger a market order when the stop price is reached
STOP_LOSS_LIMITTrigger a limit order when the stop price is reached

Time in Force​

ValueDescription
DAYValid for the current trading day only
GTCGood till cancelled

Supported Strategy​

The Options API supports single-leg (SINGLE) option orders only. Set option_strategy to SINGLE in your order request.

Position Intent​

For margin accounts, you must specify position_intent to indicate whether the order is opening or closing a position:

ValueDescription
BUY_TO_OPENOpen a new long position (buy calls or puts)
SELL_TO_CLOSEClose an existing long position (sell calls or puts you own)
tip

Cash accounts can leave position_intent blank.

Key Parameters​

Order-Level Parameters​

ParameterRequiredDescription
account_idYesTrading account identifier
client_order_idYesUnique client-defined order ID (max 32 chars, must be unique per account)
combo_typeYesNORMAL for standard orders
option_strategyYesStrategy type (see table above)
instrument_typeYesOPTION
marketYesUS
order_typeYesMARKET, LIMIT, STOP_LOSS, or STOP_LOSS_LIMIT
sideYesBUY or SELL
quantityYesNumber of contracts
entrust_typeYesQTY (only quantity-based orders are supported)
time_in_forceYesDAY or GTC
position_intentConditionalRequired for margin accounts: BUY_TO_OPEN or SELL_TO_CLOSE
limit_priceConditionalRequired for LIMIT and STOP_LOSS_LIMIT
stop_priceConditionalRequired for STOP_LOSS and STOP_LOSS_LIMIT
symbolYesUnderlying symbol (e.g., AAPL)

Leg Parameters (legs[])​

ParameterRequiredDescription
sideYesBUY or SELL
quantityYesNumber of contracts for this leg
symbolYesUnderlying symbol (e.g., AAPL)
strike_priceYesStrike price of the option
option_expire_dateYesExpiration date in YYYY-MM-DD format
instrument_typeYesOPTION (or EQUITY for stock legs in covered strategies)
option_typeYesCALL or PUT
marketYesUS

Request Examples​

Buy 1 AAPL call option at a limit price of $11.25, strike price $220, expiring 2025-11-19.

{
"account_id": "<your_account_id>",
"new_orders": [
{
"client_order_id": "<unique_id>",
"combo_type": "NORMAL",
"order_type": "LIMIT",
"limit_price": "11.25",
"quantity": "1",
"option_strategy": "SINGLE",
"position_intent": "BUY_TO_OPEN",
"side": "BUY",
"time_in_force": "DAY",
"entrust_type": "QTY",
"instrument_type": "OPTION",
"market": "US",
"symbol": "AAPL",
"legs": [
{
"side": "BUY",
"quantity": "1",
"symbol": "AAPL",
"strike_price": "220.00",
"option_expire_date": "2025-11-19",
"instrument_type": "OPTION",
"option_type": "CALL",
"market": "US"
}
]
}
]
}

Option Contract Symbol Format​

Option symbols follow the OCC (Options Clearing Corporation) format:

AAPL260522C00300000
│ │ │ │
│ │ │ └── Strike price × 1000 (padded to 8 digits): $300.00
│ │ └── Option type: C = Call, P = Put
│ └── Expiration date: YYMMDD (2025-05-22)
└── Underlying symbol (up to 6 chars)

Use the Option Contracts endpoint to retrieve valid option symbols for a given underlying.

Option Market Data​

The following market data endpoints are available for options:

EndpointDescription
Option TickTick-by-tick trade records for a specified option contract
Option SnapshotReal-time quote snapshot with price, volume, bid/ask, and Greeks
Option Historical BarsOHLCV candlestick data for option contracts
Option ContractsQuery available option contracts by underlying symbol
caution

Access to option market data via the OpenAPI requires a paid market-data subscription. This subscription module is under active development — please stay tuned.

What's Next​