New and existing clients get up to $1,000 bonus at Questrade. New clients use code GET1000. Learn more.

(opens in a new tab)

Documentation

The Questrade API allows developers to create their own fully featured trading and analytical applications through their brokerage account.

GET symbols/:id/options

Retrieves an option chain for a particular underlying symbol.

Request parameters

Request parameters
ParameteridTypeIntegerDescriptionInternal symbol identifier. Can occur in the ‘location’ header only.

Response properties

Response properties
PropertysymbolsTypeComplexDescriptionList of ChainPerExpiryDate elements.
PropertyNested property, level 2. ChainPerExpiryDateTypeComplexDescription
PropertyNested property, level 3. expiryDateTypeDateTimeDescriptionOption expiry date.
PropertyNested property, level 3. descriptionTypeStringDescriptionDescription of the underlying option.
PropertyNested property, level 3. listingExchangeTypeEnumerationDescriptionPrimary listing exchange. See Listing Exchange section for the list of all listing exchanges.
PropertyNested property, level 3. optionExerciseTypeTypeEnumerationDescriptionOption exercise style (e.g., "American"). See Option Exercise Type section for all allowed values.
PropertyNested property, level 3. chainPerRootTypeComplexDescriptionList of ChainPerRoot elements.
PropertyNested property, level 3. ChainPerRootTypeComplexDescription
PropertyNested property, level 2. optionRootTypeStringDescriptionOption root symbol.
PropertyNested property, level 3. chainPerStrikePriceTypeComplexDescriptionList of ChainPerStrikePrice elements.
PropertyNested property, level 3. ChainPerStrikePriceTypeComplexDescription
PropertyNested property, level 2. strikePriceTypeDoubleDescriptionOption strike price.
PropertyNested property, level 2. callSymbolIdTypeIntegerDescriptionInternal identifier of the call option symbol.
PropertyNested property, level 2. putSymbolIdTypeIntegerDescriptionInternal identifier of the put option symbol.

Sample request

HTTP
GET https://api01.iq.questrade.com/v1/symbols/9291/options

Sample JSON response

JSON
{
    "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

Report an issue

Have questions about Questrade's API? Tell us how we can help, send us an email.

Request a feature

We want your ideas on how we can improve our API. If you have a suggestion for a minor tweak, a major overhaul, or something brand new, please share it with us.

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.

See All