# DeepL API

> DeepL returns text translations and alternative translations, available as a workflow and API.

DeepL’s Translate text method returns translated text and alternatives when shown; it needs text and a target language, with source language optional.

- Page: https://fous.com/tools/deepl
- Handle: `@deepl`
- Category: [Productivity](https://fous.com/tools/category/productivity)
- Source website: https://deepl.com
- Last verified: Sep 29, 2026

## Methods

### Translate text

Operation `translate_text`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Translate up to 1,500 characters using DeepL’s free translator. Formality controls are unavailable without Pro; whole-text alternatives are returned only when shown.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `text` | string | yes | `"Please send the contract by Friday."` | Text to translate, up to 1,500 characters. Example: Please send the contract by Friday. |
| `source_language` | string | no | `"French"` | Language of the text, or auto-detect. Example: English. |
| `target_language` | string | yes | `"German"` | Language for the translation. Example: German. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "text",
    "target_language"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "Text to translate, up to 1,500 characters. Example: Please send the contract by Friday.",
      "examples": [
        "Please send the contract by Friday.",
        "Bonjour, bienvenue à Paris."
      ]
    },
    "source_language": {
      "type": "string",
      "default": "auto-detect",
      "description": "Language of the text, or auto-detect. Example: English.",
      "examples": [
        "French"
      ]
    },
    "target_language": {
      "type": "string",
      "description": "Language for the translation. Example: German.",
      "examples": [
        "German",
        "English"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "text": "Please send the contract by Friday.",
      "target_language": "German"
    },
    {
      "text": "Bonjour, bienvenue à Paris.",
      "source_language": "French",
      "target_language": "English"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `page_url` | string | `"https://www.deepl.com/en/translator"` |  |
| `source_language` | string | `"English"` |  |
| `target_language` | string | `"German"` |  |
| `translated_text` | string | `"Bitte senden Sie den Vertrag bis Freitag."` |  |
| `source_language_code` | string | `"en"` |  |
| `target_language_code` | string | `"de-de"` |  |
| `alternative_translations` | array |  |  |

**Example input**

```json
{
  "text": "Please send the contract by Friday.",
  "target_language": "German"
}
```

**Example output**

```json
{
  "page_url": "https://www.deepl.com/en/translator",
  "source_language": "English",
  "target_language": "German",
  "translated_text": "Bitte senden Sie den Vertrag bis Freitag.",
  "source_language_code": "en",
  "target_language_code": "de-de",
  "alternative_translations": []
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@deepl",
  "visibility": "public",
  "operation": "translate_text",
  "version": 1,
  "input": {
    "text": "Please send the contract by Friday.",
    "target_language": "German"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@deepl\",\n  \"visibility\": \"public\",\n  \"operation\": \"translate_text\",\n  \"version\": 1,\n  \"input\": {\n    \"text\": \"Please send the contract by Friday.\",\n    \"target_language\": \"German\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@deepl",
  "visibility": "public",
  "operation": "translate_text",
  "version": 1,
  "input": {
    "text": "Please send the contract by Friday.",
    "target_language": "German"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/deepl`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `translate_text`: Translate text. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-deepl https://api.fous.com/mcp/tools/deepl --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Translate customer messages for international support teams
- Prepare product descriptions for new markets
- Review alternative translations before publishing
- Translate internal documents for multilingual teams

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this DeepL tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a DeepL account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from deepl.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### How do I translate text into another language?

Use Translate text with the text and target language; source language is optional.

### Can I get alternative translations?

Translate text returns alternative translations only when they are shown.

## Related

- [Google Translate API](https://fous.com/tools/google-translate.md): Translate text between languages, with pronunciation and dictionary alternatives when available.
- [WordReference API](https://fous.com/tools/wordreference.md): Dictionary translations and language reference.
- [Cambridge Dictionary API](https://fous.com/tools/cambridge-dictionary.md): Cambridge Dictionary provides English definitions, examples, grammar labels, and available UK and US pronunciations, plus translations and paired examples for supported languages, reflecting details shown on its pages.
- [YouTube API](https://fous.com/tools/youtube.md): YouTube returns public video, caption, comment and channel details, company channels, and the latest weekly Top Songs chart; inferred dates and some counts may be approximate.
- [EUR-Lex API](https://fous.com/tools/eur-lex.md): EUR-Lex provides official EU legislation, relevance-ranked filtered searches, and article text from the latest consolidation when available, with stated general application dates.
- [Project Gutenberg API](https://fous.com/tools/project-gutenberg.md): Project Gutenberg offers free public-domain ebooks and reading materials, with searchable book details and plain text from the most-downloaded matching edition available.
- [Quran.com API](https://fous.com/tools/quran-com.md): Quran.com provides Quran reading and search: up to 50 verses with Arabic and translations, optional transliteration, and only the first 50 verses of longer passages.
- [Daily Mail API](https://fous.com/tools/daily-mail.md): Daily Mail provides ordered section headlines with available bylines and times, searches up to 200 published articles excluding syndicated wire stories, and reads public article text and details, including latest live-blog entries shown.
- [All Productivity tools](https://fous.com/tools/category/productivity)
