This page describes how to perform common operations with the AssemblyAI APIs. Each endpoint is documented individually and grouped by the resource it interacts with.Documentation Index
Fetch the complete documentation index at: https://assemblyai.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Pre-recorded STT
The Pre-recorded Speech-to-Text API uses REST with JSON-encoded request bodies and responses, and is available at the following URL:Base URL
To use our EU server for Pre-recorded STT, replace
api.assemblyai.com with
api.eu.assemblyai.com. See Cloud Endpoints and Data
Residency for more information.Authentication
To make authorized calls to the REST API, your app must provide an authorization header with an API key. You can find your API key in the AssemblyAI dashboard.Authenticated request
Your API keyThe examples here contain a placeholder,
<YOUR_API_KEY>, that you need to replace with your actual API key.Errors
The AssemblyAI API uses HTTP response codes to indicate whether a request was successful. The response codes generally fall into the following ranges:2xxindicates the request was successful.4xxindicates the request may have omitted a required parameter, or have invalid information.5xxindicates an error on AssemblyAI’s end.
| Code | Status | Description |
|---|---|---|
| 200 | OK | Request was successful. |
| 400 | Bad request | The request failed due to an invalid request. |
| 401 | Unauthorized | Missing or invalid API key. |
| 404 | Not found | The requested resource doesn’t exist. |
| 429 | Too many requests | Too many requests were sent to the API. |
| 500, 503, 504 | Server error | Something went wrong on AssemblyAI’s end. |
Response with error
Failed transcriptions
Transcriptions may fail due to errors while processing the audio data. When you query a transcription that has failed, the response will have a200 code, along with status set to error and an error property with more details.
Failed transcription
- Audio data is corrupted or in an unsupported format. See FAQ for supported formats.
- Audio URL is a webpage rather than a file.
- Audio URL isn’t accessible from AssemblyAI’s servers.
- Audio duration is too short (less than 160ms).
Streaming STT
The Streaming Speech-to-Text API uses WebSockets for real-time audio transcription. See Streaming API reference for full endpoint documentation.Base URL
To use our EU server for Streaming STT, use
streaming.eu.assemblyai.com. See
Streaming Endpoints and Data Zones
for more information.LLM Gateway
The LLM Gateway API provides a unified interface for interacting with multiple LLM providers through a single endpoint.Base URL
To use our EU server for LLM Gateway, replace
llm-gateway.assemblyai.com
with llm-gateway.eu.assemblyai.com. See Cloud Endpoints and Data
Residency for more
information.Authorization header.
Rate limits
To ensure the LLM Gateway API remains available for all users, you can only make a limited number of requests within a 60-second time window. These rate limits are specific to each LLM Gateway model. If you exceed the limit, the API will respond with a429 status code.
To see your remaining quota, check the following response headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum number of allowed requests in a 60 second window. |
X-RateLimit-Remaining | Number of remaining requests in the current time window. |
X-RateLimit-Reset | Number of seconds until the remaining requests resets to the value of X-RateLimit-Limit. |
X-RateLimit-Model | The model the rate limit applies to. Same as “model” param in the request. |
X-RateLimit-Service | Denotes the service used, LLM Gateway or Speech Understanding |
X-RateLimit headers, the endpoint doesn’t have rate limits.
Increasing rate limitsIf you want to increase the rate limit for your account, contact
us.
Versioning
When AssemblyAI makes backwards-incompatible changes to the API, we release a new version. For information on API updates, see Changelog. Endpoints are versioned using a path prefix, such as/v2.