Call concurrency represents how many Vapi calls can be active at the same time. Each call occupies one slot, similar to using a finite set of phone lines.
In this guide, you’ll learn to:
Every Vapi account includes 10 concurrent call slots by default. When all slots are busy, new outbound dials or inbound connections wait until a slot becomes free.
Rarely hit concurrency caps unless traffic surges (launches, seasonal spikes).
More likely to reach limits when running large calling batches.
These limits ensure the underlying compute stays reliable for every customer. Higher concurrency requires reserving additional capacity, which Vapi provides through custom or add-on plans.
Batch long lead lists into smaller chunks (for example, 50–100 numbers) and run those batches sequentially. This keeps your peak concurrent calls near the default limit while still working through large sets quickly.
If you regularly exceed 50,000 minutes per month, talk with Vapi about:
Use billing reports to pair minute usage with concurrency spikes so you can upgrade before calls are blocked.
You can raise or reserve more call lines without contacting support:
Changes apply immediately, so you can scale ahead of known traffic surges.
When you create a call with POST /call, the response includes a subscriptionLimits object that shows the current state of your account.
concurrencyBlocked — true if the call could not start because all slots were full.concurrencyLimit — Total concurrent call slots currently available to your org.remainingConcurrentCalls — How many slots were open at the time you created the call.Build monitoring around these values to alert when you approach the cap.
Use the /analytics endpoint to review historical concurrency usage and spot patterns that justify more capacity.
Adjust the timeRange.step to inspect usage by hour, day, or week. Peaks that align with campaign launches, seasonality, or support events highlight when you should reserve additional call lines.