Authorizations
Authentication with Authorization header and DeepL-Auth-Key authentication scheme. Example: DeepL-Auth-Key <api-key>
Body
Text to be translated. Only UTF-8-encoded plain text is supported. The parameter may be specified many times in a single request, within the request size limit (128KiB). Translations are returned in the same order as they are requested.
The language into which the text should be translated.
AR, BG, CS, DA, DE, EL, EN-GB, EN-US, ES, ES-419, ET, FI, FR, HE, HU, ID, IT, JA, KO, LT, LV, NB, NL, PL, PT-BR, PT-PT, RO, RU, SK, SL, SV, TH, TR, UK, VI, ZH, ZH-HANS, ZH-HANT "DE"
Language of the text to be translated. If this parameter is omitted, the API will attempt to detect the language of the text and translate it.
AR, BG, CS, DA, DE, EL, EN, ES, ET, FI, FR, HU, ID, IT, JA, KO, LT, LV, NB, NL, PL, PT, RO, RU, SK, SL, SV, TR, UK, ZH "EN"
Additional context that can influence a translation but is not translated itself.
Characters included in the context parameter will not be counted toward billing.
"This is context."
When true, the response will include the billed_characters parameter, giving the number of characters from the request that will be counted by DeepL for billing purposes.
Sets whether the translation engine should first split the input into sentences.
Possible values are:
- 0 - no splitting at all, whole input is treated as one sentence
- 1 (default when tag_handling is not set to html) - splits on punctuation and on newlines
- nonewlines (default when tag_handling=html) - splits on punctuation only, ignoring newlines
0, 1, nonewlines "1"
Sets whether the translation engine should respect the original formatting, even if it would usually correct some aspects.
Sets whether the translated text should lean towards formal or informal language. Possible options are:
default- use the default formality for the target languageformal- for a more formal languageinformal- for a more informal language
default, formal, informal "formal"
Specifies which DeepL model should be used for translation.
quality_optimized, prefer_quality_optimized, latency_optimized Specify the glossary to use for the translation. Important: This requires the source_lang
parameter to be set. The language pair of the glossary has to match the language pair of the
request.
"def3a26b-3e84-45b3-84ae-0c0aaf3525f7"
Sets which kind of tags should be handled. Options currently available:
xmlhtml
xml, html "html"
Sets which version of the tag handling algorithm should be used. Options currently available:
v1: Traditional algorithm (currently the default, will become deprecated in the future).v2: Improved algorithm released in October 2025 (will become the default in the future).
v1, v2 Disable the automatic detection of XML structure by setting the outline_detection parameter
to false and selecting the tags that should be considered structure tags. This will split sentences
using the splitting_tags parameter.
Enables 75 additional beta languages. See the full list. Note: Any request with the enable_beta_languages parameter enabled will use quality_optimized models. Requests combining enable_beta_languages: true and model_type: latency_optimized will be rejected. Beta languages do not support formality or glossaries.
Comma-separated list of XML tags which never split sentences.
Comma-separated list of XML tags which always cause splits.
Comma-separated list of XML tags that indicate text not to be translated.
Response
The translate function returns a JSON representation of the translations in the order the text parameters have been specified.
1