The
/v3/languages endpoints provide a single source of truth for language and feature support across all DeepL
API products. They replace the /v2/languages and /v2/glossary-language-pairs endpoints.If you’re currently using /v2/languages or /v2/glossary-language-pairs, see the
migration guide
for a full list of differences and code examples.These endpoints are available for testing in BETA. Breaking changes may be pushed with little or no advance
notice, and we provide no guarantees of stability. Please do not use /v3/languages in production.Products list
To retrieve language support, decide which DeepL product you’re building for, then callGET /v3/languages with
the appropriate product value. The product parameter is required and identifies which DeepL API product you
are querying language support for:
| Value | Description |
|---|---|
translate_text | Text translation via the /v2/translate endpoint |
translate_document | Document translation via the /v2/document endpoint |
voice | Speech transcription and translation via the /v3/voice endpoints |
write | Text improvement via the /v2/write endpoints |
glossary | Glossary management via the /v2/ and /v3/glossaries endpoints |
glossary is a product value indicating glossaries can be created for that language, and managed via the glossary
management endpoints.Support for glossaries within specific products (for example text translation) is indicated by the glossary
feature value, explained in a later section.Basic example
Each language in the response includes afeatures array indicating which optional capabilities are available for that
language — see the Product features section below for details.
The examples below use our API Pro endpoint https://api.deepl.com. If you’re an API Free user, remember to update
your requests to use https://api-free.deepl.com instead.
The following example responses are truncated; the full API responses can include over 100 languages.
- cURL
- HTTP Request
Example request: languages for text translation
Example response
Product features
Each language object includes afeatures array indicating which optional capabilities are supported for that language
with the requested product.
A feature may be required on the source language, the target language, or both. For example, for text translation:
- Target-only:
formalityis required only on the target language. Check that"formality"is present in the target language’sfeaturesarray. - Source-and-target:
tag_handlingandglossaryare required on both languages. Check that the feature is present in both the source and target language’sfeaturesarrays.
Retrieving products programmatically
Use the/v3/languages/products endpoint to retrieve the list of products and their features programmatically.
For each feature, the response indicates whether support is required on the source language, the target language,
or both — allowing clients to determine feature availability for a language pair by checking the appropriate
features arrays.
Example response (truncated)
Language pair exceptions
In rare cases, feature support for a specific language pair may differ from the feature support returned for the source and target languages individually. This occurs due to intricacies and language-specifics of DeepL’s AI models. A hypothetical example: text translation formality is supported for source language Ukrainian, and it is also supported for target language Russian. However, translating specifically from Ukrainian to Russian does not support formality. When a request uses a feature that is unsupported for the specific language pair, the API attempts to complete the request by disabling the unsupported feature rather than failing. However, in some cases information about these exceptions may be useful, so this section explains how to retrieve it.Retrieving language pair exceptions directly
Language pair exceptions are available directly via the/v3/languages/exceptions endpoint. The product query
parameter is required to specify the product for which you want to retrieve exceptions.
The response includes a list of language pairs for which exceptions exist, with their actual feature support.
Continuing the hypothetical example, querying exceptions for text translation shows that Ukrainian-Russian does not
support formality:
Example exceptions response (truncated)
features array is the authoritative feature list
for that pair — it replaces the individual language features arrays entirely for that combination, regardless of
whether a feature is target-only or source-and-target. Skip the normal intersection logic and use the exception
features directly.
API stability
The v3 language endpoints are designed to be forward-compatible:- New features may be added to the
featuresarray - New languages will be added as DeepL support expands
- Existing fields will not be removed or changed in backwards-incompatible ways
Build your integration to gracefully handle new values in the
features array.Best practices
- Cache responses: Language support changes infrequently. Consider caching responses for up to 1 hour.
-
Check features: Always check the
featuresarray on language objects rather than assuming support (e.g. for formality, glossary use, or writing style). -
Handle forward compatibility: Ignore unknown values in the
featuresarray to remain compatible as new capabilities are added. -
Use specific variants: For target languages, prefer specific regional variants (e.g.,
"en-US","en-GB") when the distinction matters to your users.