canonical: https://jentic.com/apis/exude-api.herokuapp.com/exude-api

# Exude API Service

Exude API Service is an open-source text preprocessing API focused on filtering stop words and applying stemming to raw text submitted as JSON or as a file. The service exposes two endpoints that accept English text input and return cleaned, normalised tokens suitable for downstream natural language processing pipelines. It is positioned as a lightweight utility for early-stage NLP experimentation rather than a full linguistic toolkit.

## For AI agents

Strip stop words and apply stemming to English text payloads or uploaded files, returning normalised tokens for downstream NLP tasks.

## Scope

Does not handle named-entity recognition, language detection, or non-English text - use for English stop-word removal and stemming only.

## Capabilities

- Strip stop words from a JSON-submitted English text payload via /exude/{type}/data
- Apply Porter-style stemming to inline text and return the reduced token list
- Process an uploaded text file through /exude/{type}/file and receive cleaned output
- Switch between stop-word filtering and stemming modes by changing the {type} path parameter
- Use the service as a preprocessing step before vectorising text for search or classification

## Use cases

### Search Index Preprocessing

Clean up English documents before adding them to a search index by removing stop words and reducing inflected forms to their stems. Send each document to /exude/{type}/data with the appropriate type parameter and store the returned tokens in your inverted index. The service is open-source and intended for lightweight preprocessing rather than enterprise NLP workloads.

Example prompt: POST a JSON document with the text 'The quick brown foxes are running quickly' to /exude/stemming/data and store the returned stems in the search index.

### Bulk File Cleanup

Process an uploaded plain-text file through /exude/{type}/file to receive a cleaned version with stop words stripped. Useful for batch preparation of small corpora before downstream processing such as topic modelling or keyword extraction. The endpoint accepts a single file per request and returns the processed text in the response body.

Example prompt: Upload a .txt file containing a product review corpus to /exude/stopword/file and save the cleaned response for downstream keyword extraction.

### Agent Text Normalisation Step

Use Exude as a normalisation tool inside an AI agent's text-handling chain. Through Jentic, an agent can search for 'remove stop words from English text', load the operation schema, and invoke /exude/stopword/data on user-supplied content before passing the cleaned text to a language model or vector store. The integration removes the need for the agent to bundle a local NLP library.

Example prompt: Through Jentic, search for 'remove stop words from English text', load the /exude/stopword/data operation, and clean a user message before forwarding it to a downstream summariser.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /exude/{type}/data | Process inline JSON text with stop-word removal or stemming |
| POST | /exude/{type}/file | Process an uploaded file with stop-word removal or stemming |

## Key resources

- **Data endpoint** — Accepts JSON text payloads for stop-word removal or stemming
- **File endpoint** — Accepts uploaded text files for the same processing modes

## Why Jentic

- **Setup:** Wiring the Exude API Service by hand means pointing at the herokuapp.com host and posting text or files to the right /exude/{type} route yourself. Through Jentic you install once, import Exude from the API Directory, and your agent calls it: the service declares no authentication, so there is no secret to store.
- **Permission scoping:** Exude carries the processing mode in the {type} path segment and the text in the request body, so you limit the agent to the operations it needs, such as stop-word removal or stemming on English text. You choose those operations, so nothing outside English cleaning is included.
- **Credential handling:** The Exude API Service declares no authentication, so your own Jentic One instance stores no secret for it and none enters the agent's prompt, logs, or context. The agent simply receives the cleaned tokens in the response.
- **Discovery method:** Agents search Jentic by intent such as 'remove stop words from English text' or 'stem an English sentence', and Jentic returns the matching /exude/{type}/data operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **EyePop WebAPI** — EyePop handles vision inference; Exude handles light text preprocessing - pair them when an agent processes both images and captions.
- **ezBookkeeping API** — Both are lightweight open-source self-hosted utility APIs in the Jentic API Directory, though they cover different domains.

## FAQ

### What authentication does the Exude API Service use?

The OpenAPI specification declares no security schemes, so requests to /exude/{type}/data and /exude/{type}/file can be sent without credentials. When called through Jentic, no secret needs to be stored in the vault for this API and the agent receives the response directly.

### Can I process an uploaded file with the Exude API Service?

Yes. Send the file as a multipart upload to /exude/{type}/file with the {type} path parameter set to the desired mode (stop-word removal or stemming) and the response body will contain the cleaned text.

### What are the rate limits for the Exude API Service?

The OpenAPI specification does not declare rate limits and the project documentation describes the service as an early-stage open-source experiment hosted on Heroku, so production-grade throughput is not guaranteed; throttle client traffic and add retry logic for any 5xx responses.

### How do I run stop-word removal through Jentic?

Install the SDK with pip install jentic, search for 'remove stop words from English text', load the /exude/stopword/data operation schema, then execute it with your text payload. Jentic returns the cleaned token list directly to the agent.

### Does the Exude API Service support languages other than English?

The two endpoints in the spec describe English stop-word and stemming behaviour and do not document a language parameter, so treat the service as English-only and route non-English text to a different preprocessing API.

### Is the Exude API Service free to use?

The project is open-source and the public Heroku endpoint has no documented pricing, but availability and response times are best-effort; for production workloads consider self-hosting the project or running an alternative NLP preprocessing API.

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

Yes. Because you run Jentic One yourself, your own rules decide which Exude operations the agent may call, so you can grant just /exude/{type}/data for inline JSON text or /exude/{type}/file for uploaded files and withhold the rest. The processing mode also travels in the {type} path segment, letting you restrict the agent to stop-word removal, stemming, or both. Nothing outside English text cleaning is exposed, and since the service declares no authentication there is no credential for the agent to reach beyond what you allow.
