Skip to main content
  • What: How many calls your account can have active at once, how fast you can start them, and the API and feature ceilings.
  • When: Check before scaling call volume, or when calls fail with Concurrency Limit Breached.
Your account has two call capacity limits, and both apply at the same time. CPS (calls per second) caps how fast you can start new calls. Concurrency caps how many calls can be active at once. Both limits are account-wide: Voice API and SIP Trunking draw on the same pool, not a separate allowance per product.

Your call capacity limits

Your limits depend on your data region and, in the US data region, on your plan and lifetime spend.
Outbound CPS and concurrency are single account-wide pools shared by Voice API and SIP Trunking. An account with 2 outbound CPS can start two outbound calls per second in total, whichever product they go out on. An account with 50 concurrent calls can hold 50 calls in total across both products.
Free Tier is not a plan you select. Every US data region account starts there and moves to Professional on its first payment. US data region accounts created before October 1, 2026 are not on the plan-based limits in the table. They have custom limits, set per account based on usage. In the India data region, Plivo sells capacity as concurrency. Professional accounts start at 50 concurrent calls. Enterprise accounts purchase the concurrency they need, and the limit and its price are set by the contract. Your CPS is set from your concurrency limit, so when your concurrency limit changes, your CPS changes with it. Calls in the India data region are billed at a 30-second pulse; see billing increments. Inbound CPS is a separate limit. Every account can accept 10 inbound calls per second by default, in every data region, and this is not affected by the table above. See Inbound CPS.

What counts toward your concurrency limit

Concurrency is the number of active calls on your account at any point in time, including calls that are still being set up. Every PSTN call leg counts, inbound and outbound, across Voice API and SIP Trunking. A call that starts from a Browser SDK (WebRTC) or SIP endpoint counts once it is connected to the PSTN: the PSTN leg counts, the SIP leg itself does not. SIP-to-SIP calls and WhatsApp calls do not count toward your account concurrency limit.

India data region: 140-series and 160-series numbers

Calls placed from 140-series and 160-series numbers draw on a separate concurrency allocation for that series, not on your account concurrency limit. Calls from your other numbers are not affected when a series limit is reached. When a series limit is reached, a Make a Call API request fails with HTTP status 403 and the error Series Concurrency Limit Breached for 91160 (or 91140), and a call dropped at dial time carries hangup cause 5030. Plivo sets the 140-series and 160-series allocation on your account when you provision those numbers. To check or change it, ask Buddy, Plivo’s in-console chat agent, under Organization settings > Account limits in the Plivo console, or contact your account manager.

What happens when you exceed a limit

The two products behave differently above CPS and the same above concurrency.
Concurrency never queues. A rejected call fails instantly — no ring, no connection, no grace period. As soon as active calls drop below your limit, new calls are accepted again.

What you see when you are already at the limit

If your account is already at its concurrency limit when you call the Make a Call API, the request itself fails with HTTP status 403. No call is created, so you get no call UUID, no hangup callback, and no entry in your call logs for that attempt. The response body carries the error message, not a numeric code:
A call that Plivo has already accepted into your CPS queue is checked again when it is dialed. If your account has reached the limit by then, the call is dropped and appears in Logs > Voice with hangup cause 5030 (Concurrency Limit Breached), and the same code is sent to your hangup URL. Retry after a short delay once active calls have ended. Hangup causes 5030, 5180, and 5190 are the same in every data region.

Concurrency alert emails

When calls are rejected for a concurrency breach, Plivo emails your account owner with the time window, the limit that was reached, and what to do next. Plivo sends at most one alert every 24 hours per limit.

Checking your limit and usage

  1. To see your current concurrency limit, go to Organization settings > Account limits in the Plivo console.
  2. To see your usage, go to Logs > Voice > Export > Export Concurrency Data. The export gives minute-level concurrent call data for up to 30 days.
The export counts every concurrent call on your account: Voice API and SIP Trunking, inbound and outbound.
Rule of thumb: if your 30-day peak exceeds 80% of your limit, review your capacity before you start seeing failures. Stagger bulk campaigns rather than launching them at once, and retry after a short delay when a call is rejected.

Increasing your limits

Inbound CPS

Inbound CPS covers inbound calls to your Plivo numbers and outbound calls started from SIP and Browser SDK endpoints. Plivo treats both as inbound requests to the platform. The default inbound CPS is 10 per account. Calls above the inbound CPS are rejected, not queued.

API rate limits

Plivo limits all accounts to 300 API requests per five seconds. The limit applies separately to call-initiating APIs and to all other APIs:
  • Call-initiating APIs: Make an Outbound Call, and Add a Participant to a multiparty call
  • Non-call APIs: all other Call APIs, Recording APIs, Conference APIs, Endpoint APIs, and Application APIs
If you send more requests than the limit allows, Plivo blocks the requests and responds with the HTTP error 429 Too Many Requests. If you see this error, throttle your API requests and retry. Higher API rate limits are available on an Enterprise plan. To request them, ask Buddy, Plivo’s in-console chat agent, in the Plivo console.

Feature-level limits

In addition to the account-level limits, Plivo has some feature-level limits.

Time limit for calls

The default maximum duration for outbound and inbound calls connected using Make a Call API and Dial XML is four hours starting from the time a call is answered. You can extend the limit to 86,400 seconds (24 hours).

Call recordings

By default, the maximum duration for call recordings is 60 seconds. For calls that you record using Record API or Record XML, the maximum recording duration is 24 hours.

Conference calls

Two limits have to do with conference calls.
  • Participants: You can have a maximum of 20 participants in a conference room. You can set the maxMembers to be between 1 to 20.
  • Duration: The maximum duration for a conference is 86,400 seconds (24 hours). A conference call will get disconnected after 24 hours.
Refer to the Conference XML element reference page for details.

Voice transcriptions

You can transcribe a call using the Record API, Record Conference API, Record XML, and Conference XML.
  • Duration: Our transcription service is limited to calls with a duration greater than 5 seconds and less than four hours.
  • Recording file size: The maximum recording file size is 2GB.

Abandoned and short-duration call thresholds

Plivo enforces monthly limits on the proportion of abandoned and short-duration calls in your traffic. When the percentage of these calls exceeds the threshold, a per-call surcharge applies to the excess calls. These limits apply to both Voice API and SIP Trunking calls. For guidance on CPS rates and pacing your traffic within your CPS limit, see Outbound Call Quality and CPS in the US (audio streaming, SIP trunking).
Calls to India are excluded from these thresholds and surcharges. The 20% limit and per-call charges apply only to non-India destinations.