Using DeepL API to translate text
The REST API is finally (commercially) available, see the API reference documentation.
A sample request would be
https://api.deepl.com/v1/translate?text=Hello%20World!&target_lang=EN&auth_key=XXX
where XXX is the authentication key you need to register with DeepL.
There is a POST call that allows you get the translations, I don't know how many time this will be supported or it's times limitations but here it is:
Url: https://www.deepl.com/jsonrpc
You should make a POST call with the next json:
{
'jsonrpc': '2.0',
'method': 'LMT_handle_jobs',
'params': {
'jobs': [
{
'kind':'default',
'raw_en_sentence': TEXT_TO_TRANSLATE
}
],
'lang': {
'user_preferred_langs': [
FROM_LANGUAGE,
TO_LANGUAGE
],
'source_lang_user_selected': FROM_LANGUAGE,
'target_lang': TO_LANGUAGE
},
'priority': -1
},
}
The available languages are:
auto Auto detect
DE German
EN English
FR French
ES Spanish
IT Italian
NL Dutch
PL Polish
TO_LANGUAGE
must be a valid language and FROM_LANGUAGE
can be a valid language or auto
I wrote a python module that wraps this API: pydeepl There are currently also a node package and a php client that accomplish the same goal.