DeepL (Preview)

The DeepL connector provides programmatic access to DeepL’s machine translation technology, making it possible to bring high quality translation capabilities directly to your websites and applications. If you would like to develop a DeepL plugin for your CAT tool, please contact us.

This connector is available in the following products and regions:

Service Class Regions
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name Tim Cadenbach
URL https://github.com/deejaytc
Email [email protected]
Connector Metadata
Publisher DeepL
Website https://www.deepl.com/
Privacy policy https://www.deepl.com/privacy/
Categories Data

DeepL's mission is to overcome language barriers and bring cultures closer together. In order to achieve that mission, we use our expertise in artificial intelligence and neural networks to create technologies that make communication faster, better, and easier.

The DeepL API Connector allows you to use the DeepL API in your flows. Translate text or documents on the fly or manage your glossaries. Any functionality we offer with DeepL API can be used in Power Automate as well.

Prerequisites & Credentials

To use the connector, a DeepL API Free or Pro subscription is required. You can sign up here. After signing up, you can find your authentication key in the "Account" tab in your DeepL API account.

While creating your flow, you'll be asked to specify whether you have a Free or Pro plan. This has to be selected accordingly.

Get started with your connector

Start to add a new flow as usually and choose one of the available DeepL actions. Doing that for the first time will ask you to add some connection details as seen below: Initial Configuration View

Choose the price plan accordingly and add your API Key. The name can be anything you want. Confirm the step with "Create" and after that you can use the connection for all other actions available.

Known issues and limitations

  • We can not auto-detect your price plan. You have to choose between Free and Pro yourself when setting up a flow for the first time.

  • Some endpoints do not support JSON but only work with URLFormEncoded content, and while the connector has an internal workaround, this might not always work for everyone.

Common errors and remedies

  • HTTP 429 - A 429 error can be caused by multiple issues: either you tried to call the API too often, or there might be a temporary issue on our end. The general recommendation is to use an exponential back-off approach and retry the call. Exponential back-off is not implemented by the connector itself.

  • HTTP 400 - Something was wrong with your call, payload, or parameters used.

  • HTTP 456 - Quota exceeded. If you get a 456 error, your account limit for characters has been reached and you need to either wait until the next usage period or upgrade your account. If you're a Free API user, you can upgrade in the "Plan" tab of your account.

FAQ

  • What is the difference between DeepL API Free and Pro plans?

DeepL API Free is a variant of our DeepL API Pro plan that lets you translate up to 500,000 characters per month for free.

For more advanced needs, the DeepL API Pro plan offers the following additional benefits:

  1. Maximum data security (your texts are deleted immediately after the translation)

  2. No volume restriction on the number of characters you can translate per month (a billing model based on a fixed price of €4.99 per month + usage-based costs of €0.00002 per translated character)

  3. Prioritized execution of translation requests

Learn more in our help center.

  • What if I reached my character limit on the Free plan?

If you reached your monthly character limit on Deepl API Free, you'll have to wait until the next usage period (i.e. month) to be able to use the API again. Alternatively, you can consider upgrading to a Pro API subscription in the "Plan" tab of your account.

  • As a Pro subscriber, is there a way to limit my usage-based costs?

Yes, you can activate the cost control feature from the "Plan" tab of your Pro account.. Learn more about cost control in our help center.

  • Which functionality is available using the connector?

Anything you can currently do with our API can be done using the connector as well. You can look here to see all supported functionality and additional documentation about parameters and details.

Creating a connection

The connector supports the following authentication types:

Default Parameters for creating connection. All regions Not shareable

Default

Applicable: All regions

Parameters for creating connection.

This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.

Name Type Description Required
API Key securestring Your API Key, you can get your Key from your account dashboard. Required for Free and Pro users. True
Plan selection string Please select wether you are a free or pro user of the API True

Throttling Limits

Name Calls Renewal Period
API calls per connection 100 60 seconds

Actions

Check Document Status

Retrieve the current status of a document translation process.

Check Usage and Limits

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

Create a Glossary

Create a Glossary

Delete a Glossary

Deletes the specified glossary.

Download Translated Document

Once the status of the document translation process is done, the result can be downloaded.

List all Glossaries

List all glossaries and their meta-information, but not the glossary entries.

List Language Pairs Supported by Glossaries

Retrieve the list of language pairs supported by the glossary feature.

Retrieve Glossary Details

Retrieve meta information for a single glossary, omitting the glossary entries.

Retrieve Glossary Entries

List the entries of a single glossary in the format specified by the Accept header.

Retrieve Supported Languages

Retrieve the list of languages that are currently supported for translation, either as source or target language, respectively.

Translate text, use this for general text translation

Add one or multiple text entries to translate, if multiple are used they're considered being the same context.

Upload and Translate a Document

This call uploads a document and queues it for translation.

Check Document Status

Retrieve the current status of a document translation process.

Parameters

Name Key Required Type Description
Document ID
document_id True string

The document ID was sent to the client when the document was uploaded

Document Key
document_key True string

The encryption key was sent to the client when the document was uploaded

Returns

Name Path Type Description
document_id
document_id string

A unique ID assigned to the uploaded document and the requested translation process. The same ID that was used when requesting the translation status.

status
status string

A short description of the state the document translation process is currently in.

seconds_remaining
seconds_remaining integer

Estimated number of seconds until the translation is done. This parameter is only included while status is "translating".

billed_characters
billed_characters integer

The number of characters billed to your account.

error_message
error_message string

A short description of the error, if available. Note that the content is subject to change. This parameter may be included if an error occurred during translation.

Check Usage and Limits

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

Returns

Name Path Type Description
character_count
character_count integer

Characters translated so far in the current billing period.

character_limit
character_limit integer

Current maximum number of characters that can be translated per billing period.

