> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dials Per Second Limit

> Understand the default dials per second (DPS) limit that applies to the Voice API Dial command and to TeXML's <Dial> verb and REST API, how it's calculated, and how to request a higher limit.

## Overview

To protect platform stability and carrier relationships, Telnyx enforces a **dials per second (DPS)** limit on outbound dial attempts. This limit caps how many new outbound call legs your account can start per second.

The DPS limit applies to dial attempts made through:

| Interface                         | Endpoint / Verb                                                                                                              |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Programmable Voice (Call Control) | [`POST /v2/calls`](/api-reference/call-commands/dial) — the `Dial` command                                                   |
| TeXML                             | The [`<Dial>`](/docs/voice/programmable-voice/texml-verbs/dial) verb (including `<Number>` and `<Sip>` nouns dialed from it) |
| TeXML REST API                    | [`POST /texml/Accounts/{account_sid}/Calls`](/docs/voice/texml/rest-api/calls)                                               |

<Note>The DPS limit governs the **rate** at which new outbound legs are started. It is independent of [concurrent call limits](/docs/voice/sip-trunking/configuration/concurrent-limits), which cap how many calls can be active **at the same time**. You can be well under your concurrent call limit and still hit the DPS limit if you start too many calls too quickly.</Note>

## Default limit

By default, every account is limited to **30 dials per second**.

### How it's calculated

The limit is not a strict per-second token bucket — it is calculated as a **5-second rolling aggregation**. Telnyx sums the number of dial attempts made in the trailing 5-second window and compares that total against `30 × 5 = 150`. If a new dial attempt would push the 5-second total over that threshold, the request is rejected.

This means brief bursts above 30/sec are tolerated as long as the 5-second average stays at or below the limit — but sustained dialing above 30/sec will trigger the limit once the rolling window fills up.

## Error response

When the DPS limit is reached, the dial attempt is rejected with an HTTP `429` response:

```json theme={null}
{
  "errors": [
    {
      "code": "90103",
      "title": "Dials per second limit exceeded.",
      "detail": "You have exceeded the number of dials per second allowed for your account."
    }
  ]
}
```

Example as seen from an SDK call:

```
Error starting call: Error code: 429 - {'errors': [{'code': '90103', 'detail': 'You have exceeded the number of dials per second allowed for your account.', 'title': 'Dials per second limit exceeded.'}]}
```

This applies uniformly regardless of which interface originated the dial attempt — Voice API `Dial`, TeXML `<Dial>`, or the TeXML REST API.

## Handling the limit

### Client-side pacing

The most reliable way to avoid `90103` errors is to pace outbound dial attempts on your side so you never submit more than 30 requests per second (averaged over any 5-second window).

### Retry with backoff

If you receive a `429` with error code `90103`, treat it like any other rate-limit response:

1. Do not retry immediately — wait at least 1 second before the next attempt.
2. Use exponential backoff if the error recurs.
3. Queue and smooth out bursts of outbound calls (e.g. campaign dialers, click-to-call bulk actions) rather than firing them all at once.

## Requesting a higher limit

If your use case requires dialing faster than 30 dials per second — for example, outbound dialing campaigns, contact center bulk dialers, or call tracking systems — contact [Telnyx support](https://support.telnyx.com) to request a limit increase.

<Note>Increasing your DPS limit does not change your [concurrent call limit](/docs/voice/sip-trunking/configuration/concurrent-limits). If your campaign also needs more simultaneous active calls, request both increases together.</Note>

## Related

* [API Rate Limiting](/docs/development/api-fundamentals/reliability/rate-limiting) — general `api.telnyx.com` rate limits and headers.
* [Concurrent Call Limits](/docs/voice/sip-trunking/configuration/concurrent-limits) — caps on simultaneous active outbound calls.
* [Command Retries](/docs/voice/programmable-voice/command-retries) — reliability best practices for Voice API commands.
* [TeXML Dial verb](/docs/voice/programmable-voice/texml-verbs/dial) — attributes and examples for `<Dial>`.
