<!-- BusyBot node reference — https://busybot.net/tools/open-thesaurus/ -->

> Node: OpenThesaurus (`open_thesaurus`) · Action · v1
> Category: Utility · Credentials: none
> Updated: 2026-08-16

# OpenThesaurus

> Get synonyms for German words via the OpenThesaurus API.

## Overview

OpenThesaurus is a free German thesaurus/synonym lookup service. This tool queries the OpenThesaurus API (https://www.openthesaurus.de/) to retrieve synonym sets (synsets) for a given German word. Each synset contains a group of synonymous terms. Options include baseform lookup, similar word suggestions (for typo correction), substring matching, and inclusion of sub-synsets (narrower terms) and super-synsets (broader terms). No authentication is required — this is a public API.

**Category:** Utility  
**Tool Name:** `open_thesaurus`  
**Version:** 1

**Appearance:** Icon: `lucide-BookOpen` | Color: `#6EAA25`

## Node Type

**Action** — processes input items and produces output

## Input / Output

| Direction | Port(s) |
|-----------|--------|
| Input | `Input` |
| Output | `Output`, `Error` |

## Credentials

This tool does not require any credentials.

### Operations

| Operation | Value | Description |
|-----------|-------|-------------|
| Get Synonyms | `getSynonyms` | Get synonyms for a German word in German |

### Parameters

The node has a single operation, so every parameter below is always visible.

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Text | `string` | Yes | — | The German word to get synonyms for. Supports expressions like {{ $json.word }}. |
| Options | `collection` | No | `{}` | Additional search options to refine the lookup. Add only the ones you need. |
| — Baseform | `boolean` | No | `false` | Specifies the basic form for the search term if it is not already a basic form. |
| — Similar | `boolean` | No | `false` | Also returns up to five similarly written words for each answer. Useful for typo correction. |
| — Starts With | `boolean` | No | `false` | Like substring=true, but only finds words that begin with the specified search term. |
| — Substring | `boolean` | No | `false` | Whether up to ten words are returned for each answer that only contain the search term as a partial word. |
| — Substring From Results | `number` | No | `0` | Specifies from which entry the partial word hits are to be returned. Only works together with substring=true. |
| — Substring Max Results | `number` | No | `10` | Specifies how many partial word hits should be returned in total. Only works together with substring=true. Maximum 250. |
| — Subsynsets | `boolean` | No | `false` | Whether each synonym group has its (optional) sub-terms supplied. |
| — Supersynsets | `boolean` | No | `false` | Whether each synonym group is supplied with its (optional) generic terms. |
| Max Concurrency | `number` | No | `10` | Maximum number of items to process concurrently. |

## Output Data

Synonym sets (synsets) containing groups of synonymous German terms. The API response's `synsets` array is unwrapped: **one output item per synset**, so a single input word usually produces several output items. Each synset's own properties are **merged onto the input item JSON** — the incoming fields pass through unchanged, and binary data is forwarded. When the word has no synsets at all, the input item is passed through once with nothing added.

Because one input can become many outputs, index-based pairing with the upstream node no longer holds downstream — carry any field you need to match on (for example the original word) on the input item, and it will still be there on every synset.

## Usage Examples

- Get synonyms for a German word
- Look up alternative German words for "Haus"
- Find similar words for a misspelled German term
- Get synonyms with broader and narrower terms included

## Example Configuration

Basic synonym lookup for a fixed word:

```json
{
  "type": "open_thesaurus",
  "parameters": {
    "operation": "getSynonyms",
    "text": "Haus"
  }
}
```

Look up a word coming from the incoming item, normalising it to its base form and asking for similar spellings:

```json
{
  "type": "open_thesaurus",
  "parameters": {
    "operation": "getSynonyms",
    "text": "{{ $json.word }}",
    "options": {
      "baseform": true,
      "similar": true
    }
  }
}
```

Substring search — find words that merely contain the search term, capped at 20 hits:

```json
{
  "type": "open_thesaurus",
  "parameters": {
    "operation": "getSynonyms",
    "text": "lauf",
    "options": {
      "substring": true,
      "substringFromResults": 0,
      "substringMaxResults": 20
    }
  }
}
```

Broadest possible result set — include narrower and broader synonym groups:

```json
{
  "type": "open_thesaurus",
  "parameters": {
    "operation": "getSynonyms",
    "text": "sprechen",
    "options": {
      "baseform": true,
      "similar": true,
      "subsynsets": true,
      "supersynsets": true
    }
  }
}
```

Throttle a large batch of lookups against the public API:

```json
{
  "type": "open_thesaurus",
  "parameters": {
    "operation": "getSynonyms",
    "text": "{{ $json.term }}",
    "options": {
      "baseform": true
    },
    "maxConcurrency": 3
  }
}
```

### Error Handling

| Mode | Behavior |
|------|----------|
| **stop** | Halts workflow on first error |
| **continue** | Skips failed items, passes successful ones through |
| **errorPort** | Routes failed items to Error output port |

## Tips

Look up synonyms for German words using the free OpenThesaurus API — no authentication required.

### Parameter Relationships

- All fields within `options` are optional and can be used independently
- `substringFromResults` and `substringMaxResults` are primarily useful when `substring` is true
- `baseform` is commonly used with other options to ensure comprehensive results