Documentation
The Questrade API allows developers to create their own fully featured trading and analytical applications through their brokerage account.
REST operations
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.
| Category | API Calls | Maximum allowed requests per second | Maximum allowed requests per hour |
|---|---|---|---|
| CategoryAccount calls | API CallsGET time GET accounts GET accounts:id/positions GET accounts/:id/balances GET accounts/:id/executions GET accounts/:id/orders | Maximum allowed requests per second30 | Maximum allowed requests per hour30000 |
| CategoryMarket Data calls | API CallsGET markets GET markets/quotes/:id GET markets/candles/:id GET symbols/:id GET symbols/:id/options | Maximum allowed requests per second20 | Maximum allowed requests per hour15000 |
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: 1300286940Exceeding 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 ++
| Dec 18, 2015 | Version 1.1.0 |
|---|---|
| Release notes | Download API (opens in a new tab) |

C #/Active X
| Dec 18, 2015 | Version 1.1.0 |
|---|---|
| Release notes | Download API (opens in a new tab) |
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.