document_limit
document_limit integer

Documents translated so far in the current billing period.

document_count
document_count integer

Current maximum number of documents that can be translated per billing period.

team_document_limit
team_document_limit integer

Documents translated by all users in the team so far in the current billing period.

team_document_count
team_document_count integer

Current maximum number of documents that can be translated by the team per billing period.

Create a Glossary

Create a Glossary

Parameters

Name Key Required Type Description
Name
name True string

Name to be associated with the glossary

Source Language
source_lang True string

The language in which the source texts in the glossary are specified

Target Language
target_lang True string

The language in which the target texts in the glossary are specified

Entries
entries True string

The glossary entries in the format specified in the Entries Format parameter

Entries Format
entries_format True string

tsv (default) - tab-separated values - csv - comma-separated values

Returns

Body
Glossary

Delete a Glossary

Deletes the specified glossary.

Parameters

Name Key Required Type Description
Glossary ID
glossary_id True string

A unique ID assigned to the glossary

Download Translated Document

Once the status of the document translation process is done, the result can be downloaded.

Parameters

Name Key Required Type Description
Document ID
document_id True string

The document ID was sent to the client when the document was uploaded

Document Key
document_key True string

The encryption key was sent to the client when the document was uploaded

Returns

response
binary

List all Glossaries

List all glossaries and their meta-information, but not the glossary entries.

Returns

Name Path Type Description
glossaries
glossaries array of Glossary

List Language Pairs Supported by Glossaries

Retrieve the list of language pairs supported by the glossary feature.

Returns

Name Path Type Description
supported_languages
supported_languages array of object

The list of supported languages

source_lang
supported_languages.source_lang string

The language in which the source texts in the glossary are specified.

target_lang
supported_languages.target_lang string

The language in which the target texts in the glossary are specified.

Retrieve Glossary Details

Retrieve meta information for a single glossary, omitting the glossary entries.

Parameters

Name Key Required Type Description
Glossary ID
glossary_id True string

A unique ID assigned to the glossary

Returns

Body
Glossary

Retrieve Glossary Entries

List the entries of a single glossary in the format specified by the Accept header.

Parameters

Name Key Required Type Description
Glossary ID
glossary_id True string

A unique ID assigned to the glossary

Format
Accept string

Currently, supports only text/tab-separated-values

Retrieve Supported Languages

Retrieve the list of languages that are currently supported for translation, either as source or target language, respectively.

Parameters

Name Key Required Type Description
Type
type string

Sets whether source or target languages should be listed

Returns

Name Path Type Description
array of object
language
language string

The language code of the given language.

name
name string

Name of the language in English.

supports_formality
supports_formality boolean

Denotes formality support in case of a target language listing.

Translate text, use this for general text translation

Add one or multiple text entries to translate, if multiple are used they're considered being the same context.

Parameters

Name Key Required Type Description
Text to be translated
text True array

Text to be translated. Only UTF-8-encoded plain text is supported

Source Language
source_lang string

Language of the text to be translated

Target Language
target_lang True string

The language into which the text should be translated

Split Sentences
split_sentences string

Whether to split the input into sentences

Preserve Formatting
preserve_formatting string

Whether to respect the original formatting

Formality
formality string

Whether to lean towards formal or informal language.

Glossary ID
glossary_id string

Specify the glossary to use for the translation

Tag Handling
tag_handling string

Sets which kind of tags should be handled

Non Splitting Tags
non_splitting_tags string

Comma-separated list of XML tags which never split sentences

Outline Detection
outline_detection string

0 disables automatic detection of XML structure

Splitting Tags
splitting_tags string

Comma-separated list of XML tags which always cause splits

Ignore Tags
ignore_tags string

Comma-separated list of XML tags that indicate text not to be translated

Returns

Name Path Type Description
translations
translations array of object
detected_source_language
translations.detected_source_language string

The detected source language.

text
translations.text string

The translated text.

Upload and Translate a Document

This call uploads a document and queues it for translation.

Parameters

Name Key Required Type Description
Source Language
source_lang string

Language of the text to be translated

Target Language
target_lang True string

The language into which the text should be translated

File
file True file

The file to be translated (.docx,.pptx,.pdf,.htm,.html,.txt)

File Name
filename string

The name of the uploaded file

Formality
formality string

Whether to lean towards formal or informal language.

Glossary ID
glossary_id string

A unique ID assigned to a glossary

Returns

Name Path Type Description
document_id
document_id string

A unique ID assigned to the uploaded document and the translation process.

document_key
document_key string

A unique key that is used to encrypt the uploaded document as well as the resulting translation on the server side.

Definitions

GlossaryId

A unique ID assigned to a glossary.

A unique ID assigned to a glossary.

Glossary

Name Path Type Description
glossary_id
glossary_id GlossaryId

A unique ID assigned to a glossary.

name
name string

Name associated with the glossary.

ready
ready boolean

Indicates if the newly created glossary can already be used in translate requests. If the created glossary is not yet ready, you have to wait and check the ready status of the glossary before using it in a translate request.

source_lang
source_lang GlossarySourceLanguage

The language in which the source texts in the glossary are specified.

target_lang
target_lang GlossaryTargetLanguage

The language in which the target texts in the glossary are specified.

creation_time
creation_time date-time

The creation time of the glossary in the ISO 8601-1:2019 format (e.g.: 2021-08-03T14:16:18.329Z).

entry_count
entry_count integer

The number of entries in the glossary.

GlossarySourceLanguage

The language in which the source texts in the glossary are specified.

The language in which the source texts in the glossary are specified.

GlossaryTargetLanguage

The language in which the target texts in the glossary are specified.

The language in which the target texts in the glossary are specified.

binary

This is the basic data type 'binary'.