# AssemblyAI

Speech-to-text API that transcribes recorded and live audio into text with word timestamps, speaker labels and analysis options.

- Provider: AssemblyAI (https://www.assemblyai.com)
- Category: Transcribe audio
- Type: Hosted API
- Pricing model: Pay as you go, per hour of audio [5]
- Free tier: $50 in free credits, no card [1]
- Authentication: API key; account sign-in or API key for the MCP server [6]
- Connect via: REST API, WebSocket streaming, MCP server, Python and JavaScript SDKs [7]
- Read from the provider's pages on 2026-11-04
- Page: https://supermarket.dev/tools/transcribe-audio/assemblyai

## Pricing

### Billing
- Pricing model: Pay as you go, per hour of audio submitted; streaming per hour the connection is open [5]
- Free tier: $50 in free credits for pre-recorded and real-time speech-to-text, Speech Understanding and Guardrails; credits do not expire [5]
- Card required for free tier: No [1]
- Minimum spend: None [5]
- Billing period: Prepaid balance drawn down with use; end-of-month invoicing for enterprise customers [5]
- Auto-pay: Optional recharge when the balance falls below a threshold [5]
- Free credits and LLM Gateway: LLM Gateway is not covered by the free credits [5]

### Prices
Dollars per hour of audio, as listed. Streaming is billed per hour the WebSocket is open, not per hour of audio sent. Multichannel files are billed per channel. Add-ons are added to the base rate.
| Model | Mode | $ per hour |
|---|---|---|
| `universal-3-5-pro` (Universal-3.5 Pro) | Pre-recorded | $0.21 |
| `universal-2` (Universal-2) | Pre-recorded | $0.15 |
| `universal-3-6-pro` (Universal-3.6 Pro Realtime) | Streaming, per session hour | $0.45 |
| `universal-streaming-english` | Streaming, per session hour | $0.15 |
| `universal-streaming-multilingual` | Streaming, per session hour | $0.15 |
Source [1]

### Other charges
| Add-on | $ per hour added |
|---|---|
| Speaker diarization, pre-recorded (standard) | $0.02 |
| Speaker diarization, pre-recorded (experimental) | $0.065 |
| Speaker diarization, streaming | $0.12 |
| Keyterms prompting, Universal-3.5 Pro | $0.05 |
| General prompting (beta), Universal-3.5 Pro | $0.05 |
| Medical Mode | $0.15 |
| Translation | $0.06 |
| Entity detection | $0.08 |
| Sentiment analysis | $0.02 |
| PII text redaction | $0.08 |
| PII audio redaction | $0.05 |
| Content moderation | $0.15 |
Source [1]

## Tools

### MCP server
- Official MCP server: Yes, remote [6]
- Address or package: `https://mcp.assemblyai.com/mcp` (Streamable HTTP, transcribes and analyzes audio); `https://www.assemblyai.com/docs/mcp` (docs search only) [6]
- Docs MCP server purpose: Searches and reads the docs; does not transcribe [6]
- Account MCP server without credentials: HTTP 401 `invalid_token` to `initialize` and `tools/list`; tool list could not be read [18]
- Docs MCP server tools/list: 3 tools, no credentials needed [18]

### MCP tools
Account server at `https://mcp.assemblyai.com/mcp`, from the docs page. The server needs sign-in, so annotations could not be read.
| Tool | What it does | Read-only |
|---|---|---|
| `submit_transcript` | Starts a transcription of a public audio or video URL and returns a `transcript_id` | Not stated |
| `get_transcript` | Returns the status of a transcript, and the full results when completed | Not stated |
| `summarize_transcript` | Summarizes a completed transcript with LLM Gateway | Not stated |
| `understand_transcript` | Runs Speech Understanding on a completed transcript | Not stated |
| `delete_transcript` | Permanently deletes a transcript and its data | Not stated |
Source [6]

### MCP tools (docs server)
`https://www.assemblyai.com/docs/mcp`, from tools/list sent without credentials. These tools search documentation; none transcribes audio.
| Tool | What it does | Read-only |
|---|---|---|
| `search_assembly_ai` | Searches the AssemblyAI knowledge base for docs, examples and API references | Yes |
| `query_docs_filesystem_assembly_ai` | Runs read-only shell-like queries (`rg`, `cat`, `head`) over the docs and OpenAPI specs | Yes |
| `submit_feedback` | Reports a problem with the documentation site | No |
Source [18]

### API
| Endpoint | What it does |
|---|---|
| `POST /v2/upload` | Uploads a local file as raw binary and returns an `upload_url` |
| `POST /v2/transcript` | Submits a transcription job from an audio URL |
| `GET /v2/transcript/{id}` | Returns job status and the transcript |
| `DELETE /v2/transcript/{id}` | Deletes a transcript |
| `GET /v2/transcript/{id}/{subtitle_format}` | Exports subtitles |
| `GET /v2/transcript/{id}/sentences` and `/paragraphs` | Returns the transcript split into sentences or paragraphs |
| `wss://streaming.assemblyai.com/v3/ws` | Real-time streaming transcription over WebSocket |
| `POST https://token.assemblyai.com/v1/token` | Mints a temporary token for browser or mobile streaming |
Source [12]

### Features
- Default model: `universal-3-5-pro`, with automatic fallback to `universal-2` for other languages [9]
- Default model, free vs paid accounts: Can differ between free and paid accounts; set `speech_models` explicitly [1]
- Languages: Pre-recorded: 99 (Universal-2), 18 (Universal-3.5 Pro); streaming: 32 (Universal-3.6 Pro Realtime) [8]
- Languages, Universal-3.5 Pro: 18 [8]
- Languages, Universal-3.6 Pro Realtime: 32, with code switching [8]
- Speaker labels: Yes, pre-recorded and streaming; streaming add-on is $0.12 per hour [1]
- Speaker labels, pre-recorded: Yes; $0.02 per hour standard, $0.065 per hour experimental [1]
- Word timestamps: Yes, included by default [12]
- Live streaming: Yes, over WebSocket [2]
- Max file size: 5 GB per request and 10 hours; 2.2 GB for local upload [13]
- Audio input: Public URL or uploaded file; most common audio and video formats, no transcoding needed [10]
- Audio input, streaming: PCM16 little-endian, mono, 16 kHz binary frames [12]

## Authentication

### Methods
| Method | Used for | How |
|---|---|---|
| API key | REST API and streaming WebSocket | `authorization` header with the raw key, no `Bearer` prefix |
| API key as Bearer token | MCP server | `Authorization: Bearer <key>`; the prefix is required |
| Account sign-in (OAuth) | MCP server | Client opens the AssemblyAI sign-in and consent page |
| Temporary token | Streaming from browsers or mobile | `POST https://token.assemblyai.com/v1/token`, expires in 1 to 600 seconds |
Source [10]

### Getting access
- Who creates the account: A person signs in to the AssemblyAI dashboard; the docs do not say whether an agent can sign up alone [6]
- Where to get a key: The dashboard, API keys page [6]
- Other requirements: A credit card once the free credits are used up [5]

## Setup

### Addresses
- REST API: `https://api.assemblyai.com` (US); `https://api.eu.assemblyai.com` (EU) [16]
- MCP server: `https://mcp.assemblyai.com/mcp` [6]
- OpenAPI spec: `https://www.assemblyai.com/docs/openapi.yaml` [4]
- Docs for agents: `https://www.assemblyai.com/llms.txt`; docs index at `https://www.assemblyai.com/docs/llms.txt` [3]
- Status page: `https://status.assemblyai.com` [18]

### Install
No command-line tool found in the docs index.
| What | Command |
|---|---|
| Python SDK | `pip install assemblyai` |
| JavaScript SDK | `npm install assemblyai` |
Source [7]

### Install (MCP server)
| What | Command |
|---|---|
| Claude Code, sign-in | `claude mcp add --transport http assemblyai https://mcp.assemblyai.com/mcp` |
| Claude Code, API key | `claude mcp add --transport http assemblyai https://mcp.assemblyai.com/mcp --header "Authorization: Bearer $ASSEMBLYAI_API_KEY"` |
| VS Code | `code --add-mcp '{"name":"assemblyai","type":"http","url":"https://mcp.assemblyai.com/mcp"}'` |
| Cursor, Claude.ai and others | Add the URL `https://mcp.assemblyai.com/mcp` as a remote MCP server |
Source [6]

## Limits

### Rate limits
- Parallel transcriptions, free: 5 [14]
- Parallel transcriptions, paid: 200+; extra jobs are queued [14]
- New streaming sessions per minute, free: 5 [15]
- New streaming sessions per minute, paid: 200 to start; rises 10% per minute at 80% use [15]
- New streaming sessions per minute, paid (other page): 100 [1]
- HTTP requests: 20,000 per five minutes per account; over the limit returns 403 [14]
- Polling one transcript: 60 requests per minute per API key and transcript; over the limit returns 429 [14]

### Other limits
- Duration per file: 160 ms to 10 hours [10]
- Upload size: 2.2 GB for a local file sent to `/v2/upload` [13]
- Streaming session length: Auto-closes after 3 hours [11]

## Privacy

### Your data
- Data location: US by default; EU endpoint processes audio and transcripts in the EU at the same price [16]
- Retention: Pre-recorded audio: deletion begins at 24 hours and finishes within 48 hours, unless a TTL or BAA applies [17]
- Retention, transcripts: Pre-recorded transcripts: deletion begins at 30 days [17]
- Retention, configurable: A TTL can be set as low as 1 hour for pre-recorded [17]
- Used for training: Some files, after PII redaction, as the contract permits; not for BAA customers, EU endpoint users or those who opted out [17]
- Zero data retention: Yes for streaming, Sync STT, Dictation and TTS when opted out of model training; pre-recorded has a 1-hour minimum TTL [17]

### Compliance
- Certifications: SOC 2 Type 2, ISO 27001, GDPR [1]
- SOC 2 Type 1: Yes [17]
- HIPAA: BAA available, signable without a sales call, no extra price [1]

## Sources

1. Pricing (LLM-readable): https://www.assemblyai.com/llms/pricing.md
2. Models and terminology: https://www.assemblyai.com/llms/models.md
3. llms.txt: https://www.assemblyai.com/llms.txt
4. Docs index: https://www.assemblyai.com/docs/llms.txt
5. Billing and pricing: https://www.assemblyai.com/docs/billing-and-pricing.md
6. MCP server: https://www.assemblyai.com/docs/mcp-server.md
7. Build with SDKs: https://www.assemblyai.com/docs/getting-started/sdks.md
8. Models overview: https://www.assemblyai.com/docs/getting-started/models.md
9. Select the speech model: https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model.md
10. Transcribe an audio file: https://www.assemblyai.com/docs/pre-recorded-audio/getting-started/transcribe-an-audio-file.md
11. Transcribe streaming audio: https://www.assemblyai.com/docs/streaming/getting-started/transcribe-streaming-audio.md
12. Build with AI coding agents: https://www.assemblyai.com/docs/agent-instructions.md
13. FAQ: file size and duration limits: https://www.assemblyai.com/docs/faq/are-there-any-limits-on-file-size-or-file-duration-for-files-submitted-to-the-api.md
14. Rate limits, pre-recorded: https://www.assemblyai.com/docs/pre-recorded-audio/rate-limits.md
15. Rate limits, streaming: https://www.assemblyai.com/docs/streaming/rate-limits.md
16. Select the region: https://www.assemblyai.com/docs/pre-recorded-audio/select-the-region.md
17. Data retention and model training: https://www.assemblyai.com/docs/data-retention-and-model-training.md
18. Checked by supermarket.dev
