# Rate Limits

To prevent abuse, our APIs are rate-limited. The specific limits depend on the API you are using and the plan you are on.

### Definitions:

`requests/m` means the maximum number of allowed requests in a minute.

`chars/m` means the maximum number of characters per minute.

For endpoints that have both `requests/m` and `chars/m`, the calls will be limited when any of those limits is reached.

# What happens if I hit my rate limits?

If you exceed your API rate limits, your requests will be met with an error response indicating a `429` HTTP status code. This means you have exceeded the maximum number of requests allowed for the minute. You can make new requests after a short waiting period of no more than a minute.

# Can I increase my rate limits?

Yes. It is configurable per client. Please [reach out using our contact page](https://play.ht/contact-us/) so we can better understand your use case and devise the best strategy for you.

# Rate Limit per Plan:

<Table align={["left","left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        APIs vs. Plans
      </th>

      <th>
        Hacker/Pro




        .............................
      </th>

      <th>
        Startup




        ..............................
      </th>

      <th>
        Growth




        ................................
      </th>

      <th>
        Enterprise
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        [Node.js SDK](https://docs.play.ht/reference/nodejs-sdk)
        [Python SDK](https://docs.play.ht/reference/python-sdk)
        [Node.js Turbo Streaming SDK](https://docs.play.ht/reference/nodejs-sdk)
      </td>

      <td>
        35,000 chars/m
      </td>

      <td>
        87,500 chars/m
      </td>

      <td>
        350,000 chars/m
      </td>

      <td>
        Custom
      </td>
    </tr>

    <tr>
      <td>
        [`POST /v2/tts/stream`](https://docs.play.ht/reference/api-generate-tts-audio-stream)
      </td>

      <td>
        10 requests/m\
        35,000 chars/m
      </td>

      <td>
        25 requests/m\
        87,500 chars/m
      </td>

      <td>
        100 requests/m\
        350,000 chars/m
      </td>

      <td>
        Custom
      </td>
    </tr>

    <tr>
      <td>
        [`GET /api/v2/voices`](https://docs.play.ht/reference/api-list-ultra-realistic-voices)\
        [`GET /api/v2/cloned-voices`](https://docs.play.ht/reference/api-list-cloned-voices)\
        [`POST /api/v2/leases`](https://docs.play.ht/reference/nodejs-sdk)
      </td>

      <td>
        20 requests/m
      </td>

      <td>
        50 requests/m
      </td>

      <td>
        200 requests/m
      </td>

      <td>
        Custom
      </td>
    </tr>

    <tr>
      <td>
        [`POST /api/v2/cloned-voices/instant`](https://docs.play.ht/reference/api-create-instant-voice-clone)\
        [`DELETE /api/v2/cloned-voices`](https://docs.play.ht/reference/api-delete-cloned-voices)
      </td>

      <td>
        4 requests/m
      </td>

      <td>
        10 requests/m
      </td>

      <td>
        40 requests/m
      </td>

      <td>
        Custom
      </td>
    </tr>
  </tbody>
</Table>

For the `/v2/tts/stream` endpoint, you can call it with up to 20k characters per request.