# WordReference API

> WordReference returns word translations, usage notes, and examples as a workflow and API.

WordReference (WR) translates words or phrases between available language pairs, with usage notes, examples, and compound forms when shown. The Translate word method needs a word or phrase and target language; source language is optional.

- Page: https://fous.com/tools/wordreference
- Handle: `@wordreference`
- Category: [Education](https://fous.com/tools/category/education)
- Source website: https://wordreference.com
- Last verified: Sep 30, 2026

## Methods

### Translate word

Operation `translate_word`, 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 a word or phrase between languages using WordReference, including usage notes, example sentences and compound forms when shown. Only language pairs listed by WordReference are available.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `word` | string | yes | `"get over"` | Word or phrase to translate, for example get over. |
| `to_language` | string | yes | `"Spanish"` | Language to translate into, for example Spanish. |
| `from_language` | string | no | `"Spanish"` | Language to translate from, for example English. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "word",
    "to_language"
  ],
  "properties": {
    "word": {
      "type": "string",
      "description": "Word or phrase to translate, for example get over.",
      "examples": [
        "get over",
        "apple",
        "casa"
      ]
    },
    "to_language": {
      "type": "string",
      "description": "Language to translate into, for example Spanish.",
      "examples": [
        "Spanish",
        "French",
        "Japanese"
      ]
    },
    "from_language": {
      "type": "string",
      "default": "English",
      "description": "Language to translate from, for example English.",
      "examples": [
        "Spanish"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "word": "get over",
      "to_language": "Spanish"
    },
    {
      "word": "get over",
      "to_language": "French"
    },
    {
      "word": "apple",
      "to_language": "Japanese"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `word` | string | `"get over"` |  |
| `page_link` | string | `"https://www.wordreference.com/enes/get%20over"` |  |
| `to_language` | string | `"Spanish"` |  |
| `from_language` | string | `"English"` |  |
| `compound_forms` | array |  |  |
| `compound_forms[].phrase` | string | `"get it over with"` |  |
| `compound_forms[].translation` | string | `"quitarse de encima, sacarse de encima"` |  |
| `principal_translations` | array |  |  |
| `principal_translations[].source_term` | string or null | `"get over [sth]"` |  |
| `principal_translations[].translation` | string or null | `"recuperarse de"` |  |
| `principal_translations[].meaning_note` | string or null | `"(recover from)"` |  |
| `principal_translations[].example_sentence` | string or null | `"I hope you get over your flu really quickly."` |  |
| `principal_translations[].example_translation` | string or null | `"Espero que te recuperes pronto de tu gripe."` |  |
| `principal_translations[].source_part_of_speech` | string or null | `"vtr phrasal insep"` |  |
| `principal_translations[].translation_part_of_speech` | string or null | `"v prnl + prep"` |  |
| `additional_translations` | array |  |  |
| `additional_translations[].source_term` | string or null | `"Get over!"` |  |
| `additional_translations[].translation` | string or null | `"¡No puede ser!"` |  |
| `additional_translations[].meaning_note` | string or null | `"UK, regional, slang (I don't believe you)"` |  |
| `additional_translations[].example_sentence` | string or null | `"You're telling me you're a millionaire? Get over!"` |  |
| `additional_translations[].example_translation` | string or null | `"¿Me estás diciendo que eres millonaria? ¡No puede ser!"` |  |
| `additional_translations[].source_part_of_speech` | string or null | `"interj"` |  |
| `additional_translations[].translation_part_of_speech` | string or null | `"loc interj"` |  |

**Example input**

```json
{
  "word": "get over",
  "to_language": "Spanish"
}
```

**Example output**

```json
{
  "word": "get over",
  "page_link": "https://www.wordreference.com/enes/get%20over",
  "to_language": "Spanish",
  "from_language": "English",
  "compound_forms": [
    {
      "phrase": "get it over with",
      "translation": "quitarse de encima, sacarse de encima"
    }
  ],
  "principal_translations": [
    {
      "source_term": "get over [sth]",
      "translation": "recuperarse de",
      "meaning_note": "(recover from)",
      "example_sentence": "I hope you get over your flu really quickly.",
      "example_translation": "Espero que te recuperes pronto de tu gripe.",
      "source_part_of_speech": "vtr phrasal insep",
      "translation_part_of_speech": "v prnl + prep"
    }
  ],
  "additional_translations": [
    {
      "source_term": "Get over!",
      "translation": "¡No puede ser!",
      "meaning_note": "UK, regional, slang (I don't believe you)",
      "example_sentence": "You're telling me you're a millionaire? Get over!",
      "example_translation": "¿Me estás diciendo que eres millonaria? ¡No puede ser!",
      "source_part_of_speech": "interj",
      "translation_part_of_speech": "loc interj"
    }
  ]
}
```

## 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": "@wordreference",
  "visibility": "public",
  "operation": "translate_word",
  "version": 1,
  "input": {
    "word": "get over",
    "to_language": "Spanish"
  },
  "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\": \"@wordreference\",\n  \"visibility\": \"public\",\n  \"operation\": \"translate_word\",\n  \"version\": 1,\n  \"input\": {\n    \"word\": \"get over\",\n    \"to_language\": \"Spanish\"\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": "@wordreference",
  "visibility": "public",
  "operation": "translate_word",
  "version": 1,
  "input": {
    "word": "get over",
    "to_language": "Spanish"
  },
  "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/wordreference`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `translate_word`: Translate word. 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-wordreference https://api.fous.com/mcp/tools/wordreference --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

- Compare translations across available language pairs
- Review example sentences and their translations
- Check usage notes for a word or phrase
- Explore compound forms shown for a translation

## 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 WordReference 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 WordReference account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from wordreference.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 30, 2026.

### How do I translate a word or phrase?

Use Translate word with the word or phrase and target language; source language is optional.

### Can I see example sentences and translations?

Yes. Translate word returns example sentences and their translations when shown.

### Does a translation include compound forms?

Translate word returns compound forms when shown.

## Related

- [All Education tools](https://fous.com/tools/category/education)
