Documentation
The Questrade API allows developers to create their own fully featured trading and analytical applications through their brokerage account.
REST operations
GET symbols/:id/options
Retrieves an option chain for a particular underlying symbol.
Request parameters
| Parameter | Type | Description |
|---|---|---|
| Parameterid | TypeInteger | DescriptionInternal symbol identifier. Can occur in the ‘location’ header only. |
Response properties
| Property | Type | Description |
|---|---|---|
| Propertysymbols | TypeComplex | DescriptionList of ChainPerExpiryDate elements. |
| PropertyNested property, level 2. ChainPerExpiryDate | TypeComplex | Description |
| PropertyNested property, level 3. expiryDate | TypeDateTime | DescriptionOption expiry date. |
| PropertyNested property, level 3. description | TypeString | DescriptionDescription of the underlying option. |
| PropertyNested property, level 3. listingExchange | TypeEnumeration | DescriptionPrimary listing exchange. See Listing Exchange section for the list of all listing exchanges. |
| PropertyNested property, level 3. optionExerciseType | TypeEnumeration | DescriptionOption exercise style (e.g., "American"). See Option Exercise Type section for all allowed values. |
| PropertyNested property, level 3. chainPerRoot | TypeComplex | DescriptionList of ChainPerRoot elements. |
| PropertyNested property, level 3. ChainPerRoot | TypeComplex | Description |
| PropertyNested property, level 2. optionRoot | TypeString | DescriptionOption root symbol. |
| PropertyNested property, level 3. chainPerStrikePrice | TypeComplex | DescriptionList of ChainPerStrikePrice elements. |
| PropertyNested property, level 3. ChainPerStrikePrice | TypeComplex | Description |
| PropertyNested property, level 2. strikePrice | TypeDouble | DescriptionOption strike price. |
| PropertyNested property, level 2. callSymbolId | TypeInteger | DescriptionInternal identifier of the call option symbol. |
| PropertyNested property, level 2. putSymbolId | TypeInteger | DescriptionInternal identifier of the put option symbol. |
Sample request
GET https://api01.iq.questrade.com/v1/symbols/9291/optionsSample JSON response
{
"options": [
{
"expiryDate": "2015-01-17T00:00:00.000000-05:00",
"description": "BANK OF MONTREAL",
"listingExchange": "MX",
"optionExerciseType": "American",
"chainPerRoot": [
{
"root": "BMO",
"chainPerStrikePrice": [
{
"strikePrice": 60,
"callSymbolId": 6101993,
"putSymbolId": 6102009
},
{
"strikePrice": 62,
"callSymbolId": 6101994,
"putSymbolId": 6102010
},
{
"strikePrice": 64,
"callSymbolId": 6101995,
"putSymbolId": 6102011
},
...
],
"multiplier": 100
}
]
}
]
}Already a Questrade client?
Create your first application using your Questrade account.
Integrate your application with Questrade API
Support
If you are using an api app developed by a third party, you are required to read, understand and accept the end-user license agreement for application program interface. If you are utilizing api access for an api-enabled app you built, you are required to read, understand and accept the Questrade personal application program interface ("api") license agreement ("license agreement"). This agreement can be found below. You may be bound by both agreements.


