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 |
tim.cadenbach@deepl.com |
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.
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.
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:
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.
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.
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.
- 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:
Maximum data security (your texts are deleted immediately after the translation)
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)
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.
The connector supports the following authentication types:
Default | Parameters for creating connection. | All regions | Not shareable |
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 |
Name | Calls | Renewal Period |
---|---|---|
API calls per connection | 100 | 60 seconds |
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 |
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 |
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. |
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 |
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. |
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
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
|
entries_format | True | string |
|
Returns
- Body
- Glossary
Deletes the specified glossary.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Glossary ID
|
glossary_id | True | string |
A unique ID assigned to the glossary |
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 and their meta-information, but not the glossary entries.
Returns
Name | Path | Type | Description |
---|---|---|---|
glossaries
|
glossaries | array of Glossary |
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 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
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 |
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. |
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 |
|
|
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. |
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. |
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 |
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.: |
entry_count
|
entry_count | integer |
The number of entries in the glossary. |
The language in which the source texts in the glossary are specified.
The language in which the source texts in the glossary are specified.
The language in which the target texts in the glossary are specified.
The language in which the target texts in the glossary are specified.
This is the basic data type 'binary'.