Understanding Tradovate API Rate Limits
What the rate limits are, how MimikTrader handles them automatically, and what to do if you hit them.
5 min read
Tradovate imposes rate limits on their API to protect their infrastructure and ensure fair access across all integrations. As a MimikTrader user, you generally do not need to worry about these limits — our built-in rate limiter manages them automatically. However, understanding how they work helps you diagnose unusual situations and make informed decisions when scaling to many accounts.
Tradovate's Rate Limits
Tradovate enforces two tiers of rate limiting on API requests:
- Hourly limit: 5,000 requests per hour per OAuth application. This is a rolling window, not a fixed clock-hour boundary. It covers all API calls including order placement, account queries, position checks, and token refreshes.
- Per-minute limit: 80 requests per minute per OAuth application. This is the more restrictive limit in practice and the one most likely to be encountered during high-frequency trading activity.
These limits apply to the OAuth application (MimikTrader's registered application with Tradovate), not to individual user accounts. This means all MimikTrader users share the same limit pool for a given OAuth application credential.
How MimikTrader Handles Rate Limits
Built-In Rate Limiter
MimikTrader includes a server-side rate limiter that tracks the number of API requests made within each rolling window. Before making any API call to Tradovate, the rate limiter checks the current usage and, if approaching the limit, queues the request with a small delay rather than firing it immediately. This ensures requests are spaced out appropriately and the limits are never exceeded.
For trade copying specifically, order placement requests are given the highest priority in the queue. Account status checks and other non-critical requests are deprioritized. This means that even under heavy load, your trade copies are processed first.
OAuth Application Pool
To handle scaling across many users and accounts, MimikTrader maintains a pool of OAuth application credentials. Instead of routing all API traffic through a single application, the platform distributes requests across multiple registered OAuth apps. Each app has its own independent rate limit allocation, effectively multiplying the available capacity.
This pooling happens transparently — you do not need to configure anything. MimikTrader's backend automatically assigns your accounts to an appropriate OAuth application and balances the load across the pool.
Request Optimization
MimikTrader minimizes unnecessary API calls through several optimizations:
- WebSocket connections for real-time trade detection and market data, which do not count against REST API rate limits.
- Batching related requests where the Tradovate API supports it.
- Caching account metadata and instrument definitions that do not change frequently.
- Proactive token refresh before expiration to avoid redundant authentication requests.
What Is a P-Ticket?
When the Tradovate API receives more requests than the rate limit allows, it returns a response with a p-ticket header instead of the normal response data. The p-ticket is essentially a retry token — it tells the client to wait and retry the request after a short delay.
If MimikTrader receives a p-ticket response, it automatically handles the retry. The request is placed back in the queue with the appropriate delay and resubmitted. You may notice a very slight additional latency on the affected order (typically a few hundred milliseconds), but the order will still be placed.
When You Might Hit Rate Limits
Under normal trading activity — even with 10 or more follower accounts — the rate limits are not a concern. Each trade copy generates a small number of API calls (the order placement and any bracket orders), well within the 80-per-minute limit.
Situations where rate limits could become a factor:
- Very high-frequency trading: If the leader account is scalping with dozens of round trips per minute across multiple instruments, the volume of API calls can approach the limit, especially with many followers.
- Mass flatten events: If multiple accounts hit their risk limits simultaneously and all need to be flattened at the same time, the burst of close orders can spike the request count.
- Connection recovery: After a network outage, MimikTrader may need to re-sync account states and positions, which generates additional API calls.
Best Practices
- For most users, no action is needed — the rate limiter handles everything automatically.
- If you trade very frequently, consider grouping follower accounts across separate copy groups with different leader accounts. This spreads the API call load more evenly.
- Avoid unnecessary reconnections. Disconnecting and reconnecting accounts repeatedly consumes API calls for token refresh and account synchronization.
- If you are running more than 20 follower accounts, contact support so we can ensure your accounts are distributed optimally across our OAuth application pool.