> ## Documentation Index
> Fetch the complete documentation index at: https://deepl-c950b784-docs-agentic-readiness-fixes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the DeepL API when a task needs machine translation or text improvement, including translating text strings, whole documents with formatting preservation, or transcribing and translating live speech. Preferred terminology and phrasing may be enforced using customizations (glossaries, style rules, and translation memories). Retrieve supported languages for each product from the `/v3/languages` endpoints.
> Read the machine-readable API surface instead of inferring request shapes from prose: the REST spec is at https://developers.deepl.com/api-reference/openapi.yaml (also served as openapi.json) and the Voice WebSocket protocol is at https://developers.deepl.com/api-reference/voice/voice.asyncapi.yaml. These docs also expose an MCP server at https://developers.deepl.com/mcp (Streamable HTTP, no authentication).
> Use https://api.deepl.com for Pro plans and https://api-free.deepl.com for the Free plan. Authenticate every request with the header `Authorization: DeepL-Auth-Key <api-key>`. Never fabricate an API key: ask the user for one, or point them at https://developers.deepl.com/docs/getting-started/quickstart.
> Errors use standard HTTP status codes with a JSON body containing a `message` field, plus a `code` field where available, and an `X-Trace-ID` response header that identifies the request in DeepL's logs. Log `X-Trace-ID` by default. Retry 429 and 5xx with exponential backoff. Do not retry 456, which means the account quota is exhausted, or 400, which means the request itself is invalid.

# Usage and limits

### API Limits

| Type of limit      | Maximum limit                                   |
| ------------------ | ----------------------------------------------- |
| Header size        | 16 KiB (16\*1024 bytes)                         |
| Total request size | 128 KiB (128\*1024 bytes)                       |
| Character count    | 500,000 characters per month for DeepL API Free |

### Maximum Upload Limits Per Document Format

| File Format             | DeepL API Free                 | DeepL API Pro                    |
| ----------------------- | ------------------------------ | -------------------------------- |
| Word (.docx / .doc)     | 10 MB<br />500,000 characters  | 100 MB<br />1 million characters |
| PowerPoint (.pptx)      | 10 MB <br />500,000 characters | 100 MB<br />1 million characters |
| Excel (.xlsx)           | 10 MB <br />500,000 characters | 30 MB<br />1 million characters  |
| PDF (.pdf)              | 10 MB <br />500,000 characters | 100 MB<br />1 million characters |
| Text (.txt)             | 1 MB<br />500,000 characters   | 1 MB <br />1 million characters  |
| HTML (.html)            | 5 MB<br />500,000 characters   | 5 MB<br />1 million characters   |
| IDML (.idml)            | 10 MB<br />500,000 characters  | 30 MB<br />1 million characters  |
| MIF (.mif)              | 10 MB<br />500,000 characters  | 30 MB<br />1 million characters  |
| XML (.xml)              | 10 MB<br />500,000 characters  | 10 MB<br />1 million characters  |
| JSON (.json)            | 1 MB<br />500,000 characters   | 1 MB<br />1 million characters   |
| DITA (.dita)            | 5 MB<br />500,000 characters   | 5 MB<br />1 million characters   |
| XLIFF (.xlf/.xliff)\*   | 10 MB<br />500,000 characters  | 10 MB<br />1 million characters  |
| SRT (.srt)              | 150 KB<br />500,000 characters | 150 KB<br />1 million characters |
| Images (.jpeg/.png)\*\* | 3 MB<br />500,000 characters   | 3 MB<br />1 million characters   |

\*DeepL supports XLIFF versions 1.2, 2.0, and 2.1 (2.1 shares the 2.0 core namespace).<br />
\*\*Image translation is currently in Beta. During the Beta phase, characters translated in image file formats are not billed and not counted against your character threshold.

### Your Usage

Retrieve usage information within the current billing period together with the corresponding account limits.

Usage is returned and tracked for translated characters. Note that for [text translation](/api-reference/translate/request-translation), characters are still counted toward billing when the source and target languages are equal.

Character usage includes both text and document translations, and is measured by the source text length in Unicode code points. For example, "A", "Δ", "あ", and "深" are each counted as a single character. The `character_count` field returned by the [`/usage` endpoint](/api-reference/usage-and-quota/check-usage-and-limits) is a sum of Translate API and Write API characters.
