Documentation

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

Rate limiting

The API implements a rate limiting system for all authenticated calls. The purpose of this functionality is to protect servers from abuse and to provide a clear expectation of the level of service that the API commits to fulfil.

Limits

Rate limits are defined across categories of API calls as described in the following table.

CategoryAPI Calls Maximum allowed
requests per second
Maximum allowed
requests per hour
Account calls
GET time
GET accounts
GET accounts/:id/positions
GET accounts/:id/balances
GET accounts/:id/executions
GET accounts/:id/orders
30
30000
Market Data calls
GET markets
GET markets/quotes/:id
GET markets/candles/:id
GET symbols/:id
GET symbols/:id/options
20
15000
Rate limit headers

The API communicates rate limit information in the headers of responses to all calls that are limited.

Specifically, the following headers are provided:

  • X-RateLimit-Remaining – number of requests allowed against the current limit
  • X-RateLimit-Reset – time when the current limit will expire (Unix timestamp)

Sample rate limit headers

 HTTP/1.1 200 OK
   Content-Length: 123
   Content-Type: application/json; charset=utf-8
   Date: Fri, 18 Aug 2014 22:17:16 GMT
   X-RateLimit-Remaining: 100
   X-RateLimit-Reset: 1300286940
Exceeding limits

If one exceeds the above rate limits, then the API server will respond with a rate limit error message with the HTTP status code 429 (Too Many Requests) and the same rate limit headers one would receive in a normal response to limited call.

Downloads

C plus plus

C ++

Dec 18, 2015Version 1.1.0
Release notesDownload
C sharp

C #/Active X

Dec 18, 2015Version 1.1.0
Release notesDownload

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