SDK Tool Map
Machine-readable map of every API tool — purpose, REST path, TypeScript SDK method, example call, and input shape. For LLMs and integrators.
Use this page with the TypeScript SDK or raw REST. Public URL slugs use kebab-case hyphens. SDK methods use camelCase derived from the API operationId.
For multi-step agent jobs (merged jobReport), see SDK vs MCP workflows. Skills and run_workflow are MCP-only today.
For LLMs and agents
- Install:
npm install @toolyour/sdk - Auth:
ToolYour(\{ apiKey: process.env.TOOLYOUR_API_KEY \})— headerX-Api-Key: ty_… - Pick a row below → call
ty.\{namespace\}.\{method\}(input)(see Example call column) - Same quota as REST and MCP. MCP tool names match SDK method names for API-backed tools.
- Full request/response schemas: OpenAPI sidebar on this site.
Naming rules
| API style | Example slug / path | SDK namespace | SDK method |
|---|---|---|---|
Slug POST (/text-utilities/\{slug\}) | text-case-converter | text | textCaseConverter |
| Explicit route | /seo-apis/meta-tags-analyzer | seo | metaTagsAnalyzer |
| Document slug POST | docx-to-pdf | documents | docxToPdf |
| Image convertor | /convertors/to-jpg | convertors | convertToJpg |
Generic invoke: ty.invoke("operationId", body) — use when unsure (operationId = snake_case for slug tools, camelCase for explicit routes).
Total API tools in this map: 280
AI Models
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
file-insights | Analyze uploaded file with AI | POST /api/v1/ai-models/file-insights | ty.ai.aiFileInsights(…) | await ty.ai.aiFileInsights(\{ file: fileBlob \}) | `{ file: File |
text-ai | Text generation and analysis | POST /api/v1/ai-models/text-ai | ty.ai.aiTextAi(…) | await ty.ai.aiTextAi(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
youtube-insight | YouTube video insights | POST /api/v1/ai-models/youtube-insight | ty.ai.aiYoutubeInsight(…) | await ty.ai.aiYoutubeInsight(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
Archive
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
7z-to-bz2 | 7z to bz2 | POST /api/v1/archive/7z-to-bz2 | ty.archive.7zToBz2(…) | await ty.archive.7zToBz2(\{ file: fileBlob \}) | `{ file: File |
7z-to-gz | 7z to gz | POST /api/v1/archive/7z-to-gz | ty.archive.7zToGz(…) | await ty.archive.7zToGz(\{ file: fileBlob \}) | `{ file: File |
7z-to-rar | 7z to rar | POST /api/v1/archive/7z-to-rar | ty.archive.7zToRar(…) | await ty.archive.7zToRar(\{ file: fileBlob \}) | `{ file: File |
7z-to-tar | 7z to tar | POST /api/v1/archive/7z-to-tar | ty.archive.7zToTar(…) | await ty.archive.7zToTar(\{ file: fileBlob \}) | `{ file: File |
7z-to-zip | 7z to zip | POST /api/v1/archive/7z-to-zip | ty.archive.7zToZip(…) | await ty.archive.7zToZip(\{ file: fileBlob \}) | `{ file: File |
bz2-to-7z | bz2 to 7z | POST /api/v1/archive/bz2-to-7z | ty.archive.bz2To7z(…) | await ty.archive.bz2To7z(\{ file: fileBlob \}) | `{ file: File |
bz2-to-gz | bz2 to gz | POST /api/v1/archive/bz2-to-gz | ty.archive.bz2ToGz(…) | await ty.archive.bz2ToGz(\{ file: fileBlob \}) | `{ file: File |
bz2-to-rar | bz2 to rar | POST /api/v1/archive/bz2-to-rar | ty.archive.bz2ToRar(…) | await ty.archive.bz2ToRar(\{ file: fileBlob \}) | `{ file: File |
bz2-to-tar | bz2 to tar | POST /api/v1/archive/bz2-to-tar | ty.archive.bz2ToTar(…) | await ty.archive.bz2ToTar(\{ file: fileBlob \}) | `{ file: File |
bz2-to-zip | bz2 to zip | POST /api/v1/archive/bz2-to-zip | ty.archive.bz2ToZip(…) | await ty.archive.bz2ToZip(\{ file: fileBlob \}) | `{ file: File |
gz-to-7z | gz to 7z | POST /api/v1/archive/gz-to-7z | ty.archive.gzTo7z(…) | await ty.archive.gzTo7z(\{ file: fileBlob \}) | `{ file: File |
gz-to-bz2 | gz to bz2 | POST /api/v1/archive/gz-to-bz2 | ty.archive.gzToBz2(…) | await ty.archive.gzToBz2(\{ file: fileBlob \}) | `{ file: File |
gz-to-rar | gz to rar | POST /api/v1/archive/gz-to-rar | ty.archive.gzToRar(…) | await ty.archive.gzToRar(\{ file: fileBlob \}) | `{ file: File |
gz-to-tar | gz to tar | POST /api/v1/archive/gz-to-tar | ty.archive.gzToTar(…) | await ty.archive.gzToTar(\{ file: fileBlob \}) | `{ file: File |
gz-to-zip | gz to zip | POST /api/v1/archive/gz-to-zip | ty.archive.gzToZip(…) | await ty.archive.gzToZip(\{ file: fileBlob \}) | `{ file: File |
rar-to-7z | rar to 7z | POST /api/v1/archive/rar-to-7z | ty.archive.rarTo7z(…) | await ty.archive.rarTo7z(\{ file: fileBlob \}) | `{ file: File |
rar-to-bz2 | rar to bz2 | POST /api/v1/archive/rar-to-bz2 | ty.archive.rarToBz2(…) | await ty.archive.rarToBz2(\{ file: fileBlob \}) | `{ file: File |
rar-to-gz | rar to gz | POST /api/v1/archive/rar-to-gz | ty.archive.rarToGz(…) | await ty.archive.rarToGz(\{ file: fileBlob \}) | `{ file: File |
rar-to-tar | rar to tar | POST /api/v1/archive/rar-to-tar | ty.archive.rarToTar(…) | await ty.archive.rarToTar(\{ file: fileBlob \}) | `{ file: File |
rar-to-zip | rar to zip | POST /api/v1/archive/rar-to-zip | ty.archive.rarToZip(…) | await ty.archive.rarToZip(\{ file: fileBlob \}) | `{ file: File |
supported-conversions | List supported conversions | GET /api/v1/archive/supported-conversions | ty.archive.archiveSupportedConversions(…) | await ty.archive.archiveSupportedConversions(\{ url: "https://example.com" \}) | \{ url \} |
tar-to-7z | tar to 7z | POST /api/v1/archive/tar-to-7z | ty.archive.tarTo7z(…) | await ty.archive.tarTo7z(\{ file: fileBlob \}) | `{ file: File |
tar-to-bz2 | tar to bz2 | POST /api/v1/archive/tar-to-bz2 | ty.archive.tarToBz2(…) | await ty.archive.tarToBz2(\{ file: fileBlob \}) | `{ file: File |
tar-to-gz | tar to gz | POST /api/v1/archive/tar-to-gz | ty.archive.tarToGz(…) | await ty.archive.tarToGz(\{ file: fileBlob \}) | `{ file: File |
tar-to-rar | tar to rar | POST /api/v1/archive/tar-to-rar | ty.archive.tarToRar(…) | await ty.archive.tarToRar(\{ file: fileBlob \}) | `{ file: File |
tar-to-zip | tar to zip | POST /api/v1/archive/tar-to-zip | ty.archive.tarToZip(…) | await ty.archive.tarToZip(\{ file: fileBlob \}) | `{ file: File |
zip-to-7z | zip to 7z | POST /api/v1/archive/zip-to-7z | ty.archive.zipTo7z(…) | await ty.archive.zipTo7z(\{ file: fileBlob \}) | `{ file: File |
zip-to-bz2 | zip to bz2 | POST /api/v1/archive/zip-to-bz2 | ty.archive.zipToBz2(…) | await ty.archive.zipToBz2(\{ file: fileBlob \}) | `{ file: File |
zip-to-gz | zip to gz | POST /api/v1/archive/zip-to-gz | ty.archive.zipToGz(…) | await ty.archive.zipToGz(\{ file: fileBlob \}) | `{ file: File |
zip-to-rar | zip to rar | POST /api/v1/archive/zip-to-rar | ty.archive.zipToRar(…) | await ty.archive.zipToRar(\{ file: fileBlob \}) | `{ file: File |
zip-to-tar | zip to tar | POST /api/v1/archive/zip-to-tar | ty.archive.zipToTar(…) | await ty.archive.zipToTar(\{ file: fileBlob \}) | `{ file: File |
Calculators
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
break-even-calculator | break even calculator | POST /api/v1/calculators/break-even-calculator | ty.calculators.breakEvenCalculator(…) | await ty.calculators.breakEvenCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
compound-interest-calculator | compound interest calculator | POST /api/v1/calculators/compound-interest-calculator | ty.calculators.compoundInterestCalculator(…) | await ty.calculators.compoundInterestCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
cost-plus-pricing-calculator | cost plus pricing calculator | POST /api/v1/calculators/cost-plus-pricing-calculator | ty.calculators.costPlusPricingCalculator(…) | await ty.calculators.costPlusPricingCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
credit-note-calculator | credit note calculator | POST /api/v1/calculators/credit-note-calculator | ty.calculators.creditNoteCalculator(…) | await ty.calculators.creditNoteCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
currency-converter | currency converter | POST /api/v1/calculators/currency-converter | ty.calculators.currencyConverter(…) | await ty.calculators.currencyConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
debit-note-calculator | debit note calculator | POST /api/v1/calculators/debit-note-calculator | ty.calculators.debitNoteCalculator(…) | await ty.calculators.debitNoteCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
discount-calculator | discount calculator | POST /api/v1/calculators/discount-calculator | ty.calculators.discountCalculator(…) | await ty.calculators.discountCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
emi-calculator | emi calculator | POST /api/v1/calculators/emi-calculator | ty.calculators.emiCalculator(…) | await ty.calculators.emiCalculator(\{ principal: 500000, rate: 8.5, tenureMonths: 240 \}) | JSON body (see OpenAPI schema) |
freelancer-hourly-rate-calculator | freelancer hourly rate calculator | POST /api/v1/calculators/freelancer-hourly-rate-calculator | ty.calculators.freelancerHourlyRateCalculator(…) | await ty.calculators.freelancerHourlyRateCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
gst-calculator | gst calculator | POST /api/v1/calculators/gst-calculator | ty.calculators.gstCalculator(…) | await ty.calculators.gstCalculator(\{ amount: 1000, rate: 18, mode: "exclusive" \}) | JSON body (see OpenAPI schema) |
invoice-total-calculator | invoice total calculator | POST /api/v1/calculators/invoice-total-calculator | ty.calculators.invoiceTotalCalculator(…) | await ty.calculators.invoiceTotalCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
markup-calculator | markup calculator | POST /api/v1/calculators/markup-calculator | ty.calculators.markupCalculator(…) | await ty.calculators.markupCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
payment-due-date-calculator | payment due date calculator | POST /api/v1/calculators/payment-due-date-calculator | ty.calculators.paymentDueDateCalculator(…) | await ty.calculators.paymentDueDateCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
profit-margin-calculator | profit margin calculator | POST /api/v1/calculators/profit-margin-calculator | ty.calculators.profitMarginCalculator(…) | await ty.calculators.profitMarginCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
recurring-invoice-calculator | recurring invoice calculator | POST /api/v1/calculators/recurring-invoice-calculator | ty.calculators.recurringInvoiceCalculator(…) | await ty.calculators.recurringInvoiceCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
salary-to-hourly-converter | salary to hourly converter | POST /api/v1/calculators/salary-to-hourly-converter | ty.calculators.salaryToHourlyConverter(…) | await ty.calculators.salaryToHourlyConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
simple-interest-calculator | simple interest calculator | POST /api/v1/calculators/simple-interest-calculator | ty.calculators.simpleInterestCalculator(…) | await ty.calculators.simpleInterestCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
tax-compliant-invoice-calculator | tax compliant invoice calculator | POST /api/v1/calculators/tax-compliant-invoice-calculator | ty.calculators.taxCompliantInvoiceCalculator(…) | await ty.calculators.taxCompliantInvoiceCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
timesheet-invoice-calculator | timesheet invoice calculator | POST /api/v1/calculators/timesheet-invoice-calculator | ty.calculators.timesheetInvoiceCalculator(…) | await ty.calculators.timesheetInvoiceCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
vat-calculator | vat calculator | POST /api/v1/calculators/vat-calculator | ty.calculators.vatCalculator(…) | await ty.calculators.vatCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
Convertors
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
compress-image | Compress image | POST /api/v1/convertors/compress-image | ty.convertors.compressImage(…) | await ty.convertors.compressImage(\{ image: fileBlob \}) | `{ image: File |
compress-svg | Compress SVG | POST /api/v1/convertors/compress-svg | ty.convertors.compressSvg(…) | await ty.convertors.compressSvg(\{ image: fileBlob \}) | `{ image: File |
csv-2-json | Convert CSV to JSON | POST /api/v1/convertors/csv-2-json | ty.convertors.csvToJson(…) | await ty.convertors.csvToJson(\{ csvFile: fileBlob \}) | `{ csvFile: File |
image-metadata | Read image metadata | POST /api/v1/convertors/image-metadata | ty.convertors.imageMetadata(…) | await ty.convertors.imageMetadata(\{ image: fileBlob \}) | `{ image: File |
image-to-pdf | Convert image to PDF | POST /api/v1/convertors/image-to-pdf | ty.convertors.imageToPdf(…) | await ty.convertors.imageToPdf(\{ image: fileBlob \}) | `{ image: File |
json-2-csv | Convert JSON to CSV | POST /api/v1/convertors/json-2-csv | ty.convertors.jsonToCsv(…) | await ty.convertors.jsonToCsv(\{ jsonFile: fileBlob \}) | `{ jsonFile: File |
to-avif | Convert image to AVIF | POST /api/v1/convertors/to-avif | ty.convertors.convertToAvif(…) | await ty.convertors.convertToAvif(\{ image: fileBlob \}) | `{ image: File |
to-base64 | Image to Base64 | POST /api/v1/convertors/to-base64 | ty.convertors.imageToBase64(…) | await ty.convertors.imageToBase64(\{ image: fileBlob \}) | `{ image: File |
to-gif | Convert image to GIF | POST /api/v1/convertors/to-gif | ty.convertors.convertToGif(…) | await ty.convertors.convertToGif(\{ image: fileBlob \}) | `{ image: File |
to-grayscale | Convert image to grayscale | POST /api/v1/convertors/to-grayscale | ty.convertors.convertToGrayscale(…) | await ty.convertors.convertToGrayscale(\{ image: fileBlob \}) | `{ image: File |
to-heic | Convert image to HEIC | POST /api/v1/convertors/to-heic | ty.convertors.convertToHeic(…) | await ty.convertors.convertToHeic(\{ image: fileBlob \}) | `{ image: File |
to-heif | Convert image to HEIF | POST /api/v1/convertors/to-heif | ty.convertors.convertToHeif(…) | await ty.convertors.convertToHeif(\{ image: fileBlob \}) | `{ image: File |
to-jpg | Convert image to JPG | POST /api/v1/convertors/to-jpg | ty.convertors.convertToJpg(…) | await ty.convertors.convertToJpg(\{ image: fileBlob \}) | `{ image: File |
to-png | Convert image to PNG | POST /api/v1/convertors/to-png | ty.convertors.convertToPng(…) | await ty.convertors.convertToPng(\{ image: fileBlob \}) | `{ image: File |
to-svg | Convert image to SVG | POST /api/v1/convertors/to-svg | ty.convertors.convertToSvg(…) | await ty.convertors.convertToSvg(\{ image: fileBlob \}) | `{ image: File |
to-tiff | Convert image to TIFF | POST /api/v1/convertors/to-tiff | ty.convertors.convertToTiff(…) | await ty.convertors.convertToTiff(\{ image: fileBlob \}) | `{ image: File |
to-webp | Convert image to WebP | POST /api/v1/convertors/to-webp | ty.convertors.convertToWebp(…) | await ty.convertors.convertToWebp(\{ image: fileBlob \}) | `{ image: File |
Documents
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
docx-to-html | docx to html | POST /api/v1/documents/docx-to-html | ty.documents.docxToHtml(…) | await ty.documents.docxToHtml(\{ file: fileBlob \}) | `{ file: File |
docx-to-pdf | docx to pdf | POST /api/v1/documents/docx-to-pdf | ty.documents.docxToPdf(…) | await ty.documents.docxToPdf(\{ file: fileBlob \}) | `{ file: File |
docx-to-rtf | docx to rtf | POST /api/v1/documents/docx-to-rtf | ty.documents.docxToRtf(…) | await ty.documents.docxToRtf(\{ file: fileBlob \}) | `{ file: File |
docx-to-txt | docx to txt | POST /api/v1/documents/docx-to-txt | ty.documents.docxToTxt(…) | await ty.documents.docxToTxt(\{ file: fileBlob \}) | `{ file: File |
html-to-docx | html to docx | POST /api/v1/documents/html-to-docx | ty.documents.htmlToDocx(…) | await ty.documents.htmlToDocx(\{ file: fileBlob \}) | `{ file: File |
html-to-md | html to md | POST /api/v1/documents/html-to-md | ty.documents.htmlToMd(…) | await ty.documents.htmlToMd(\{ file: fileBlob \}) | `{ file: File |
html-to-pdf | html to pdf | POST /api/v1/documents/html-to-pdf | ty.documents.htmlToPdf(…) | await ty.documents.htmlToPdf(\{ file: fileBlob \}) | `{ file: File |
html-to-txt | html to txt | POST /api/v1/documents/html-to-txt | ty.documents.htmlToTxt(…) | await ty.documents.htmlToTxt(\{ file: fileBlob \}) | `{ file: File |
md-to-docx | md to docx | POST /api/v1/documents/md-to-docx | ty.documents.mdToDocx(…) | await ty.documents.mdToDocx(\{ file: fileBlob \}) | `{ file: File |
md-to-html | md to html | POST /api/v1/documents/md-to-html | ty.documents.mdToHtml(…) | await ty.documents.mdToHtml(\{ file: fileBlob \}) | `{ file: File |
md-to-pdf | md to pdf | POST /api/v1/documents/md-to-pdf | ty.documents.mdToPdf(…) | await ty.documents.mdToPdf(\{ file: fileBlob \}) | `{ file: File |
md-to-txt | md to txt | POST /api/v1/documents/md-to-txt | ty.documents.mdToTxt(…) | await ty.documents.mdToTxt(\{ file: fileBlob \}) | `{ file: File |
pdf-to-docx | pdf to docx | POST /api/v1/documents/pdf-to-docx | ty.documents.pdfToDocx(…) | await ty.documents.pdfToDocx(\{ file: fileBlob \}) | `{ file: File |
pdf-to-html | pdf to html | POST /api/v1/documents/pdf-to-html | ty.documents.pdfToHtml(…) | await ty.documents.pdfToHtml(\{ file: fileBlob \}) | `{ file: File |
pdf-to-rtf | pdf to rtf | POST /api/v1/documents/pdf-to-rtf | ty.documents.pdfToRtf(…) | await ty.documents.pdfToRtf(\{ file: fileBlob \}) | `{ file: File |
pdf-to-txt | pdf to txt | POST /api/v1/documents/pdf-to-txt | ty.documents.pdfToTxt(…) | await ty.documents.pdfToTxt(\{ file: fileBlob \}) | `{ file: File |
rtf-to-docx | rtf to docx | POST /api/v1/documents/rtf-to-docx | ty.documents.rtfToDocx(…) | await ty.documents.rtfToDocx(\{ file: fileBlob \}) | `{ file: File |
rtf-to-html | rtf to html | POST /api/v1/documents/rtf-to-html | ty.documents.rtfToHtml(…) | await ty.documents.rtfToHtml(\{ file: fileBlob \}) | `{ file: File |
rtf-to-pdf | rtf to pdf | POST /api/v1/documents/rtf-to-pdf | ty.documents.rtfToPdf(…) | await ty.documents.rtfToPdf(\{ file: fileBlob \}) | `{ file: File |
rtf-to-txt | rtf to txt | POST /api/v1/documents/rtf-to-txt | ty.documents.rtfToTxt(…) | await ty.documents.rtfToTxt(\{ file: fileBlob \}) | `{ file: File |
supported-conversions | List supported conversions | GET /api/v1/documents/supported-conversions | ty.documents.documentsSupportedConversions(…) | await ty.documents.documentsSupportedConversions(\{ url: "https://example.com" \}) | \{ url \} |
txt-to-docx | txt to docx | POST /api/v1/documents/txt-to-docx | ty.documents.txtToDocx(…) | await ty.documents.txtToDocx(\{ file: fileBlob \}) | `{ file: File |
txt-to-html | txt to html | POST /api/v1/documents/txt-to-html | ty.documents.txtToHtml(…) | await ty.documents.txtToHtml(\{ file: fileBlob \}) | `{ file: File |
txt-to-md | txt to md | POST /api/v1/documents/txt-to-md | ty.documents.txtToMd(…) | await ty.documents.txtToMd(\{ file: fileBlob \}) | `{ file: File |
txt-to-pdf | txt to pdf | POST /api/v1/documents/txt-to-pdf | ty.documents.txtToPdf(…) | await ty.documents.txtToPdf(\{ file: fileBlob \}) | `{ file: File |
txt-to-rtf | txt to rtf | POST /api/v1/documents/txt-to-rtf | ty.documents.txtToRtf(…) | await ty.documents.txtToRtf(\{ file: fileBlob \}) | `{ file: File |
eBook
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
azw-to-epub | azw to epub | POST /api/v1/ebook/azw-to-epub | ty.ebook.azwToEpub(…) | await ty.ebook.azwToEpub(\{ file: fileBlob \}) | `{ file: File |
azw-to-html | azw to html | POST /api/v1/ebook/azw-to-html | ty.ebook.azwToHtml(…) | await ty.ebook.azwToHtml(\{ file: fileBlob \}) | `{ file: File |
azw-to-mobi | azw to mobi | POST /api/v1/ebook/azw-to-mobi | ty.ebook.azwToMobi(…) | await ty.ebook.azwToMobi(\{ file: fileBlob \}) | `{ file: File |
azw-to-pdf | azw to pdf | POST /api/v1/ebook/azw-to-pdf | ty.ebook.azwToPdf(…) | await ty.ebook.azwToPdf(\{ file: fileBlob \}) | `{ file: File |
azw-to-txt | azw to txt | POST /api/v1/ebook/azw-to-txt | ty.ebook.azwToTxt(…) | await ty.ebook.azwToTxt(\{ file: fileBlob \}) | `{ file: File |
epub-to-azw | epub to azw | POST /api/v1/ebook/epub-to-azw | ty.ebook.epubToAzw(…) | await ty.ebook.epubToAzw(\{ file: fileBlob \}) | `{ file: File |
epub-to-docx | epub to docx | POST /api/v1/ebook/epub-to-docx | ty.ebook.epubToDocx(…) | await ty.ebook.epubToDocx(\{ file: fileBlob \}) | `{ file: File |
epub-to-fb2 | epub to fb2 | POST /api/v1/ebook/epub-to-fb2 | ty.ebook.epubToFb2(…) | await ty.ebook.epubToFb2(\{ file: fileBlob \}) | `{ file: File |
epub-to-html | epub to html | POST /api/v1/ebook/epub-to-html | ty.ebook.epubToHtml(…) | await ty.ebook.epubToHtml(\{ file: fileBlob \}) | `{ file: File |
epub-to-mobi | epub to mobi | POST /api/v1/ebook/epub-to-mobi | ty.ebook.epubToMobi(…) | await ty.ebook.epubToMobi(\{ file: fileBlob \}) | `{ file: File |
epub-to-pdf | epub to pdf | POST /api/v1/ebook/epub-to-pdf | ty.ebook.epubToPdf(…) | await ty.ebook.epubToPdf(\{ file: fileBlob \}) | `{ file: File |
epub-to-txt | epub to txt | POST /api/v1/ebook/epub-to-txt | ty.ebook.epubToTxt(…) | await ty.ebook.epubToTxt(\{ file: fileBlob \}) | `{ file: File |
fb2-to-epub | fb2 to epub | POST /api/v1/ebook/fb2-to-epub | ty.ebook.fb2ToEpub(…) | await ty.ebook.fb2ToEpub(\{ file: fileBlob \}) | `{ file: File |
fb2-to-html | fb2 to html | POST /api/v1/ebook/fb2-to-html | ty.ebook.fb2ToHtml(…) | await ty.ebook.fb2ToHtml(\{ file: fileBlob \}) | `{ file: File |
fb2-to-pdf | fb2 to pdf | POST /api/v1/ebook/fb2-to-pdf | ty.ebook.fb2ToPdf(…) | await ty.ebook.fb2ToPdf(\{ file: fileBlob \}) | `{ file: File |
fb2-to-txt | fb2 to txt | POST /api/v1/ebook/fb2-to-txt | ty.ebook.fb2ToTxt(…) | await ty.ebook.fb2ToTxt(\{ file: fileBlob \}) | `{ file: File |
mobi-to-epub | mobi to epub | POST /api/v1/ebook/mobi-to-epub | ty.ebook.mobiToEpub(…) | await ty.ebook.mobiToEpub(\{ file: fileBlob \}) | `{ file: File |
mobi-to-html | mobi to html | POST /api/v1/ebook/mobi-to-html | ty.ebook.mobiToHtml(…) | await ty.ebook.mobiToHtml(\{ file: fileBlob \}) | `{ file: File |
mobi-to-pdf | mobi to pdf | POST /api/v1/ebook/mobi-to-pdf | ty.ebook.mobiToPdf(…) | await ty.ebook.mobiToPdf(\{ file: fileBlob \}) | `{ file: File |
mobi-to-txt | mobi to txt | POST /api/v1/ebook/mobi-to-txt | ty.ebook.mobiToTxt(…) | await ty.ebook.mobiToTxt(\{ file: fileBlob \}) | `{ file: File |
supported-conversions | List supported conversions | GET /api/v1/ebook/supported-conversions | ty.ebook.ebookSupportedConversions(…) | await ty.ebook.ebookSupportedConversions(\{ url: "https://example.com" \}) | \{ url \} |
File Extract
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
extract | Extract text from file content (base64 JSON body) | POST /api/v1/extract | ty.extract.extractText(…) | await ty.extract.extractText(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
Office
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
odp-to-html | odp to html | POST /api/v1/office/odp-to-html | ty.office.odpToHtml(…) | await ty.office.odpToHtml(\{ file: fileBlob \}) | `{ file: File |
odp-to-pdf | odp to pdf | POST /api/v1/office/odp-to-pdf | ty.office.odpToPdf(…) | await ty.office.odpToPdf(\{ file: fileBlob \}) | `{ file: File |
odp-to-pptx | odp to pptx | POST /api/v1/office/odp-to-pptx | ty.office.odpToPptx(…) | await ty.office.odpToPptx(\{ file: fileBlob \}) | `{ file: File |
odp-to-txt | odp to txt | POST /api/v1/office/odp-to-txt | ty.office.odpToTxt(…) | await ty.office.odpToTxt(\{ file: fileBlob \}) | `{ file: File |
ods-to-csv | ods to csv | POST /api/v1/office/ods-to-csv | ty.office.odsToCsv(…) | await ty.office.odsToCsv(\{ file: fileBlob \}) | `{ file: File |
ods-to-json | ods to json | POST /api/v1/office/ods-to-json | ty.office.odsToJson(…) | await ty.office.odsToJson(\{ file: fileBlob \}) | `{ file: File |
ods-to-pdf | ods to pdf | POST /api/v1/office/ods-to-pdf | ty.office.odsToPdf(…) | await ty.office.odsToPdf(\{ file: fileBlob \}) | `{ file: File |
ods-to-txt | ods to txt | POST /api/v1/office/ods-to-txt | ty.office.odsToTxt(…) | await ty.office.odsToTxt(\{ file: fileBlob \}) | `{ file: File |
ods-to-xlsx | ods to xlsx | POST /api/v1/office/ods-to-xlsx | ty.office.odsToXlsx(…) | await ty.office.odsToXlsx(\{ file: fileBlob \}) | `{ file: File |
odt-to-docx | odt to docx | POST /api/v1/office/odt-to-docx | ty.office.odtToDocx(…) | await ty.office.odtToDocx(\{ file: fileBlob \}) | `{ file: File |
odt-to-html | odt to html | POST /api/v1/office/odt-to-html | ty.office.odtToHtml(…) | await ty.office.odtToHtml(\{ file: fileBlob \}) | `{ file: File |
odt-to-pdf | odt to pdf | POST /api/v1/office/odt-to-pdf | ty.office.odtToPdf(…) | await ty.office.odtToPdf(\{ file: fileBlob \}) | `{ file: File |
odt-to-txt | odt to txt | POST /api/v1/office/odt-to-txt | ty.office.odtToTxt(…) | await ty.office.odtToTxt(\{ file: fileBlob \}) | `{ file: File |
ppt-to-html | ppt to html | POST /api/v1/office/ppt-to-html | ty.office.pptToHtml(…) | await ty.office.pptToHtml(\{ file: fileBlob \}) | `{ file: File |
ppt-to-pdf | ppt to pdf | POST /api/v1/office/ppt-to-pdf | ty.office.pptToPdf(…) | await ty.office.pptToPdf(\{ file: fileBlob \}) | `{ file: File |
ppt-to-pptx | ppt to pptx | POST /api/v1/office/ppt-to-pptx | ty.office.pptToPptx(…) | await ty.office.pptToPptx(\{ file: fileBlob \}) | `{ file: File |
ppt-to-txt | ppt to txt | POST /api/v1/office/ppt-to-txt | ty.office.pptToTxt(…) | await ty.office.pptToTxt(\{ file: fileBlob \}) | `{ file: File |
pptx-to-html | pptx to html | POST /api/v1/office/pptx-to-html | ty.office.pptxToHtml(…) | await ty.office.pptxToHtml(\{ file: fileBlob \}) | `{ file: File |
pptx-to-images | pptx to images | POST /api/v1/office/pptx-to-images | ty.office.pptxToImages(…) | await ty.office.pptxToImages(\{ file: fileBlob \}) | `{ file: File |
pptx-to-pdf | pptx to pdf | POST /api/v1/office/pptx-to-pdf | ty.office.pptxToPdf(…) | await ty.office.pptxToPdf(\{ file: fileBlob \}) | `{ file: File |
pptx-to-ppt | pptx to ppt | POST /api/v1/office/pptx-to-ppt | ty.office.pptxToPpt(…) | await ty.office.pptxToPpt(\{ file: fileBlob \}) | `{ file: File |
pptx-to-txt | pptx to txt | POST /api/v1/office/pptx-to-txt | ty.office.pptxToTxt(…) | await ty.office.pptxToTxt(\{ file: fileBlob \}) | `{ file: File |
supported-conversions | List supported conversions | GET /api/v1/office/supported-conversions | ty.office.officeSupportedConversions(…) | await ty.office.officeSupportedConversions(\{ url: "https://example.com" \}) | \{ url \} |
xls-to-csv | xls to csv | POST /api/v1/office/xls-to-csv | ty.office.xlsToCsv(…) | await ty.office.xlsToCsv(\{ file: fileBlob \}) | `{ file: File |
xls-to-json | xls to json | POST /api/v1/office/xls-to-json | ty.office.xlsToJson(…) | await ty.office.xlsToJson(\{ file: fileBlob \}) | `{ file: File |
xls-to-pdf | xls to pdf | POST /api/v1/office/xls-to-pdf | ty.office.xlsToPdf(…) | await ty.office.xlsToPdf(\{ file: fileBlob \}) | `{ file: File |
xls-to-txt | xls to txt | POST /api/v1/office/xls-to-txt | ty.office.xlsToTxt(…) | await ty.office.xlsToTxt(\{ file: fileBlob \}) | `{ file: File |
xls-to-xlsx | xls to xlsx | POST /api/v1/office/xls-to-xlsx | ty.office.xlsToXlsx(…) | await ty.office.xlsToXlsx(\{ file: fileBlob \}) | `{ file: File |
xlsx-to-csv | xlsx to csv | POST /api/v1/office/xlsx-to-csv | ty.office.xlsxToCsv(…) | await ty.office.xlsxToCsv(\{ file: fileBlob \}) | `{ file: File |
xlsx-to-json | xlsx to json | POST /api/v1/office/xlsx-to-json | ty.office.xlsxToJson(…) | await ty.office.xlsxToJson(\{ file: fileBlob \}) | `{ file: File |
xlsx-to-pdf | xlsx to pdf | POST /api/v1/office/xlsx-to-pdf | ty.office.xlsxToPdf(…) | await ty.office.xlsxToPdf(\{ file: fileBlob \}) | `{ file: File |
xlsx-to-txt | xlsx to txt | POST /api/v1/office/xlsx-to-txt | ty.office.xlsxToTxt(…) | await ty.office.xlsxToTxt(\{ file: fileBlob \}) | `{ file: File |
xlsx-to-xls | xlsx to xls | POST /api/v1/office/xlsx-to-xls | ty.office.xlsxToXls(…) | await ty.office.xlsxToXls(\{ file: fileBlob \}) | `{ file: File |
Security APIs
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
bcrypt-hash-generator | Generate bcrypt or Argon2id password hash | POST /api/v1/security-apis/bcrypt-hash-generator | ty.security.bcryptHashGenerator(…) | await ty.security.bcryptHashGenerator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
catalog | List security tool slugs | GET /api/v1/security-apis/catalog | ty.security.securityToolsCatalog(…) | await ty.security.securityToolsCatalog(\{ url: "https://example.com" \}) | \{ url \} |
cookie-security-analyzer | Analyze Set-Cookie flags | GET /api/v1/security-apis/cookie-security-analyzer | ty.security.cookieSecurityAnalyzer(…) | await ty.security.cookieSecurityAnalyzer(\{ url: "https://example.com" \}) | \{ url \} |
cookie-security-analyzer | Analyze cookies (POST body.url) | POST /api/v1/security-apis/cookie-security-analyzer | ty.security.cookieSecurityAnalyzerPost(…) | await ty.security.cookieSecurityAnalyzerPost(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
cors-policy-checker | Inspect CORS response headers | GET /api/v1/security-apis/cors-policy-checker | ty.security.corsPolicyChecker(…) | await ty.security.corsPolicyChecker(\{ url: "https://example.com" \}) | \{ url \} |
cors-policy-checker | CORS check (POST body.url) | POST /api/v1/security-apis/cors-policy-checker | ty.security.corsPolicyCheckerPost(…) | await ty.security.corsPolicyCheckerPost(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
csp-policy-evaluator | Evaluate a CSP policy string | POST /api/v1/security-apis/csp-policy-evaluator | ty.security.cspPolicyEvaluator(…) | await ty.security.cspPolicyEvaluator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
dns-lookup | DNS A/AAAA/MX/TXT/NS/CNAME lookup | GET /api/v1/security-apis/dns-lookup | ty.security.dnsLookup(…) | await ty.security.dnsLookup(\{ url: "https://example.com" \}) | \{ url \} |
dns-lookup | DNS lookup (POST body.url) | POST /api/v1/security-apis/dns-lookup | ty.security.dnsLookupPost(…) | await ty.security.dnsLookupPost(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
hash-generator | Hash text with common digests | POST /api/v1/security-apis/hash-generator | ty.security.hashGenerator(…) | await ty.security.hashGenerator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
hmac-generator | Compute HMAC digest | POST /api/v1/security-apis/hmac-generator | ty.security.hmacGenerator(…) | await ty.security.hmacGenerator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
http-security-redirect-checker | HTTP→HTTPS and redirect hop hygiene | GET /api/v1/security-apis/http-security-redirect-checker | ty.security.httpSecurityRedirectChecker(…) | await ty.security.httpSecurityRedirectChecker(\{ url: "https://example.com" \}) | \{ url \} |
http-security-redirect-checker | Redirect security check (POST body.url) | POST /api/v1/security-apis/http-security-redirect-checker | ty.security.httpSecurityRedirectCheckerPost(…) | await ty.security.httpSecurityRedirectCheckerPost(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
jwt-decoder | Decode JWT (no signature verify) | POST /api/v1/security-apis/jwt-decoder | ty.security.jwtDecoder(…) | await ty.security.jwtDecoder(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
jwt-signature-verifier | Verify JWT signature with secret or public key | POST /api/v1/security-apis/jwt-signature-verifier | ty.security.jwtSignatureVerifier(…) | await ty.security.jwtSignatureVerifier(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
password-strength-checker | Estimate password strength | POST /api/v1/security-apis/password-strength-checker | ty.security.passwordStrengthChecker(…) | await ty.security.passwordStrengthChecker(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
secret-leak-scanner | Scan text for leaked secrets (heuristics) | POST /api/v1/security-apis/secret-leak-scanner | ty.security.secretLeakScanner(…) | await ty.security.secretLeakScanner(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
secure-password-generator | Generate a random password | POST /api/v1/security-apis/secure-password-generator | ty.security.securePasswordGenerator(…) | await ty.security.securePasswordGenerator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
security-headers-analyzer | Analyze HTTP security headers | GET /api/v1/security-apis/security-headers-analyzer | ty.security.securityHeadersAnalyzer(…) | await ty.security.securityHeadersAnalyzer(\{ url: "https://example.com" \}) | \{ url \} |
security-headers-analyzer | Analyze HTTP security headers (POST body.url) | POST /api/v1/security-apis/security-headers-analyzer | ty.security.securityHeadersAnalyzerPost(…) | await ty.security.securityHeadersAnalyzerPost(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
security-txt-checker | Fetch security.txt (RFC 9116) | GET /api/v1/security-apis/security-txt-checker | ty.security.securityTxtChecker(…) | await ty.security.securityTxtChecker(\{ url: "https://example.com" \}) | \{ url \} |
security-txt-checker | security.txt check (POST body.url) | POST /api/v1/security-apis/security-txt-checker | ty.security.securityTxtCheckerPost(…) | await ty.security.securityTxtCheckerPost(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
spf-dkim-dmarc-checker | Check SPF, DKIM, DMARC DNS | GET /api/v1/security-apis/spf-dkim-dmarc-checker | ty.security.spfDkimDmarcChecker(…) | await ty.security.spfDkimDmarcChecker(\{ url: "https://example.com" \}) | \{ url \} |
spf-dkim-dmarc-checker | Email auth DNS (POST body.url) | POST /api/v1/security-apis/spf-dkim-dmarc-checker | ty.security.spfDkimDmarcCheckerPost(…) | await ty.security.spfDkimDmarcCheckerPost(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
ssl-tls-certificate-checker | Inspect TLS certificate | GET /api/v1/security-apis/ssl-tls-certificate-checker | ty.security.sslTlsCertificateChecker(…) | await ty.security.sslTlsCertificateChecker(\{ url: "https://example.com" \}) | \{ url \} |
ssl-tls-certificate-checker | Inspect TLS certificate (POST body.url) | POST /api/v1/security-apis/ssl-tls-certificate-checker | ty.security.sslTlsCertificateCheckerPost(…) | await ty.security.sslTlsCertificateCheckerPost(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
subresource-integrity-checker | Report SRI on script/link tags | GET /api/v1/security-apis/subresource-integrity-checker | ty.security.subresourceIntegrityChecker(…) | await ty.security.subresourceIntegrityChecker(\{ url: "https://example.com" \}) | \{ url \} |
subresource-integrity-checker | SRI check (POST body.url) | POST /api/v1/security-apis/subresource-integrity-checker | ty.security.subresourceIntegrityCheckerPost(…) | await ty.security.subresourceIntegrityCheckerPost(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
webhook-signature-verifier | Verify webhook HMAC signatures | POST /api/v1/security-apis/webhook-signature-verifier | ty.security.webhookSignatureVerifier(…) | await ty.security.webhookSignatureVerifier(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
SEO APIs
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
ai-overview-readiness-checker | AI Overview readiness checker (structural heuristics) | GET /api/v1/seo-apis/ai-overview-readiness-checker | ty.seo.aiOverviewReadinessChecker(…) | await ty.seo.aiOverviewReadinessChecker(\{ url: "https://example.com" \}) | \{ url \} |
broken-link-checker | Broken link checker | GET /api/v1/seo-apis/broken-link-checker | ty.seo.brokenLinkChecker(…) | await ty.seo.brokenLinkChecker(\{ url: "https://example.com" \}) | \{ url \} |
bulk-url-seo-auditor | Bulk URL SEO auditor (lite scorecard, plan-capped) | POST /api/v1/seo-apis/bulk-url-seo-auditor | ty.seo.bulkUrlSeoAuditor(…) | await ty.seo.bulkUrlSeoAuditor(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
canonical-url-checker | Canonical URL checker | GET /api/v1/seo-apis/canonical-url-checker | ty.seo.canonicalUrlChecker(…) | await ty.seo.canonicalUrlChecker(\{ url: "https://example.com" \}) | \{ url \} |
competitor-page-compare | Competitor page compare | POST /api/v1/seo-apis/competitor-page-compare | ty.seo.competitorPageCompare(…) | await ty.seo.competitorPageCompare(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
content-optimization | Content optimization | GET /api/v1/seo-apis/content-optimization | ty.seo.contentOptimization(…) | await ty.seo.contentOptimization(\{ url: "https://example.com" \}) | \{ url \} |
duplicate-content-checker | Duplicate content checker (URLs or texts) | POST /api/v1/seo-apis/duplicate-content-checker | ty.seo.duplicateContentChecker(…) | await ty.seo.duplicateContentChecker(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
heading-structure-analyzer | Heading structure analyzer | GET /api/v1/seo-apis/heading-structure-analyzer | ty.seo.headingStructureAnalyzer(…) | await ty.seo.headingStructureAnalyzer(\{ url: "https://example.com" \}) | \{ url \} |
hreflang-checker | Hreflang checker | GET /api/v1/seo-apis/hreflang-checker | ty.seo.hreflangChecker(…) | await ty.seo.hreflangChecker(\{ url: "https://example.com" \}) | \{ url \} |
http-status-checker | HTTP status checker | GET /api/v1/seo-apis/http-status-checker | ty.seo.httpStatusChecker(…) | await ty.seo.httpStatusChecker(\{ url: "https://example.com" \}) | \{ url \} |
image-alt-text-checker | Image alt text checker | GET /api/v1/seo-apis/image-alt-text-checker | ty.seo.imageAltTextChecker(…) | await ty.seo.imageAltTextChecker(\{ url: "https://example.com" \}) | \{ url \} |
internal-linking | Internal linking analysis | GET /api/v1/seo-apis/internal-linking | ty.seo.internalLinking(…) | await ty.seo.internalLinking(\{ url, depth: 2 \}) | \{ url, depth \} |
link-extractor | Extract links from URL | GET /api/v1/seo-apis/link-extractor | ty.seo.linkExtractor(…) | await ty.seo.linkExtractor(\{ url: "https://example.com" \}) | \{ url \} |
llms-txt-builder | llms.txt builder (deterministic stub) | GET /api/v1/seo-apis/llms-txt-builder | ty.seo.llmsTxtBuilder(…) | await ty.seo.llmsTxtBuilder(\{ url: "https://example.com" \}) | \{ url \} |
llms-txt-validator | llms.txt validator | GET /api/v1/seo-apis/llms-txt-validator | ty.seo.llmsTxtValidator(…) | await ty.seo.llmsTxtValidator(\{ url: "https://example.com" \}) | \{ url \} |
meta-tags-analyzer | Meta tags analysis | GET /api/v1/seo-apis/meta-tags-analyzer | ty.seo.metaTagsAnalyzer(…) | await ty.seo.metaTagsAnalyzer(\{ url: "https://example.com" \}) | \{ url \} |
mixed-content-checker | Mixed content checker | GET /api/v1/seo-apis/mixed-content-checker | ty.seo.mixedContentChecker(…) | await ty.seo.mixedContentChecker(\{ url: "https://example.com" \}) | \{ url \} |
page-speed-analyzer | Page speed analysis | GET /api/v1/seo-apis/page-speed-analyzer | ty.seo.pageSpeedAnalyzer(…) | await ty.seo.pageSpeedAnalyzer(\{ url: "https://example.com" \}) | \{ url \} |
rank-checker/keywords | Rank checker keywords | GET /api/v1/seo-apis/rank-checker/keywords | ty.seo.rankCheckerKeywords(…) | await ty.seo.rankCheckerKeywords(\{ url, keyword: "…" \}) | \{ url, keyword \} |
redirect-chain-analyzer | Redirect chain analyzer | GET /api/v1/seo-apis/redirect-chain-analyzer | ty.seo.redirectChainAnalyzer(…) | await ty.seo.redirectChainAnalyzer(\{ url: "https://example.com" \}) | \{ url \} |
robots-txt-checker | Robots.txt checker | GET /api/v1/seo-apis/robots-txt-checker | ty.seo.robotsTxtChecker(…) | await ty.seo.robotsTxtChecker(\{ url: "https://example.com" \}) | \{ url \} |
schema-markup-validator | Schema markup validator | GET /api/v1/seo-apis/schema-markup-validator | ty.seo.schemaMarkupValidator(…) | await ty.seo.schemaMarkupValidator(\{ url: "https://example.com" \}) | \{ url \} |
seo-change-diff | SEO change diff between two URLs | POST /api/v1/seo-apis/seo-change-diff | ty.seo.seoChangeDiff(…) | await ty.seo.seoChangeDiff(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
serp-snippet-preview | SERP snippet preview | GET /api/v1/seo-apis/serp-snippet-preview | ty.seo.serpSnippetPreview(…) | await ty.seo.serpSnippetPreview(\{ url: "https://example.com" \}) | \{ url \} |
sitemap-xml-validator | Sitemap XML validator | GET /api/v1/seo-apis/sitemap-xml-validator | ty.seo.sitemapXmlValidator(…) | await ty.seo.sitemapXmlValidator(\{ url: "https://example.com" \}) | \{ url \} |
social-media-integration | Social media integration check | GET /api/v1/seo-apis/social-media-integration | ty.seo.socialMediaIntegration(…) | await ty.seo.socialMediaIntegration(\{ url: "https://example.com" \}) | \{ url \} |
SEO Tools
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
analyze | Analyze URL SEO | POST /api/v1/seo-tools/analyze | ty.seo.seoAnalyze(…) | await ty.seo.seoAnalyze(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
compare | Compare two URLs | POST /api/v1/seo-tools/compare | ty.seo.seoCompare(…) | await ty.seo.seoCompare(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
Text Intelligence
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
ats-gap | ATS keyword gap analysis | POST /api/v1/text-intelligence/ats-gap | ty.textIntelligence.atsGap(…) | await ty.textIntelligence.atsGap(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
ats-gap-file | ATS gap from resume file | POST /api/v1/text-intelligence/ats-gap-file | ty.textIntelligence.atsGapFile(…) | await ty.textIntelligence.atsGapFile(\{ file: fileBlob \}) | `{ file: File |
expense-categorizer | Categorize expenses from text | POST /api/v1/text-intelligence/expense-categorizer | ty.textIntelligence.expenseCategorizer(…) | await ty.textIntelligence.expenseCategorizer(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
expense-categorizer-file | Categorize expenses from file | POST /api/v1/text-intelligence/expense-categorizer-file | ty.textIntelligence.expenseCategorizerFile(…) | await ty.textIntelligence.expenseCategorizerFile(\{ file: fileBlob \}) | `{ file: File |
headline-restructurer | Restructure headlines | POST /api/v1/text-intelligence/headline-restructurer | ty.textIntelligence.headlineRestructurer(…) | await ty.textIntelligence.headlineRestructurer(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
jargon-buster | Simplify jargon in text | POST /api/v1/text-intelligence/jargon-buster | ty.textIntelligence.jargonBuster(…) | await ty.textIntelligence.jargonBuster(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
pii-scrub | Scrub PII from text | POST /api/v1/text-intelligence/pii-scrub | ty.textIntelligence.piiScrub(…) | await ty.textIntelligence.piiScrub(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
pii-scrub-file | Scrub PII from uploaded file | POST /api/v1/text-intelligence/pii-scrub-file | ty.textIntelligence.piiScrubFile(…) | await ty.textIntelligence.piiScrubFile(\{ file: fileBlob \}) | `{ file: File |
snippet-maker | Generate text snippets | POST /api/v1/text-intelligence/snippet-maker | ty.textIntelligence.snippetMaker(…) | await ty.textIntelligence.snippetMaker(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
Text Utilities
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
comma-separate | comma separate | POST /api/v1/text-utilities/comma-separate | ty.text.commaSeparate(…) | await ty.text.commaSeparate(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
compare-texts | compare texts | POST /api/v1/text-utilities/compare-texts | ty.text.compareTexts(…) | await ty.text.compareTexts(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
convert-to-hashtags | convert to hashtags | POST /api/v1/text-utilities/convert-to-hashtags | ty.text.convertToHashtags(…) | await ty.text.convertToHashtags(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
convert-to-slug | convert to slug | POST /api/v1/text-utilities/convert-to-slug | ty.text.convertToSlug(…) | await ty.text.convertToSlug(\{ text: "My Page Title" \}) | JSON body (see OpenAPI schema) |
convert-to-xml-tags | convert to xml tags | POST /api/v1/text-utilities/convert-to-xml-tags | ty.text.convertToXmlTags(…) | await ty.text.convertToXmlTags(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
dummy-text-generator | dummy text generator | POST /api/v1/text-utilities/dummy-text-generator | ty.text.dummyTextGenerator(…) | await ty.text.dummyTextGenerator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
number-to-words | number to words | POST /api/v1/text-utilities/number-to-words | ty.text.numberToWords(…) | await ty.text.numberToWords(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
random-word-generator | random word generator | POST /api/v1/text-utilities/random-word-generator | ty.text.randomWordGenerator(…) | await ty.text.randomWordGenerator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
remove-line-breaks | remove line breaks | POST /api/v1/text-utilities/remove-line-breaks | ty.text.removeLineBreaks(…) | await ty.text.removeLineBreaks(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
remove-spaces | remove spaces | POST /api/v1/text-utilities/remove-spaces | ty.text.removeSpaces(…) | await ty.text.removeSpaces(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
repeat-text | repeat text | POST /api/v1/text-utilities/repeat-text | ty.text.repeatText(…) | await ty.text.repeatText(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
reverse-text | reverse text | POST /api/v1/text-utilities/reverse-text | ty.text.reverseText(…) | await ty.text.reverseText(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
sort-lines | sort lines | POST /api/v1/text-utilities/sort-lines | ty.text.sortLines(…) | await ty.text.sortLines(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
sort-words | sort words | POST /api/v1/text-utilities/sort-words | ty.text.sortWords(…) | await ty.text.sortWords(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
text-case-converter | text case converter | POST /api/v1/text-utilities/text-case-converter | ty.text.textCaseConverter(…) | await ty.text.textCaseConverter(\{ text: "hello", case: "uppercase" \}) | JSON body (see OpenAPI schema) |
text-stats | text stats | POST /api/v1/text-utilities/text-stats | ty.text.textStats(…) | await ty.text.textStats(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
words-to-number | words to number | POST /api/v1/text-utilities/words-to-number | ty.text.wordsToNumber(…) | await ty.text.wordsToNumber(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
Unit Conversions
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
angle-converter | angle converter | POST /api/v1/unit-conversions/angle-converter | ty.units.angleConverter(…) | await ty.units.angleConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
apparent-power-converter | apparent power converter | POST /api/v1/unit-conversions/apparent-power-converter | ty.units.apparentPowerConverter(…) | await ty.units.apparentPowerConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
area-converter | area converter | POST /api/v1/unit-conversions/area-converter | ty.units.areaConverter(…) | await ty.units.areaConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
current-converter | current converter | POST /api/v1/unit-conversions/current-converter | ty.units.currentConverter(…) | await ty.units.currentConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
digital-converter | digital converter | POST /api/v1/unit-conversions/digital-converter | ty.units.digitalConverter(…) | await ty.units.digitalConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
each-converter | each converter | POST /api/v1/unit-conversions/each-converter | ty.units.eachConverter(…) | await ty.units.eachConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
energy-converter | energy converter | POST /api/v1/unit-conversions/energy-converter | ty.units.energyConverter(…) | await ty.units.energyConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
frequency-converter | frequency converter | POST /api/v1/unit-conversions/frequency-converter | ty.units.frequencyConverter(…) | await ty.units.frequencyConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
illuminance-converter | illuminance converter | POST /api/v1/unit-conversions/illuminance-converter | ty.units.illuminanceConverter(…) | await ty.units.illuminanceConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
length-converter | length converter | POST /api/v1/unit-conversions/length-converter | ty.units.lengthConverter(…) | await ty.units.lengthConverter(\{ value: 100, from: "cm", to: "in" \}) | JSON body (see OpenAPI schema) |
mass-converter | mass converter | POST /api/v1/unit-conversions/mass-converter | ty.units.massConverter(…) | await ty.units.massConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
pace-converter | pace converter | POST /api/v1/unit-conversions/pace-converter | ty.units.paceConverter(…) | await ty.units.paceConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
parts-per-converter | parts per converter | POST /api/v1/unit-conversions/parts-per-converter | ty.units.partsPerConverter(…) | await ty.units.partsPerConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
power-converter | power converter | POST /api/v1/unit-conversions/power-converter | ty.units.powerConverter(…) | await ty.units.powerConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
pressure-converter | pressure converter | POST /api/v1/unit-conversions/pressure-converter | ty.units.pressureConverter(…) | await ty.units.pressureConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
reactive-energy-converter | reactive energy converter | POST /api/v1/unit-conversions/reactive-energy-converter | ty.units.reactiveEnergyConverter(…) | await ty.units.reactiveEnergyConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
reactive-power-converter | reactive power converter | POST /api/v1/unit-conversions/reactive-power-converter | ty.units.reactivePowerConverter(…) | await ty.units.reactivePowerConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
speed-converter | speed converter | POST /api/v1/unit-conversions/speed-converter | ty.units.speedConverter(…) | await ty.units.speedConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
temperature-converter | temperature converter | POST /api/v1/unit-conversions/temperature-converter | ty.units.temperatureConverter(…) | await ty.units.temperatureConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
time-converter | time converter | POST /api/v1/unit-conversions/time-converter | ty.units.timeConverter(…) | await ty.units.timeConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
voltage-converter | voltage converter | POST /api/v1/unit-conversions/voltage-converter | ty.units.voltageConverter(…) | await ty.units.voltageConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
volume-converter | volume converter | POST /api/v1/unit-conversions/volume-converter | ty.units.volumeConverter(…) | await ty.units.volumeConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
volume-flow-rate-converter | volume flow rate converter | POST /api/v1/unit-conversions/volume-flow-rate-converter | ty.units.volumeFlowRateConverter(…) | await ty.units.volumeFlowRateConverter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
Web
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
csv-to-html | csv to html | POST /api/v1/web/csv-to-html | ty.web.csvToHtml(…) | await ty.web.csvToHtml(\{ file: fileBlob \}) | `{ file: File |
csv-to-json | csv to json | POST /api/v1/web/csv-to-json | ty.web.csvToJson(…) | await ty.web.csvToJson(\{ file: fileBlob \}) | `{ file: File |
csv-to-txt | csv to txt | POST /api/v1/web/csv-to-txt | ty.web.csvToTxt(…) | await ty.web.csvToTxt(\{ file: fileBlob \}) | `{ file: File |
csv-to-xml | csv to xml | POST /api/v1/web/csv-to-xml | ty.web.csvToXml(…) | await ty.web.csvToXml(\{ file: fileBlob \}) | `{ file: File |
html-to-json | html to json | POST /api/v1/web/html-to-json | ty.web.htmlToJson(…) | await ty.web.htmlToJson(\{ file: fileBlob \}) | `{ file: File |
html-to-md | html to md | POST /api/v1/web/html-to-md | ty.web.htmlToMd(…) | await ty.web.htmlToMd(\{ file: fileBlob \}) | `{ file: File |
html-to-xml | html to xml | POST /api/v1/web/html-to-xml | ty.web.htmlToXml(…) | await ty.web.htmlToXml(\{ file: fileBlob \}) | `{ file: File |
json-to-csv | json to csv | POST /api/v1/web/json-to-csv | ty.web.jsonToCsv(…) | await ty.web.jsonToCsv(\{ file: fileBlob \}) | `{ file: File |
json-to-html | json to html | POST /api/v1/web/json-to-html | ty.web.jsonToHtml(…) | await ty.web.jsonToHtml(\{ file: fileBlob \}) | `{ file: File |
json-to-txt | json to txt | POST /api/v1/web/json-to-txt | ty.web.jsonToTxt(…) | await ty.web.jsonToTxt(\{ file: fileBlob \}) | `{ file: File |
json-to-xml | json to xml | POST /api/v1/web/json-to-xml | ty.web.jsonToXml(…) | await ty.web.jsonToXml(\{ file: fileBlob \}) | `{ file: File |
supported-conversions | List supported conversions | GET /api/v1/web/supported-conversions | ty.web.webSupportedConversions(…) | await ty.web.webSupportedConversions(\{ url: "https://example.com" \}) | \{ url \} |
xml-to-csv | xml to csv | POST /api/v1/web/xml-to-csv | ty.web.xmlToCsv(…) | await ty.web.xmlToCsv(\{ file: fileBlob \}) | `{ file: File |
xml-to-html | xml to html | POST /api/v1/web/xml-to-html | ty.web.xmlToHtml(…) | await ty.web.xmlToHtml(\{ file: fileBlob \}) | `{ file: File |
xml-to-json | xml to json | POST /api/v1/web/xml-to-json | ty.web.xmlToJson(…) | await ty.web.xmlToJson(\{ file: fileBlob \}) | `{ file: File |
xml-to-txt | xml to txt | POST /api/v1/web/xml-to-txt | ty.web.xmlToTxt(…) | await ty.web.xmlToTxt(\{ file: fileBlob \}) | `{ file: File |
YouTube Tools
| Tool | Purpose | REST | SDK | Example call | Input |
|---|---|---|---|---|---|
youtube-caption-formatter | youtube caption formatter | POST /api/v1/youtube-tools/youtube-caption-formatter | ty.youtube.youtubeCaptionFormatter(…) | await ty.youtube.youtubeCaptionFormatter(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
youtube-description-optimizer | youtube description optimizer | POST /api/v1/youtube-tools/youtube-description-optimizer | ty.youtube.youtubeDescriptionOptimizer(…) | await ty.youtube.youtubeDescriptionOptimizer(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
youtube-engagement-calculator | youtube engagement calculator | POST /api/v1/youtube-tools/youtube-engagement-calculator | ty.youtube.youtubeEngagementCalculator(…) | await ty.youtube.youtubeEngagementCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
youtube-rpm-calculator | youtube rpm calculator | POST /api/v1/youtube-tools/youtube-rpm-calculator | ty.youtube.youtubeRpmCalculator(…) | await ty.youtube.youtubeRpmCalculator(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
youtube-title-optimizer | youtube title optimizer | POST /api/v1/youtube-tools/youtube-title-optimizer | ty.youtube.youtubeTitleOptimizer(…) | await ty.youtube.youtubeTitleOptimizer(\{ … \}) · OpenAPI | JSON body (see OpenAPI schema) |
youtube-url-parser | youtube url parser | POST /api/v1/youtube-tools/youtube-url-parser | ty.youtube.youtubeUrlParser(…) | await ty.youtube.youtubeUrlParser(\{ url: "https://youtube.com/watch?v=…" \}) | JSON body (see OpenAPI schema) |
Regenerate this page
Maintainers: from toolyour-docs/customer, run npm run generate:sdk-tool-map after docs/openapi/tool-routes.registry.mjs or MCP manifest changes.