# Introduction > Welcome to the developer home of DeepL API. ## 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. 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). 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. 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`. ```http Sample request theme={null} 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 theme={null} { "translations": [ { "detected_source_language": "EN", "text": "Hallo, Welt!" } ] } ``` 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`. ```sh Set the API key theme={null} export API_KEY={YOUR_API_KEY} ``` ```sh Sample request theme={null} 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 theme={null} { "translations": [ { "detected_source_language": "EN", "text": "Hallo, Welt!" } ] } ``` ```sh Install client library theme={null} pip install deepl ``` ```py Sample request theme={null} 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 theme={null} Hallo, Welt! ``` In production code, it's safer to store your API key in an environment variable. ```sh Install client library theme={null} npm install deepl-node ``` ```javascript Sample request theme={null} 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 theme={null} Hallo, Welt! ``` In production code, it's safer to store your API key in an environment variable. ```sh Install client library theme={null} composer require deeplcom/deepl-php ``` ```php Sample request theme={null} require_once 'vendor/autoload.php'; use DeepL\Translator; $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 theme={null} Hallo, Welt! ``` In production code, it's safer to store your API key in an environment variable. ```sh Install client library theme={null} dotnet add package DeepL.net ``` ```csharp Sample request theme={null} 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 theme={null} Hallo, Welt! ``` In production code, it's safer to store your API key in an environment variable. ```java Install client library theme={null} // For instructions on installing the DeepL Java library, // see https://github.com/DeepLcom/deepl-java?tab=readme-ov-file#installation ``` ```java Sample request theme={null} 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 theme={null} Hallo, Welt! ``` In production code, it's safer to store your API key in an environment variable. ```sh Install client library theme={null} gem install deepl-rb ``` ```ruby Sample request theme={null} 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 theme={null} Hallo, Welt! ``` In production code, it's safer to store your API key in an environment variable. [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](/docs/getting-started/your-first-api-request) - With just a few lines of code, make your first request to the DeepL Translate or Write API * [**DeepL 101**](/docs/learning-how-tos/examples-and-guides/first-things-to-try-with-the-deepl-api) - 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 * [Cookbook](/docs/learning-how-tos/cookbook) - Explore short tutorials, examples, projects, and use cases * [Guides](/docs/learning-how-tos/examples-and-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 --- > To find navigation and other pages in this documentation, fetch the llms.txt file at: https://developers.deepl.com/llms.txt