Documentation

Rate Limiting

We implement rate limiting to make sure the API is responsive for all customers. The rate limits are set in a way to provide substantial functionality while trying to stifle abuse. Most times, a rate limit can be subverted by implementing a different API call or leveraging other API features (i.e. instead of polling for quotes, leverage the streaming API).

How Rate Limits Work

Two pieces of information to understand as it pertains to our limits:
  • Interval - we aggregate limits over 1 minute intervals starting with the first request and reset 1 minute later
  • Limit - this can vary as outlined below, but we keep ours to 60 - 120 requests
For example: With a rate limit of 120 requests per minute, if you make a /quotes request every second for a minute, you would still have 60 requests left in that minute before hitting the limit.

Should you be concerned about rate-limits?

Probably not. Polling for data, while not the best solution, is reasonably supported by our APIs. The limits exist with enough headroom to get up-to-date data and still have room to make other requests. The best way to know if your application will hit the limits is to build it and scale back. If you feel like your application cannot work within the constraints we’ve set, feel free to reach out to us at techsupport@tradier.com.

Limits

Each limit is enforced by the minute and on a per-access-token basis. As such, the limits are enforced on per app and per user basis.

  • Standard
    • This includes resources in /accounts, /watchlists, /users and /orders.
    • This does NOT include placing orders.
    • Production: 120 requests per minute.
    • Sandbox: 60 request per minute.
  • Market Data
    • This includes resources in /markets.
    • Production: 120 requests per minute.
    • Sandbox: 60 request per minute.
  • Trading
    • This includes all resources in the “trade” scope.
    • Production: 60 request per minute.
    • Sandbox: 60 request per minute.

Headers

With each request that has a rate limit applied a series of headers will be sent in the response. These headers should help you to gauge your usage and when to throttle your application. For example:

  X-Ratelimit-Allowed: 120
  X-Ratelimit-Used: 1
  X-Ratelimit-Available: 119
  X-Ratelimit-Expiry: 1369168800001

Tradier Inc. and its corresponding technology services (including API services) are distinct and separate from the services provided by Tradier Brokerage Inc. For more information regarding the services of Tradier, Inc., please contact techsupport@tradier.com. For more information regarding the services of Tradier Brokerage, Inc. please contact service@tradierbrokerage.com. Tradier Brokerage Inc. Member FINRA/SIPC

© 2017 Tradier Inc.
  • 11016 Rushmore Drive, Suite 350
  • Charlotte, NC 28277

All materials contained on this site and specifically the API documentation pages are protected by United States copyright law and may not be copied, reproduced, distributed, transmitted, displayed, published or broadcast without the prior written permission of Tradier Inc. The Structure, Format, Layout, Examples and Design of the pages are owned by Tradier Inc, and any efforts to willfully or accidently duplicate a whole or part of the pages on this site is a violation of United States copyright law.