This page covers the differences between theDocumentation Index
Fetch the complete documentation index at: https://deepl-c950b784-update-customizations-langs.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
/v2/languages endpoint and the v3 endpoints, and how to update your integration.
What changed
Single endpoint for source and target
v2 uses a single endpoint with atype query parameter to distinguish source from target:
New product identifiers
v2 languages are implicitly tied to text and document translation. v3 introduces an explicitproduct parameter that applies across all DeepL API products:
| v2 | v3 product value |
|---|---|
| (implicit, text/document translation only) | translate_text |
| (implicit, text/document translation only) | translate_document |
(separate /v2/glossary-language-pairs endpoint) | glossary |
| (not supported) | voice |
| (not supported) | write |
/v2/languages and /v2/glossary-language-pairs.
Features instead of supports_formality
v2 target languages include a boolean supports_formality field. v3 replaces this with a features array that covers additional capabilities per product:
| v2 field | v3 equivalent |
|---|---|
"supports_formality": true | "features": ["formality"] on the language object |
Example response (truncated)
formality, but English (American) does not.
See the overview for the full list of features per product.
Response field names
| v2 field | v3 field |
|---|---|
language | lang |
name | name (unchanged) |
supports_formality | features["formality] |
Language code casing
v2 returned language codes in non-standard casing (e.g.EN-US, ZH-HANT). v3 returns codes compliant with BCP 47: lowercase base language (en, de), uppercase region subtag (en-US, pt-BR), and title-case script subtag (zh-Hant).
DeepL accepts language codes case-insensitively as input across all endpoints. However, if your integration stores or compares codes returned by /v2/languages, update those comparisons to be case-insensitive or to expect the new casing.
Migrating glossary language pair queries
If you currently use/v2/glossary-language-pairs to discover which language pairs are supported for glossaries, use one of the following:
GET /v3/languages?product=glossaryto check which languages support glossary management (i.e. creating a glossary for that language). Filter byusable_as_sourceandusable_as_targetas needed. Any combination of a valid source and target language is a supported glossary language pair.GET /v3/languages?product=translate_textto check which languages support using a glossary during text translation. Languages that include"glossary"in theirfeaturesarray support theglossary_idparameter on the translate endpoint.- Similarly, use
product=translate_documentto check glossary support for document translation.