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