Text Utilities
Text manipulation tools — REST and TypeScript SDK via slug-based POST.
TypeScript SDK
Namespace: ty.text. Each slug below → ty.text.{camelCase}(body) (e.g. text-case-converter → textCaseConverter). Full table: SDK Tool Map → Text Utilities.
import { ToolYour } from "@toolyour/sdk";
const ty = ToolYour({ apiKey: process.env.TOOLYOUR_API_KEY! });
await ty.text.textCaseConverter({ text: "hello world", case: "uppercase" });
await ty.text.convertToSlug({ text: "My Blog Post Title" });
await ty.text.textStats({ text: "Paste article here…" });Base path: /api/v1/text-utilities
List tools
curl -s "https://api.toolyour.com/api/v1/text-utilities/catalog"No API key required for the catalog.
Run a tool
Case converter (browser: /digital-tools/text-case-converter; MCP: text_case_converter_post):
curl -X POST "https://api.toolyour.com/api/v1/text-utilities/text-case-converter" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $API_KEY" \
-d '{"text":"hello world","case":"titleCase","mode":"single"}'await ty.text.textCaseConverter({
text: "hello world",
case: "titleCase",
mode: "single",
});Add commas to a list (browser: /digital-tools/comma-separate; MCP: comma_separate_post):
curl -X POST "https://api.toolyour.com/api/v1/text-utilities/comma-separate" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $API_KEY" \
-d '{"text":"alpha\nbeta\ngamma","mode":"lines","dedupe":true,"trim":true}'await ty.text.commaSeparate({
text: "alpha\nbeta\ngamma",
mode: "lines",
dedupe: true,
trim: true,
});Sort lines / online list sorter (browser: /digital-tools/sort-lines; MCP: sort_lines_post):
curl -X POST "https://api.toolyour.com/api/v1/text-utilities/sort-lines" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $API_KEY" \
-d '{"text":"zebra\napple\nmango","order":"asc","sortMode":"alpha","trim":true,"removeEmpty":true}'await ty.text.sortLines({
text: "zebra\napple\nmango",
order: "asc",
sortMode: "alpha",
trim: true,
removeEmpty: true,
});Compare two texts / text diff (browser: /digital-tools/compare-texts; MCP: compare_texts_post):
curl -X POST "https://api.toolyour.com/api/v1/text-utilities/compare-texts" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $API_KEY" \
-d '{"textA":"alpha\nbeta\ngamma","textB":"alpha\nbeta\ndelta","mode":"lines","caseInsensitive":true}'await ty.text.compareTexts({
textA: "alpha\nbeta\ngamma",
textB: "alpha\nbeta\ndelta",
mode: "lines",
caseInsensitive: true,
});Slug generator / title to URL slug (browser: /digital-tools/convert-to-slug; MCP: convert_to_slug_post):
curl -X POST "https://api.toolyour.com/api/v1/text-utilities/convert-to-slug" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $API_KEY" \
-d '{"text":"Hello World! My Blog Post","mode":"single","delimiter":"-","maxLength":80}'await ty.text.convertToSlug({
text: "Hello World! My Blog Post",
mode: "single",
delimiter: "-",
maxLength: 80,
});Word counter / text statistics (browser: /digital-tools/text-stats; MCP: text_stats_post):
curl -X POST "https://api.toolyour.com/api/v1/text-utilities/text-stats" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $API_KEY" \
-d '{"text":"Paste article here…","mode":"single","wpm":200,"topN":10}'await ty.text.textStats({
text: "Paste article here…",
mode: "single",
wpm: 200,
topN: 10,
});Available slugs
text-case-converter, reverse-text, remove-spaces, remove-line-breaks, convert-to-slug, convert-to-hashtags, comma-separate, sort-words, sort-lines, repeat-text, dummy-text-generator, random-word-generator, number-to-words, words-to-number, compare-texts, text-stats, convert-to-xml-tags
Request body fields vary by tool — check the Text Utilities entries in the API reference.