TextKit
## TextKit Every backend that handles user-generated content ends up with the same graveyard of half-finished utility functions: a slug generator someone wrote at 2am, a word counter that's off by one, a sanitizer that breaks on emoji, and a readability check that never got finished. TextKit replaces all of them. One API key and your entire text processing layer is handled: analysis, cleaning,…
TextKit endpoints
| Method | Endpoint | Description |
|---|---|---|
| health | ||
| GET |
/health /health |
|
| analyze | ||
| POST |
/analyze /analyze |
Returns word count, character count, sentence count, paragraph count, reading time, speaking time, top keywords with density, and full readability scores (Flesch-Kincaid Reading… |
| slug | ||
| GET |
/slug /slug |
|
| case | ||
| GET |
/case /case |
|
| lorem | ||
| GET |
/lorem /lorem |
|
| truncate | ||
| GET |
/truncate /truncate |
|
| excerpt | ||
| GET |
/excerpt /excerpt |
Finds the longest complete sentence(s) that fit within the given character limit. Falls back to word-boundary truncation with ellipsis if the first sentence exceeds the limit. |
| extract | ||
| POST |
/extract /extract |
Extracts emails, URLs, phone numbers, hashtags, mentions, dates, dollar amounts, IP addresses, and zip codes. |
| sanitize | ||
| POST |
/sanitize /sanitize |
Strip HTML tags, normalize whitespace, remove special characters, strip emoji. |
| diff | ||
| POST |
/diff /diff |
|
| redact | ||
| POST |
/redact /redact |
Replace sensitive information with safe placeholders. Supported types: email, phone, ssn, creditcard, ip. If types is omitted, all types are redacted. |
| batch | ||
| POST |
/batch /batch |
Run full analysis on up to 50 texts in a single request. |
| pipeline | ||
| POST |
/pipeline /pipeline |
Apply a sequence of operations to text. Text-transforming ops (sanitize, truncate, case, slug, redact, excerpt) modify the text in order. Analysis ops (analyze, extract) run on… |
| spam | ||
| POST |
/spam /spam |
Checks text for common email spam trigger words and returns a score, list of flagged words, and a verdict: clean (0-33), suspicious (34-66), or spam (67-100). |
| similarity | ||
| POST |
/similarity /similarity |
Computes Jaccard similarity and overlap coefficient between two texts using word sets. Returns a similarity percentage (0-100) and a verdict: different (0-30), related (31-70),… |
| normalize | ||
| POST |
/normalize /normalize |
Converts smart quotes to straight quotes, replaces em dashes with " - ", fixes Windows line endings, collapses multiple spaces and blank lines, trims trailing whitespace per… |
| template | ||
| POST |
/template /template |
Replaces {{variable}} and {variable} placeholders with provided values. Reports which variables were found, which are missing (no value provided), and which provided variables… |
| social | ||
| POST |
/social /social |
Validates text against character limits for Twitter/X (280), LinkedIn posts (3000), Instagram captions (2200), and TikTok captions (2200). Also counts hashtags, mentions, and… |
| proofread | ||
| POST |
/proofread /proofread |
Checks text for common writing issues without AI. Detects: repeated words, double spaces, sentences starting with lowercase, repeated punctuation, 10 common typos (teh, recieve,… |
TextKit pricing
| Plan | Price | Rate limit | Quotas |
|---|---|---|---|
| BASIC | Free | — |
|
| PRO | $7 / month | — |
|
| ULTRA | $19 / month | — |
|
| MEGA | $79 / month | — |
|