Blog / Best Brokers for Automated Trading and High-Frequency Orders in 2026: Every API Rate Limit Compared, and What Happens When You Exceed It
Best Brokers for Automated Trading and High-Frequency Orders in 2026: Every API Rate Limit Compared, and What Happens When You Exceed It

No retail broker API is high-frequency infrastructure, and the honest answer to this search is a list of ceilings. The highest documented order throughput among brokers that let outside software trade a retail account is Crypto.com Exchange at 15 order requests per 100 milliseconds, then Kraken's order counter (60 to 180 points, decaying 1 to 3.75 a second by verification tier), then Interactive Brokers at 10 requests a second per session, Alpaca at about 200 requests a minute per key, and Schwab at the order limit an app declares when it registers, which caps at 120 a minute. Webull told us under 90 requests a minute per user, Tradier publishes per-category per-minute limits and answers an overrun with a 400, and tastytrade publishes no quota at all, just a bare 429.
Those numbers decide which broker fits which kind of automation. A strategy that fires a few dozen orders a day fits every broker on this list. A strategy that wants hundreds of orders an hour fits two exchanges and one broker, and real high-frequency trading (thousands of messages a second, co-located) fits none of them: that is a direct-market-access or FIX relationship with a prime broker, not a retail API key. Below is each broker's limit with the source and date, what happens the moment you exceed it, and what we have learned running automated orders against these APIs for members.
What "high frequency" means at a retail API
Three different ceilings get mixed up under that phrase. The first is request rate: how many API calls a key may make per second or minute, orders included. The second is order rate: some venues meter order placement separately and more tightly than reads. The third is latency: how long an order takes to reach the matching engine, which no retail broker publishes and which runs tens to hundreds of milliseconds over the public internet. Rate limits are the only one of the three a broker documents, so they are the comparison you can actually make before opening an account.
The limits, broker by broker
All figures were read from each provider's documentation on October 23, 2026, except where the note says the number came from the provider directly or from our own production logs. Links go to the source pages.
- Charles Schwab (Trader API): when a developer registers an app, Schwab asks for an order limit and the field accepts 0 to 120 orders per minute; we set 120 on both JorgAI apps. Exceeding the declared limit returns an error on the order call. Tokens are the other throttle: a 30-minute access token and a refresh token that dies after seven days, so the member re-authorizes weekly. Source: the app registration form on developer.schwab.com, October 22, 2026.
- Alpaca (Trading API): about 200 requests per minute per API key for the Trading API, documented in Alpaca's Trading API pages and FAQ; higher limits are negotiated for Broker API partners at the correspondent level, with sandbox limits set well below production. An overrun returns 429 Too Many Requests.
- Tradier: publishes separate per-minute limits for market data, trading and account calls on its Rate Limits page, sends the remaining budget in X-Ratelimit response headers, and, unusually, answers an overrun with HTTP 400 rather than 429. Tradier's own advice is to stream quotes rather than poll them. Note that without partner status, API access is for personal use only.
- tastytrade: no published per-endpoint quota. The rate limits guide says the API throttles by "reasonable thresholds", the 429 responses carry no rate-limit headers, and too many failed logins block the IP for about eight hours. The market-data streamer has hard, published caps that fail rather than throttle. In our adapter the rule is simply low-volume REST and back off on any 429.
- Interactive Brokers (Web API): a global limit of 10 requests per second per authenticated username, with tighter per-endpoint pacing: the orders and trades lists are 1 request per 5 seconds, scanner runs 1 per second, and some portfolio endpoints 1 per 15 minutes. Exceeding it returns 429 and repeat offenders go into a penalty box; IBKR also bans unregistered automated-trading vendors, which is why JorgAI does not connect to it.
- Webull (OpenAPI): limits are per endpoint and per app key, written as N requests per T seconds, with production market-data endpoints at 60 per 60 seconds (30 per 60 in sandbox) and token creation at 10 per 10 seconds. Webull told us during onboarding that the trading budget is under 90 requests a minute per user. Overruns return 429 and repeated overruns risk an IP block.
- Kraken (Spot): two meters. Order placement has a per-pair rate counter that each order increments and that decays every second: the threshold is 60 for the Starter tier, 125 for Intermediate and 180 for Pro, decaying 1, 2.34 and 3.75 points a second. A burst over the threshold is rejected with "EOrder:Rate limit exceeded" until the counter decays. Reads use a separate REST call counter of 15 (Starter) or 20 (Intermediate and Pro), with ledger and trade-history calls costing 2, decaying 0.33 to 1 a second.
- Crypto.com Exchange: the fastest published ceiling on this list: order create and cancel at 15 requests per 100 milliseconds, order detail 30 per 100 ms, trade history 1 per second, and 3 per 100 ms for everything else. That is 150 orders a second on paper, far beyond anything a retail strategy sends.
What happens when you hit the limit
The failure modes differ more than the numbers do, and they are what break an unattended system. Alpaca, IBKR, tastytrade and Webull answer with 429; Tradier answers with 400, which a generic retry loop may treat as a permanent error; Kraken rejects the order with a text code and lets the counter decay; Crypto.com rejects the call. Three providers escalate: IBKR puts the session in a penalty box and may block repeat IPs, tastytrade blocks the IP for about eight hours after a burst of failed logins, and Webull warns of IP-level blocking. The practical rule for any bot is the same everywhere: read the response, back off with jitter, and never retry an order placement blindly, because the first attempt may have filled.
What we learned running orders against these APIs
- Kraken limits bite before you place a single order. The first JorgAI member to connect a Kraken account, on October 21, 2026, held three coins. Reconciling balances, margin and trade history every couple of minutes for one account tripped "EAPI:Rate limit exceeded" sixty times in an hour, because the Starter-tier read counter is only 15 and trade history costs 2. The fix was a 15-second cache on balance reads and a 60-second cache on trade history, dropped the moment an order is placed or cancelled, which is now how the Kraken integration runs.
- Schwab's limit is a form field, not a surprise. You declare it, so the ceiling is known before the first order, and 120 a minute is far above what a rules-based stock strategy needs. The weekly token expiry is the constraint members actually feel.
- tastytrade's unpublished threshold has never been reached by a low-volume adapter that polls orders only while one is open. The cost of "no number" is that you cannot plan to the edge; the benefit is that nobody doing normal automation gets near it.
- Quotes are the hidden rate-limit consumer. An exit monitor that prices every open position every few seconds spends far more calls than order placement does. Brokers know this, which is why Tradier and tastytrade push streaming and why our Schwab exits price off a single house market-data token rather than each member's trading token.
Which broker for which kind of automation
- Rules-based stock strategies, tens of orders a day: every broker above has headroom. Choose on cost, order types and token hassle instead; the three-broker comparison and the options API comparison cover those.
- Hundreds of orders an hour on stocks: Alpaca's 200 requests a minute is the only documented retail stock budget that reaches that pace, and only if reads are kept off the same key. IBKR's 10 a second is higher but gated by its policy on automated-trading vendors.
- Crypto at speed: Crypto.com Exchange by a wide margin, then Kraken at the Pro tier (180 points decaying 3.75 a second, roughly 225 orders a minute sustained). Both key-based; read what an exchange API key can and cannot do before pasting one anywhere.
- True high-frequency trading: none of these. Sub-millisecond strategies need co-location and a FIX session with a prime broker, and a retail account cannot buy that with an API key.
Where JorgAI fits
JorgAI is not a high-frequency system and does not try to be. It runs a bounded, paced auto-trader inside a member's own Schwab, Alpaca, Tradier, tastytrade, Kraken or Crypto.com account: a daily cap on automated orders by plan, the member's own stops, per-trade and total exposure caps, and a daily loss limit, with the adapters tuned to stay well inside every limit above. Members choose the broker; the start page walks through connecting one, and the general broker guide compares them on everything other than throughput.
Quick answers
Which broker has the highest API rate limit for automated trading? Among retail-accessible APIs, Crypto.com Exchange (15 order requests per 100 ms), then Kraken (order counter of 60 to 180 by tier), then Interactive Brokers (10 requests a second), then Alpaca (about 200 requests a minute). Schwab caps a registered app at 120 orders a minute.
Can you do high-frequency trading through a broker API? Not in the industry sense. Retail APIs allow tens to a few hundred orders a minute over the public internet; high-frequency trading needs co-location and direct market access through a prime broker.
What does a broker do when you exceed its rate limit? Most return 429 Too Many Requests; Tradier returns 400; Kraken rejects the order until its counter decays. IBKR, tastytrade and Webull can go further and block the session or IP after repeated overruns.
Does Schwab's API have a rate limit? Yes. Each registered app declares an order limit of up to 120 orders per minute, and the access token expires every 30 minutes with a refresh token that lasts seven days.
Data: Interactive Brokers Web API documentation (pacing limitations), Kraken Spot rate-limit guides, tastytrade developer guide on rate limits and backoff, Webull OpenAPI rate-limits page, Tradier rate-limits page, Alpaca Trading API documentation and Crypto.com Exchange API v1 documentation, all read October 23, 2026; Schwab's limit from the app registration form on developer.schwab.com (October 22, 2026); Webull's trading budget from its onboarding reply to JorgAI; the Kraken incident from JorgAI's production logs of October 21, 2026.
Keep reading
Let the AI do the trading.
Set it up in minutes. 7 day free trial on Starter and Pro.
Get started free
