Skip to content

Latest commit

 

History

History
268 lines (222 loc) · 9.58 KB

File metadata and controls

268 lines (222 loc) · 9.58 KB
title Quickstart
public true
mode wide

Get an API key and get started

New user? Follow these quick steps to get started with the DeepL API.

Visit [our plans page](https://www.deepl.com/pro-api#api-pricing), choose a plan, and sign up.
<Tip>
  If you already have a DeepL Translator account, you will need to log out and [create a new account for the DeepL API](https://support.deepl.com/hc/articles/360019358999-Change-plan).
</Tip>
Find your API key [here](https://www.deepl.com/your-account/keys). Then try making a simple translation request in one of these ways: * cURL or an HTTP request * with [our client libraries](/docs/getting-started/client-libraries) for [Python](https://www.github.com/deeplcom/deepl-python), [JavaScript](https://www.github.com/deeplcom/deepl-node), [PHP](https://www.github.com/deeplcom/deepl-php), [.NET](https://www.github.com/deeplcom/deepl-dotnet), [Java](https://www.github.com/deeplcom/deepl-java), or [Ruby](https://www.github.com/deeplcom/deepl-rb) * [in our playground](https://developers.deepl.com/api-reference/translate/request-translation?playground=open) * [in Postman](/docs/getting-started/test-your-api-requests-with-postman)
If you use the sample code below, be sure to replace `{YOUR_API_KEY}` with your own API key.

<Tabs>
  <Tab title="HTTP Request">
    <Tip>
      If you chose a free API plan and you are writing cURL or HTTP requests, replace `https://api.deepl.com` with `https://api-free.deepl.com`.
    </Tip>
       
    ```http Sample request
    POST /v2/translate HTTP/2
    Host: api.deepl.com
    Authorization: DeepL-Auth-Key [yourAuthKey] 
    User-Agent: YourApp/1.2.3
    Content-Length: 45
    Content-Type: application/json
    
    {"text":["Hello, world!"],"target_lang":"DE"}
    ```

    ```json Sample response
    {
      "translations": [
        {
          "detected_source_language": "EN",
          "text": "Hallo, Welt!"
        }
      ]
    }
    ```
  </Tab>
  <Tab title="cURL">
    <Tip>
      If you chose a free API plan and you are writing cURL or HTTP requests, replace `https://api.deepl.com` with `https://api-free.deepl.com`.
    </Tip>

    ```sh Set the API key
    export API_KEY={YOUR_API_KEY}
    ```

    ```sh Sample request
    curl -X POST https://api.deepl.com/v2/translate \
      --header "Content-Type: application/json" \
      --header "Authorization: DeepL-Auth-Key $API_KEY" \
      --data '{
        "text": ["Hello world!"], 
        "target_lang": "DE"
    }'
    ```

    ```json Sample response
    {
      "translations": [
        {
          "detected_source_language": "EN",
          "text": "Hallo, Welt!"
        }
      ]
    }
    ```
  </Tab>
  <Tab title="Python">
    ```sh Install client library
    pip install deepl
    ```

    ```py Sample request
    import deepl
    
    auth_key = "{YOUR_API_KEY}" # replace with your key
    deepl_client = deepl.DeepLClient(auth_key)
    
    result = deepl_client.translate_text("Hello, world!", target_lang="DE")
    print(result.text)
    ```

    ```text Sample output
    Hallo, Welt!
    ```

    <Tip>
      In production code, it's safer to store your API key in an environment variable.
    </Tip>
  </Tab>
  <Tab title="JavaScript">
    ```sh Install client library
    npm install deepl-node
    ```

    ```javascript Sample request
    import * as deepl from 'deepl-node';
    
    const authKey = "{YOUR_API_KEY}"; // replace with your key
    const deeplClient = new deepl.DeepLClient(authKey);
    
    (async () => {
        const result = await deeplClient.translateText('Hello, world!', null, 'de');
        console.log(result.text);
    })();
    ```

    ```text Sample output
    Hallo, Welt!

    ```
    <Tip>
      In production code, it's safer to store your API key in an environment variable.
    </Tip>
  </Tab>
  <Tab title="PHP">
    ```sh Install client library
    composer require deeplcom/deepl-php
    ```

    ```php Sample request
    require_once 'vendor/autoload.php';
    use DeepL\Client;

    $authKey = "{YOUR_API_KEY}"; // replace with your key
    $deeplClient = new DeepL\DeepLClient($authKey);
    
    $result = $deeplClient->translateText('Hello, world!', null, 'de');
    echo $result->text;
    ```

    ```text Sample output
    Hallo, Welt!
    ```
    <Tip>
      In production code, it's safer to store your API key in an environment variable.
    </Tip>
  </Tab>
  <Tab title="C#">
    ```sh Install client library
    dotnet add package DeepL.net
    ```

    ```csharp Sample request
    using DeepL; // this imports the DeepL namespace. Use the code below in your main program.

    var authKey = "{YOUR_API_KEY}"; // replace with your key
    var client = new DeepLClient(authKey);
    
    var translatedText = await client.TranslateTextAsync(
        "Hello, world!",
        null,
        LanguageCode.German);
    Console.WriteLine(translatedText);
    ```

    ```text Sample output
    Hallo, Welt!
    ```

    <Tip>
      In production code, it's safer to store your API key in an environment variable.
    </Tip>
  </Tab>
  <Tab title="Java">
    ```java Install client library
    // For instructions on installing the DeepL Java library,
    // see https://github.com/DeepLcom/deepl-java?tab=readme-ov-file#installation
    ```

    ```java Sample request
    import com.deepl.api.*;
    
    public class Main {
        public static void main(String[] args) throws DeepLException, InterruptedException {
            String authKey = "{YOUR_API_KEY}"; // replace with your key
            DeepLClient client = new DeepLClient(authKey);

            TextResult result = client.translateText("Hello, world!", null, "de");
            System.out.println(result.getText());
        }
    }
    ```

    ```text Sample output
    Hallo, Welt!
    ```

    <Tip>
      In production code, it's safer to store your API key in an environment variable.
    </Tip>
  </Tab>
  <Tab title="Ruby">
    ```sh Install client library
    gem install deepl-rb
    ```

    ```ruby Sample request
    require 'deepl'
    
    DeepL.configure do |config|
        config.auth_key = '{YOUR_API_KEY}' # replace with your key
    end
    
    translation = DeepL.translate 'Hello, world!', nil, 'de'
    puts translation.text
    ```

    ```text Sample output
    Hallo, Welt!
    ```

    <Tip>
      In production code, it's safer to store your API key in an environment variable.
    </Tip>
  </Tab>                      
</Tabs>
[Our official client libraries](/docs/getting-started/client-libraries) let you use the API with six popular programming languages - [Python](https://www.github.com/deeplcom/deepl-python), [JavaScript](https://www.github.com/deeplcom/deepl-node), [PHP](https://www.github.com/deeplcom/deepl-php), [.NET](https://www.github.com/deeplcom/deepl-dotnet), [Java](https://www.github.com/deeplcom/deepl-java), or [Ruby](https://www.github.com/deeplcom/deepl-rb). The DeepL community has [contributed client libraries](https://github.com/DeepLcom/awesome-deepl?tab=readme-ov-file#community-libraries--sdks) for other languages, including [Dart](https://github.com/komape/deepl_dart), [Go](https://github.com/candy12t/go-deepl), and [Rust](https://github.com/Avimitin/deepl-rs). You may also wish to check out [these examples and guides](/docs/learning-how-tos/examples-and-guides).

Keep exploring

  • Your first API request - With just a few lines of code, make your first request to the DeepL Translate or Write API
  • DeepL 101 - A quick guide to text and document translation, using Postman to play with the API, client libraries for your favorite programming language, and joining our developer community
  • Translation: a beginner's guide - A detailed guide to fundamental translation features
  • Cookbook - Explore short tutorials, examples, projects, and use cases
  • Guides - Discover in-depth explanations for API features and real-world applications

Community and Support

Support Center DeepL Bridges - Developer Community Status Page Release Notes