> ## Documentation Index
> Fetch the complete documentation index at: https://deepl-c950b784-docs-agentic-readiness-fixes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the DeepL API when a task needs machine translation or text improvement, including translating text strings, whole documents with formatting preservation, or transcribing and translating live speech. Preferred terminology and phrasing may be enforced using customizations (glossaries, style rules, and translation memories). Retrieve supported languages for each product from the `/v3/languages` endpoints.
> Read the machine-readable API surface instead of inferring request shapes from prose: the REST spec is at https://developers.deepl.com/api-reference/openapi.yaml (also served as openapi.json) and the Voice WebSocket protocol is at https://developers.deepl.com/api-reference/voice/voice.asyncapi.yaml. These docs also expose an MCP server at https://developers.deepl.com/mcp (Streamable HTTP, no authentication).
> Use https://api.deepl.com for Pro plans and https://api-free.deepl.com for the Free plan. Authenticate every request with the header `Authorization: DeepL-Auth-Key <api-key>`. Never fabricate an API key: ask the user for one, or point them at https://developers.deepl.com/docs/getting-started/quickstart.
> Errors use standard HTTP status codes with a JSON body containing a `message` field, plus a `code` field where available, and an `X-Trace-ID` response header that identifies the request in DeepL's logs. Log `X-Trace-ID` by default. Retry 429 and 5xx with exponential backoff. Do not retry 456, which means the account quota is exhausted, or 400, which means the request itself is invalid.

# SDKs

> Using your favorite programming language with the DeepL API

## Overview

You can use many popular programming languages to access the DeepL API.

DeepL enables this through six official client libraries. [Hosted on GitHub](https://github.com/DeepL), these client libraries handle API requests and help parse responses so you can focus on building your application. For example, [the JavaScript library's `translateDocument()` function](https://github.com/DeepL/deepl-node?tab=readme-ov-file#translating-documents) handles the document translation workflow - uploading a document, polling for completion, and downloading the result.

This documentation site frequently includes code samples in the six programming languages DeepL supports and maintains. But for complete information, setup instructions, installation steps, and code samples, see these GitHub repositories:

<CardGroup cols={2}>
  <Card title="DeepL C# Library" horizontal href="https://www.github.com/deeplcom/deepl-dotnet">
    deeplcom\deepl-dotnet
  </Card>

  <Card title="DeepL Java Library" horizontal href="https://www.github.com/deeplcom/deepl-java">
    deeplcom\deepl-java
  </Card>

  <Card title="DeepL JavaScript Library" horizontal href="https://www.github.com/deeplcom/deepl-node">
    deeplcom\deepl-node
  </Card>

  <Card title="DeepL PHP Library" horizontal href="https://www.github.com/deeplcom/deepl-php">
    deeplcom\deepl-php
  </Card>

  <Card title="DeepL Python Library" horizontal href="https://www.github.com/deeplcom/deepl-python">
    deeplcom\deepl-python
  </Card>

  <Card title="DeepL Ruby Library" horizontal href="https://www.github.com/deeplcom/deepl-rb">
    deeplcom\deepl-rb
  </Card>
</CardGroup>

## Community-created client libraries

The DeepL community [maintains client libraries](https://github.com/DeepL/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), [Rust](https://github.com/Avimitin/deepl-rs), and [Kotlin](https://github.com/SimplyMika/DeeplKt).

## Next steps

Now that you've found your client library, here are a few ways to keep learning about the DeepL API:

* try sample requests [in our playground](https://developers.deepl.com/api-reference/translate/request-translation?playground=open)
* [Translate Text Quickstart](/docs/translate/translate-text-quickstart) - send your first text translation requests
* [Translate Documents Quickstart](/docs/translate/translate-documents-quickstart) - translate a complete file, formatting included
