canonical: https://jentic.com/apis/languagetool.org/languagetool

# LanguageTool API

The LanguageTool API checks text for spelling, grammar, and style issues across 30+ languages and returns structured suggestions with replacements, rule IDs, and offsets. It also exposes the supported language list and lets users manage a personal dictionary of words to ignore. The service powers proofreading inside editors, browser extensions, and content workflows where automated correction is needed before publishing.

## For AI agents

Check text for spelling, grammar, and style errors with LanguageTool and apply structured correction suggestions across many languages.

## Scope

Does not translate text, generate prose, or detect plagiarism - use for grammar, spelling, and style checking only.

## Capabilities

- Check a block of text for spelling, grammar, and style issues with structured suggestions
- Retrieve the list of languages and language variants LanguageTool supports
- Add words to a user's personal dictionary so they are ignored on future checks
- Remove words from a user's personal dictionary
- List words currently saved in a user's personal dictionary

## Use cases

### Editorial Proofreading Pipeline

A content team runs draft articles through the LanguageTool /check endpoint before publishing, surfacing spelling, grammar, and style issues with suggested replacements. Each issue includes the offending offset, rule ID, and one or more replacement strings so the editor can accept or reject suggestions in bulk. This catches mistakes that human review misses on long-form content.

Example prompt: Send the article body to /check with language='en-GB', collect all matches with their offsets and replacements, and apply only the high-confidence suggestions automatically.

### Multi-Language Form Validation

A web product accepts user-generated text in multiple languages and uses LanguageTool to check each submission against the language declared by the user. The /languages endpoint provides the supported language and variant list to populate the language picker. This keeps user content readable without forcing a single working language.

Example prompt: Fetch /languages to populate a language selector, then call /check with the user's chosen language code on every submission and surface the top three suggestions per match.

### Personalised Dictionary for Brand Terms

A team adds product names, internal jargon, and author surnames to a LanguageTool personal dictionary so they stop being flagged as misspellings. The `/words/add` and `/words/delete` endpoints maintain that list per user, and /words returns the current entries. This avoids noisy false positives in brand-heavy content.

Example prompt: POST 'Jentic' and 'your Jentic One instance' to `/words/add` for the current user, then re-run /check on the draft to confirm those terms are no longer flagged.

### AI Agent Writing Assistant

An AI agent embedded in a writing tool uses LanguageTool through Jentic to grade and rewrite drafts. The agent searches Jentic for grammar checking, loads the /check schema, and submits the text without wiring LanguageTool client setup. Suggestions are then merged into the agent's revision step.

Example prompt: Use Jentic to call LanguageTool /check on the user's draft, then rewrite the text by applying the highest-confidence suggestion for each match before returning the cleaned version.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/check` | Check text for grammar, spelling, and style issues. |
| GET | `/languages` | List supported languages and variants. |
| GET | `/words` | List words in the user's personal dictionary. |
| POST | `/words/add` | Add a word to the user's personal dictionary. |
| POST | `/words/delete` | Remove a word from the user's personal dictionary. |

## Key resources

- **Check** — Submit text and receive structured spelling, grammar, and style suggestions.
- **Languages** — List supported languages and language variants.
- **Words** — Manage a user's personal dictionary entries.

## Why Jentic

- **Setup:** Wiring the LanguageTool API by hand means targeting the api.languagetoolplus.com host and form-encoding the text and language parameters for each check yourself. Through Jentic you install once, import the LanguageTool API from the API Directory, store any Premium credential once, and your agent calls it.
- **Permission scoping:** You choose which LanguageTool operations the agent may call, so you can limit it to the ones it needs, such as checking text and listing supported languages. Allowing the check and language operations lets the agent proofread text without being able to add or delete words from the personal dictionary.
- **Credential handling:** Any LanguageTool Premium username and API key are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'check text for grammar' or 'list supported languages', and Jentic returns the matching LanguageTool operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **OpenAI** — OpenAI's chat completions can be prompted to rewrite text for grammar and style.
- **Anthropic Messages** — Anthropic's Claude can perform open-ended grammar and style rewrites in many languages.
- **OpenAI** — OpenAI can apply LanguageTool's structured suggestions in a fluent rewrite step.

## FAQ

### What authentication does the LanguageTool API use?

The public OpenAPI spec does not declare a security scheme - the free `/v2/check` endpoint can be called without auth. LanguageTool Premium accepts a username and API key as query parameters; through Jentic those are stored encrypted in the vault and never enter the agent context.

### Can I check text in multiple languages with the LanguageTool API?

Yes. POST to /check with the language code (e.g., 'en-GB', 'de-DE', 'fr') and LanguageTool returns structured matches keyed to that language. Call GET /languages first to see every supported code and variant.

### Can I add custom words so LanguageTool stops flagging them?

Yes. POST words to `/words/add` to add them to the user's personal dictionary, GET /words to list current entries, and POST to `/words/delete` to remove them. Subsequent /check calls ignore those words.

### What are the rate limits for the LanguageTool API?

The free public service applies a per-IP limit of roughly 20 requests per minute and a per-request character cap. Premium and self-hosted deployments raise both limits - check languagetool.org for current Premium quotas.

### How do I check a draft for grammar issues through Jentic?

Search Jentic for 'check text for grammar', load the /check schema, and submit the text with the chosen language code. The response lists each match with its offset and suggested replacements.

### Is the LanguageTool API free?

The public /check endpoint is free with rate and length limits. LanguageTool Premium and self-hosted Docker images remove those limits and add additional rules.

### Can I limit what my agent is allowed to do with the LanguageTool API?

Yes. Jentic One is self-hosted, so your own rules decide which LanguageTool operations and credentials the agent may use. You can allow only /check and /languages so the agent proofreads text and reads supported language codes, while blocking the dictionary operations `/words/add`, `/words/delete`, and /words so it cannot change a user's personal dictionary. Any Premium username and API key stay with your instance and are injected at execution time rather than exposed to the agent.
