twilio error 13224 'dial: too many requests' - agent's parallel dialer hit the CPS limit
Throttles an agent's parallel dialer hitting Twilio error 13224 ('dial: too many requests'): cap concurrent dials at the account's calls-per-second limit, queue excess calls, and back off when 13224 appears instead of retrying hot. Use when bulk dialing fails with 13224. Not for invalid-number errors or insufficient-balance failures.
TL;DR
Twilio caps how many calls per second an account may start, and a parallel dialer that ignores the cap gets 13224 rejections. Throttle the dialer to stay under the account's calls-per-second limit, queue the overflow, and back off when a 13224 slips through instead of retrying immediately.
The query
twilio error 13224 'dial: too many requests' - agent's parallel dialer hit the CPS limitSteps
1. Find the account's actual calls-per-second limit
Check the Twilio console for the account's CPS limit (it varies by account type and history). Treat that number as the hard ceiling, not a target: aim to run at 80 percent of it.
Expected: a known CPS ceiling and a target rate below it.
2. Throttle the dialer with a rate limiter
Put a token-bucket or fixed-window rate limiter in front of every call-creation request, shared across all parallel workers and agents on the account. The limiter, not each worker's good intentions, enforces the pace.
Expected: call-creation requests never exceed the target rate no matter how many workers run.
3. Queue overflow instead of dropping it
When the dialer has more calls ready than the limiter allows, hold them in a queue with their scheduled times. Dials go out in order as capacity frees up; nothing is lost to the throttle.
Expected: all queued calls eventually dial, delayed rather than failed.
4. Back off on 13224 instead of retrying hot
If a 13224 still arrives (limits can shift), pause new call creation briefly with exponential backoff before resuming. Log each occurrence so a rising trend triggers a limit-increase request rather than silent retries.
Expected: 13224 events become rare and self-recovering.
Use this when
- Twilio dialing fails with error 13224 dial too many requests
- A parallel dialer or several agents share one Twilio account
- Failures started when dial concurrency increased
Not for this skill when
- Dials fail with 21211 (that is malformed numbers, not rate)
- Twilio rejects for insufficient balance or geo permissions
- Calls connect but audio quality is poor
Variant phrasings
twilio 13224 dial too many requests
Code-first phrasing. Same throttle-and-queue fix.
twilio cps limit parallel dialer
Limit-first phrasing. The shared rate limiter is the key step.
agent hitting twilio rate limit on outbound calls
Symptom phrasing. Confirm the code is 13224 before tuning concurrency.
Why it happens
Twilio protects its voice infrastructure with a per-account calls-per-second ceiling. A parallel dialer multiplies workers, and each worker dialing at full speed overshoots the shared ceiling fast. The 13224 is Twilio shedding the excess load. Agents make it worse by treating 13224 as transient and retrying immediately, which keeps the account pinned at the limit.
Edge cases
- CPS limits can be raised by request for accounts in good standing. If the business genuinely needs more throughput, request the increase instead of dancing under a too-low cap.
- Different Twilio products have separate limits. A dialer that also sends SMS shares no quota with voice, but two voice use cases do.
- Bursts within a single second can trip the limiter even when the average rate is fine. Smooth the dial pattern rather than batching dials on second boundaries.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_WwvsrgaD4OsR-BPNhiO7jA