Young man smiling

Documentation

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

GET markets/quotes/options

Retrieves a single Level 1 market data quote and Greek data for one or more option symbols.

Request parameters

ParameterTypeDescription
filters
Complex
Input array of OptionIdFilter structures
ids
Integer[ ]
Input array of option IDs.

OptionIdFilter

Option filters based on underlying Ids

NameTypeDefaultDescription
optionType
Enumeration
 
Option type
underlyingId
Integer
 
Underlying ID
expiryDate
DateTime
 
Expiry date
minstrikePrice
Double
0
Min strike price
maxstrikePrice
Double
0
Max strike price

Response properties

PropertyTypeDescription
quotes
Complex
List of Level1OptionData records.
Level1OptionData
Complex
 
underlying
String
Underlying name
underlyingId
Integer
Underlying ID
symbol
String
Symbol name
symbolId
Integer
Symbol ID
bidPrice
Double
Bid price
bidSize
Integer
Bid size
askPrice
Double
Ask price
askSize
Integer
Ask size
lastTradePriceTrHrs
Double
Last trade price trade hours
lastTradePrice
Double
Last trade price
lastTradeSize
Integer
Last trade size
lastTradeTick
Enumeration
Last trade tick
lastTradeTime
DateTime
Last trade time
volume
Integer
Volume
openPrice
Double
Open price
highPrice
Double
High price
lowPrice
Double
Low price
volatility
Double
Volatility
delta
Double
Delta
gamma
Double
Gamma
theta
Double
Theta
vega
Double
Vega
rho
Double
Rho
openInterest
Integer
Open interest
delay
Integer
How much is data delayed
isHalted
Boolean
Whether or not the symbol was halted
VWAP
Double
Volume Weighted Average Price

The underlyingId and expiryDate fields are required in filters. Other fields are optional (if you need multiple expiries, specify multiple filters). You can specify an OptionIds and/or a filters vectors in any given request.

Sample request


POST https://api01.iq.questrade.com/v1/markets/quotes/options
{
    “filters”: [
        {
             “optionType”: ”Call”,
             “underlyingId”: 27426,
             “expiryDate”: ”2017-01-20T00:00:00.000000-05:00”,
             “minstrikePrice”: 70,
             “maxstrikePrice”: 80
        },
              ...
      ],
      “optionIds”:
             [
              9907637,
              9907638,
                  ...
         ]
  }
   

Sample response


{
    “optionQuotes”: [
        {
            “underlying”: ”MSFT”,
            “underlyingId”: 27426,
            “symbol”: ”MSFT20Jan17C70.00”,
            “symbolId”: 7413503,
            “bidPrice”: 4.90,
            “bidSize”: 0,
            “askPrice”: 4.95,
            “askSize”: 0,
            “lastTradePriceTrHrs”: 4.93,
            “lastTradePrice”: 4.93,
            “lastTradeSize”: 0,
            “lastTradeTick”: ”Equal”,
            “lastTradeTime”: ”2015-08-17T00:00:00.000000-04:00”,
            “volume”: 0.
            “openPrice”: 0,
            “highPricehighPrice”: 4.93,
            “lowPrice”: 0,
            “volatility”: 52.374257,
            “delta”: 0.06985,
            “gamma”: 0.01038,
            “theta”: -0.001406,
            “vega”: 0.074554,
            “rho”: 0.04153,
            “openInterest”: 2292,
            “delay”: 0,
           “isHalted”: false,
           “VWAP”: 0
        },
             ...
     ]

 }
   

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.

Get Started

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.

Get Started

Start a free trial

Try out the features of your application in a simulated environment without affecting your real positions.

Get Started
See All