Everything the KIT does, in one place
ForHosting KIT is a catalog of 498 ready-made tasks — convert a document, read an invoice, transcribe audio, validate an IBAN, generate a QR — across 14 categories. Run them here on the web, or call them from your code with one authenticated POST. This page is the complete API reference: endpoints, the async model, the webhook contract, errors and pricing.
What the KIT is
A task catalog, not a model
Every capability is a task: you send input, you get a result. There are no tokens, no context windows and no prompt engineering. A task has a published price, a documented unit and a fixed shape.
Four ways to run one. Web — every capability has its own page and runs in the browser; the free ones never leave your device. API — one authenticated POST, documented below. Email and Telegram — send the task to a KIT address. The API is one channel, not the product.
Quickstart
From nothing to a result in three calls
Create an account, get your key, run a task. No sales call, no waiting list.
Get an API key
POST /signup with your email returns a key that starts with kit_live_. It is shown once. We store only its SHA-256 hash, so if you lose it we cannot recover it — we issue a new one.
Pick a capability
GET /catalog lists all 498 with their live price and unit. Or browse the catalog at the bottom of this page.
Run it
POST to the capability's endpoint. You get a task_id back immediately and the result arrives at your webhook.
Authentication
Bearer token, shown once
Every API request carries Authorization: Bearer kit_live_…. Keys are 48 hex characters after the prefix.
We store only the SHA-256 hash of your key. That is deliberate: a database dump does not hand anyone your credentials — but it also means we genuinely cannot email you your key back. Lost it? We revoke and issue.
A bad key always returns 401 and never says why. Revoked, mistyped and never-existed are indistinguishable on purpose: telling you which one it was is telling an attacker too.
The async model
Every task is asynchronous. No exceptions.
You POST the task
Returns 202 with a task_id and status queued, plus what it will cost. The money is held, not charged.
It runs on the edge
Sub-second for compute tasks; seconds for AI and media.
The result finds you
It is POSTed to your webhook_url if you gave one. Otherwise GET /tasks/{id}/result. Results are retained 24 h.
Failure costs nothing
A task retries up to 3 times with backoff. If it still fails, the hold is released and you are not charged. Ever.
API reference
Every endpoint the KIT answers
Routes carry no version prefix. /v1/* still resolves for older clients, but it is not the canonical form and new code should not use it.
Base URL: https://api.kit.forhosting.com
| Method | Route | Auth | What it does |
|---|---|---|---|
GET |
/ |
Public | Service index: version and endpoint list. |
GET |
/catalog |
Public | All capabilities with live price and unit. ?lang=en|es. |
GET |
/plans |
Public | Top-up (recharge) amounts. Legacy plan fields kept for compatibility. |
POST |
/signup |
Public | {email} → 201 with your api_key, shown once. 409 if the email exists; 429 over 10/h per IP. |
GET |
/account |
API key | Account balance: top-up, held and available. |
POST |
/estimate |
API key | {type, input} → units, price and breakdown. Quotes without running. When the real quantity can't be known upfront (the page count of a PDF behind a URL), the reply says estimated: true. |
POST |
/tasks |
API key | {type, input, webhook_url?, max_cost_usd?} → 202. You are billed for the task's real unit — pages, minutes, images — measured while it runs, not for the upfront estimate. max_cost_usd is a hard ceiling: if the real cost exceeds it the task fails and nothing is charged. Send Idempotency-Key to make retries safe: a replay returns the original task with idempotent: true. |
POST |
/{alias} |
API key | Per-capability shortcut for POST /tasks with type fixed — e.g. POST /ocr/invoice. This is the form each capability page shows. |
POST |
/uploads |
API key | Send a local file: raw binary body, Content-Type of the file. → 201 with ref: "kit://upl_…", which you then put wherever a URL would go: {"input": {"pdf": "kit://upl_…"}}. One upload can feed several tasks. Refs live 24 h. Max 100 MB per upload; each capability applies its own limit on top. |
GET |
/tasks |
API key | Your tasks. ?status=, ?limit= (25 default, 100 max). |
GET |
/tasks/{id} |
API key | Task status. 1 request per second per task; over that, 429 with Retry-After: 1. |
GET |
/tasks/{id}/result |
API key | JSON result, or the file as an attachment. 409 not ready, 410 expired, 422 failed. Retention depends on result size: 168 h for small results, down to 6 h for very large ones. |
POST |
/tasks/{id}/retry |
API key | Re-queue a failed task. |
DELETE |
/tasks/{id} |
API key | Cancel a queued task and release its hold. |
GET |
/tasks/{id}/events |
API key Soon | Not implemented — returns 501. SSE is coming; use the webhook. |
Webhooks
Signed delivery, and how to verify it
Set webhook_url when you create a task and we POST the result there when it is ready. This is the recommended path: it costs less than polling and arrives sooner.
Verify the signature before you trust the body. Every delivery carries KIT-Signature: v1=<hex> and KIT-Timestamp: <unix seconds>. The signature is HMAC-SHA256 over the string <timestamp>.<raw body> — the timestamp and the dot are part of the signed payload, not decoration. Sign the raw bytes you received, not a re-serialized object.
Delivery is attempted up to 5 times with exponential backoff. A 4xx from your endpoint stops retrying immediately — we read it as “your handler is wrong”, not “try later”. Only 5xx and network errors retry. After that the delivery is dead-lettered.
What we POST
{
"event": "task.completed",
"created_at": "2026-07-16T10:31:04.120Z",
"data": {
"task_id": "tsk_a1b2c3d4e5f6",
"type": "ocr.invoice",
"status": "done",
"units": 1,
"price_usd": 0.021,
"result_url": "https://api.kit.forhosting.com/tasks/tsk_a1b2c3d4e5f6/result"
}
}{
"event": "task.failed",
"created_at": "2026-07-16T10:31:04.120Z",
"data": {
"task_id": "tsk_a1b2c3d4e5f6",
"type": "ocr.invoice",
"status": "failed",
"error": {
"code": "engine_error",
"message": "Upstream timed out after 3 attempts."
},
"charged": false
}
}Verifying the signature
const crypto = require("crypto");
// req.body tiene que ser el cuerpo CRUDO, no un objeto re-serializado.
function verify(rawBody, headers, secret) {
const sig = (headers["kit-signature"] || "").replace(/^v1=/, "");
const ts = headers["kit-timestamp"];
const mine = crypto.createHmac("sha256", secret)
.update(ts + "." + rawBody) // el timestamp va firmado
.digest("hex");
return crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(mine));
}import hmac, hashlib
def verify(raw_body: bytes, headers, secret: str) -> bool:
sig = headers["KIT-Signature"].removeprefix("v1=")
ts = headers["KIT-Timestamp"]
mine = hmac.new(secret.encode(),
f"{ts}.".encode() + raw_body, # el timestamp va firmado
hashlib.sha256).hexdigest()
return hmac.compare_digest(sig, mine)Errors
Standard HTTP, machine-readable slug
Every error carries a stable error slug in the body. Match on the slug, not the message: messages are localized and may change.
| HTTP | Error | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
413 | input_too_large | The file exceeds the size limit. |
422 | task_failed | The task failed after 3 retries. You are never charged for it. |
501 | coming_soon | Capability being deployed (Phase 1b). Its page exists; it doesn't accept executions yet. |
404 | input_not_found | That kit:// reference does not exist. Upload the file again with POST /uploads. |
410 | input_expired | That kit:// reference has expired. Uploads live 24 h; upload the file again. |
402 | max_cost_exceeded | The task cost more than the max_cost_usd you set. Nothing was charged. |
Pricing
Published, per task, no credits
Pay only for what you use. Add balance to your account (from $10.00) — it never expires — and every task draws from it at its published per-task price. Real dollars, not points.
Each task costs a base rate plus a unit rate, both published on the capability's own page and in the catalog below — from $0.002 per call. POST /estimate quotes a task without running it, and max_cost_usd on a task refuses it if it would cost more than you said.
Failed tasks are never charged. Free capabilities run in your browser and cost nothing at all.
Limits
What the service enforces
Polling a task is capped at 1 request per second; over that you get 429 with Retry-After: 1. Use the webhook instead. Results are retained 24 hours. GET /tasks returns 25 by default, 100 maximum. Signup is limited to 10 accounts per hour per IP.
Capability catalog
All 498, with live prices
Each capability links to its page, where you can run it, see a real example and the published price. Prices here come from the same catalog the Worker bills from — they cannot disagree.
| Capability | Endpoint | Unit | Price | Access |
|---|---|---|---|---|
| Convert HTML to PDF | POST /pdf/from-html |
page | $0.040 | Per use |
| URL to PDF | POST /pdf/from-url |
page | $0.040 | Per use |
| Convert Markdown to PDF | POST /pdf/from-markdown |
page | $0.040 | Per use |
| Text to PDF | POST /pdf/from-text |
page | $0.002 | Per use |
| JPG to PDF | POST /pdf/from-images |
image | $0.002 | Per use |
| Merge PDF files | POST /pdf/merge |
page | $0.008 | Per use |
| Split a PDF | POST /pdf/split |
page | $0.002 | Per use |
| Extract PDF pages | POST /pdf/extract-pages |
page | $0.002 | Per use |
| Delete pages from a PDF | POST /pdf/remove-pages |
page | $0.002 | Per use |
| Reorder PDF pages | POST /pdf/reorder-pages |
page | $0.002 | Per use |
| Rotate a PDF | POST /pdf/rotate |
page | $0.002 | Per use |
| Watermark a PDF | POST /pdf/watermark-text |
page | $0.002 | Per use |
| Add a logo to a PDF | POST /pdf/watermark-image |
page | $0.002 | Per use |
| Add page numbers to a PDF | POST /pdf/page-numbers |
page | $0.002 | Per use |
| Add headers and footers to a PDF | POST /pdf/header-footer |
page | $0.002 | Per use |
| Bates numbering | POST /pdf/stamp |
page | $0.002 | Per use |
| Read PDF metadata | POST /pdf/metadata-read |
document | $0.002 | Per use |
| Edit PDF metadata | POST /pdf/metadata-write |
document | $0.002 | Per use |
| Remove PDF metadata | POST /pdf/metadata-clean |
document | $0.002 | Per use |
| Count PDF pages and words | POST /pdf/stats |
document | $0.002 | Per use |
| Convert PDF to JPG | POST /pdf/to-images |
page | $0.040 | Per use |
| Make a PDF thumbnail | POST /pdf/thumbnail |
document | $0.040 | Per use |
| Extract text from a PDF | POST /pdf/to-text |
page | $0.002 | Per use |
| Convert PDF to Markdown | POST /pdf/to-markdown |
page | $0.010 | Per use |
| Convert PDF to HTML | POST /pdf/to-html |
page | $0.052 | Per use |
| Fill a PDF form | POST /pdf/fill-form |
document | $0.002 | Per use |
| Read PDF form fields | POST /pdf/form-read |
document | $0.002 | Per use |
| Flatten a PDF | POST /pdf/flatten |
page | $0.002 | Per use |
| Compress a PDF | POST /pdf/compress |
MB | $0.041 | Per use |
| Password-protect a PDF | POST /pdf/protect |
document | $0.042 | Per use |
| Remove a PDF password | POST /pdf/unlock |
document | $0.042 | Per use |
| Convert PDF to PDF/A | POST /pdf/to-pdfa |
page | $0.042 | Per use |
| Make a scan searchable | POST /pdf/ocr-layer |
page | $0.042 | Per use |
| Optimize a PDF for web | POST /pdf/linearize |
document | $0.042 | Per use |
| Compare two PDFs | POST /pdf/compare |
page | $0.002 | Per use |
| Split a PDF by bookmarks | POST /pdf/split-by-bookmark |
document | $0.002 | Per use |
| Convert Word to PDF | POST /doc/word-to-pdf |
page | $0.051 | Per use |
| Convert PDF to Word | POST /doc/pdf-to-word |
page | $0.051 | Per use |
| Convert Excel to PDF | POST /doc/excel-to-pdf |
page | $0.052 | Per use |
| Convert PDF to Excel | POST /doc/pdf-to-excel |
page | $0.010 | Per use |
| Convert PowerPoint to PDF | POST /doc/ppt-to-pdf |
page | $0.052 | Per use |
| Get plain text from Word | POST /doc/docx-to-text |
document | $0.052 | Per use |
| Convert ODT to PDF | POST /doc/odt-to-pdf |
page | $0.052 | Per use |
| Convert EPUB to PDF | POST /doc/epub-to-pdf |
page | $0.052 | Per use |
| Generate a Word doc | POST /doc/generate-docx |
document | $0.002 | Per use |
| Create an invoice PDF | POST /pdf/invoice |
document | $0.040 | Per use |
| Create a receipt PDF | POST /pdf/receipt |
document | $0.040 | Per use |
| Create certificates | POST /pdf/certificate |
document | $0.040 | Per use |
| Generate a contract PDF | POST /pdf/contract |
document | $0.040 | Per use |
| Turn an HTML report into a PDF | POST /pdf/report |
page | $0.040 | Per use |
| Make shipping labels | POST /pdf/label |
document | $0.002 | Per use |
| Create a quote PDF | POST /pdf/quote |
document | $0.040 | Per use |
| Extract text from an image | POST /ocr/image |
image | $0.010 | Per use |
| Read a scanned PDF | POST /ocr/pdf |
page | $0.010 | Per use |
| Turn handwriting into text | POST /ocr/handwriting |
image | $0.010 | Per use |
| Extract tables to CSV | POST /ocr/table |
page | $0.010 | Per use |
| Scan a receipt | POST /ocr/receipt |
document | $0.010 | Per use |
| Extract invoice data | POST /ocr/invoice |
page | $0.009 | Per use |
| Read a purchase order | POST /ocr/purchase-order |
page | $0.010 | Per use |
| Read a bank statement | POST /ocr/bank-statement |
page | $0.010 | Per use |
| Scan a business card | POST /ocr/business-card |
image | $0.010 | Per use |
| Parse a CV | POST /ocr/resume |
document | $0.003 | Per use |
| Parse a job description | POST /ocr/job-post |
document | $0.003 | Per use |
| Extract contract data | POST /ocr/contract |
page | $0.003 | Per use |
| Find clauses in a contract | POST /ocr/clause |
page | $0.003 | Per use |
| Read a filled-in form | POST /ocr/form |
page | $0.010 | Per use |
| Read an ID document | POST /ocr/id-document |
image | $0.010 | Per use |
| Read a passport's MRZ | POST /ocr/mrz |
image | $0.010 | Per use |
| Get the data behind a chart | POST /ocr/chart |
image | $0.010 | Per use |
| Screenshot to text | POST /ocr/screenshot |
image | $0.010 | Per use |
| Digitize a menu | POST /ocr/menu |
image | $0.010 | Per use |
| Check if a document is signed | POST /ocr/signature-detect |
page | $0.010 | Per use |
| Sort documents by type | POST /ocr/document-classify |
document | $0.010 | Per use |
| Open an EML file | POST /ocr/eml |
document | — | Free |
| Any document to JSON | POST /ocr/to-json |
page | $0.010 | Per use |
| Key points of a document | POST /ocr/key-points |
page | $0.003 | Per use |
| Build a timeline from a document | POST /ocr/timeline |
page | $0.003 | Per use |
| Pull citations from a paper | POST /ocr/citation |
page | $0.003 | Per use |
| Datasheet to attributes | POST /ocr/spec-sheet |
document | $0.003 | Per use |
| Find barcodes in a document | POST /ocr/barcode-doc |
page | — | Free |
| Detect a document's language | POST /ocr/language |
document | $0.003 | Per use |
| Is this PDF scanned? | POST /ocr/scanned-or-native |
document | $0.002 | Per use |
| Resize an image | POST /image/resize |
image | $0.002 | Per use |
| Bulk resize images | POST /image/resize-batch |
image | $0.002 | Per use |
| Make responsive images | POST /image/responsive-set |
image | $0.002 | Per use |
| Crop an image | POST /image/crop |
image | $0.002 | Per use |
| Smart crop | POST /image/smart-crop |
image | $0.002 | Per use |
| Make thumbnails | POST /image/thumbnail |
image | $0.002 | Per use |
| Compress an image | POST /image/compress |
image | $0.002 | Per use |
| Convert to WebP | POST /image/to-webp |
image | $0.002 | Per use |
| Convert to AVIF | POST /image/to-avif |
image | $0.002 | Per use |
| Convert image format | POST /image/convert |
image | $0.002 | Per use |
| HEIC to JPG | POST /image/heic-to-jpg |
image | $0.002 | Per use |
| SVG to PNG | POST /image/svg-to-png |
image | $0.040 | Per use |
| Rotate an image | POST /image/rotate |
image | $0.002 | Per use |
| Flip an image | POST /image/flip |
image | $0.002 | Per use |
| Black-and-white an image | POST /image/grayscale |
image | $0.002 | Per use |
| Apply a filter | POST /image/filter |
image | $0.002 | Per use |
| Fix brightness & contrast | POST /image/brightness-contrast |
image | $0.002 | Per use |
| Adjust saturation | POST /image/saturation |
image | $0.002 | Per use |
| Add a watermark | POST /image/watermark |
image | $0.002 | Per use |
| Add text to an image | POST /image/text-overlay |
image | $0.002 | Per use |
| Blur part of an image | POST /image/blur-region |
image | $0.002 | Per use |
| Blur faces | POST /image/blur-faces |
image | $0.010 | Per use |
| Blur license plates | POST /image/blur-plates |
image | $0.010 | Per use |
| Read EXIF data | POST /image/exif-read |
image | — | Free |
| Remove EXIF data | POST /image/exif-strip |
image | — | Free |
| Extract a color palette | POST /image/palette |
image | — | Free |
| Find the dominant color | POST /image/dominant-color |
image | — | Free |
| Generate a BlurHash | POST /image/blurhash |
image | — | Free |
| Perceptual hash | POST /image/phash |
image | — | Free |
| Compare two images | POST /image/compare |
image | $0.002 | Per use |
| Generate a favicon | POST /image/favicon |
set | $0.002 | Per use |
| Open Graph images | POST /image/og |
image | $0.040 | Per use |
| Resize for social media | POST /image/social-variants |
set | $0.002 | Per use |
| Generate avatars | POST /image/avatar |
image | — | Free |
| Sprite sheets | POST /image/sprite |
image | $0.002 | Per use |
| Validate an image | POST /image/validate |
image | — | Free |
| Image to Base64 | POST /image/to-base64 |
image | — | Free |
| Generate alt text | POST /image/describe |
image | $0.010 | Per use |
| Caption an image | POST /image/caption |
image | $0.010 | Per use |
| Auto-tag images | POST /image/tag |
image | $0.010 | Per use |
| Classify images | POST /image/classify |
image | $0.010 | Per use |
| Detect objects | POST /image/detect-objects |
image | $0.010 | Per use |
| Detect NSFW content | POST /image/moderate |
image | $0.010 | Per use |
| Check image quality | POST /image/quality |
image | $0.010 | Per use |
| Image to prompt | POST /image/prompt-from-image |
image | $0.010 | Per use |
| Text to image | POST /image/generate |
image | $0.002 | Per use |
| Image variations | POST /image/variations |
image | $0.002 | Per use |
| Generate banners | POST /image/banner |
image | $0.002 | Per use |
| Product mockups | POST /image/product-mockup |
image | $0.002 | Per use |
| Remove the background | POST /image/remove-background |
image | $0.061 | Per use |
| Replace the background | POST /image/replace-background |
image | $0.062 | Per use |
| Upscale an image | POST /image/upscale |
image | $0.061 | Soon |
| Colorize photos | POST /image/colorize |
image | $0.062 | Soon |
| Denoise an image | POST /image/denoise |
image | $0.062 | Per use |
| Product packshots | POST /image/packshot |
image | $0.062 | Per use |
| Product shadow | POST /image/shadow |
image | $0.062 | Per use |
| Transcribe audio | POST /audio/transcribe |
minute | $0.004 | Per use |
| Transcript with timestamps | POST /audio/transcribe-timestamps |
minute | $0.002 | Per use |
| Subtitles as .srt | POST /audio/subtitles-srt |
minute | $0.002 | Per use |
| WebVTT captions | POST /audio/subtitles-vtt |
minute | $0.002 | Per use |
| Identify speakers | POST /audio/diarize |
minute | $0.002 | Per use |
| Detect the spoken language | POST /audio/detect-language |
minute | $0.002 | Per use |
| Translate audio | POST /audio/translate |
minute | $0.004 | Per use |
| Summarize audio | POST /audio/summarize |
minute | $0.004 | Per use |
| Meeting minutes | POST /audio/meeting-notes |
minute | $0.004 | Per use |
| Action items | POST /audio/action-items |
minute | $0.004 | Per use |
| Podcast chapters | POST /audio/chapters |
minute | $0.004 | Per use |
| Show notes | POST /audio/show-notes |
minute | $0.004 | Per use |
| Keywords from audio | POST /audio/keywords |
minute | $0.004 | Per use |
| Audio to a blog post | POST /audio/to-blog |
minute | $0.004 | Per use |
| Moderate spoken audio | POST /audio/moderate |
minute | $0.004 | Per use |
| Clean up a transcript | POST /audio/clean-transcript |
1,000 words | $0.003 | Per use |
| Search words in audio | POST /audio/search |
minute | $0.002 | Per use |
| Text to speech | POST /voice/tts |
1,000 characters | $0.005 | Per use |
| SSML text to speech | POST /voice/tts-ssml |
1,000 characters | $0.002 | Per use |
| Spanish text to speech | POST /voice/tts-es |
1,000 characters | $0.002 | Per use |
| Convert audio | POST /audio/convert |
minute | $0.077 | Per use |
| Trim audio | POST /audio/trim |
minute | $0.077 | Per use |
| Normalize loudness | POST /audio/normalize |
minute | $0.077 | Per use |
| Remove silence | POST /audio/remove-silence |
minute | $0.077 | Per use |
| Reduce audio noise | POST /audio/denoise |
minute | $0.077 | Per use |
| Merge audio | POST /audio/merge |
minute | $0.077 | Per use |
| Split audio | POST /audio/split |
minute | $0.077 | Per use |
| Audio metadata | POST /audio/metadata |
file | $0.077 | Per use |
| Waveform image | POST /audio/waveform |
minute | $0.077 | Per use |
| Transcribe a video | POST /video/transcribe |
minute | $0.079 | Per use |
| Add subtitles to a video | POST /video/subtitles |
minute | $0.079 | Per use |
| Burn subtitles into a video | POST /video/burn-subtitles |
minute | $0.077 | Per use |
| Get the audio from a video | POST /video/extract-audio |
minute | $0.077 | Per use |
| Convert a video | POST /video/convert |
minute | $0.077 | Per use |
| Compress a video | POST /video/compress |
minute | $0.077 | Per use |
| Trim a video | POST /video/trim |
minute | $0.077 | Per use |
| Grab a video thumbnail | POST /video/thumbnail |
video | $0.077 | Per use |
| Turn a video into a GIF | POST /video/gif |
minute | $0.077 | Per use |
| Resize a video | POST /video/resize |
minute | $0.077 | Per use |
| Add a watermark to a video | POST /video/watermark |
minute | $0.077 | Per use |
| Extract frames from a video | POST /video/frames |
minute | $0.077 | Per use |
| Read a video's metadata | POST /video/metadata |
video | $0.077 | Per use |
| Make a video vertical | POST /video/social-crop |
minute | $0.077 | Per use |
| Merge videos | POST /video/merge |
minute | $0.077 | Per use |
| Summarise a video | POST /video/summarize |
minute | $0.084 | Per use |
| Summarize a text | POST /text/summarize |
1,000 words | $0.003 | Per use |
| Summarize in bullet points | POST /text/summarize-bullets |
1,000 words | $0.003 | Per use |
| Executive summary | POST /text/executive-summary |
1,000 words | $0.003 | Per use |
| TL;DR | POST /text/tldr |
1,000 words | $0.003 | Per use |
| Summarize a web page | POST /text/summarize-url |
URL | $0.046 | Per use |
| Expand text | POST /text/expand |
1,000 words | $0.003 | Per use |
| Shorten text | POST /text/shorten |
1,000 words | $0.003 | Per use |
| Rewrite text | POST /text/rewrite |
1,000 words | $0.003 | Per use |
| Paraphrase | POST /text/paraphrase |
1,000 words | $0.003 | Per use |
| Simplify text | POST /text/simplify |
1,000 words | $0.003 | Per use |
| Adjust reading level | POST /text/reading-level |
1,000 words | $0.003 | Per use |
| Change the tone | POST /text/change-tone |
1,000 words | $0.003 | Per use |
| Make text formal | POST /text/formalize |
1,000 words | $0.003 | Per use |
| Make text sound human | POST /text/humanize |
1,000 words | $0.003 | Per use |
| Check grammar | POST /text/grammar |
1,000 words | $0.003 | Per use |
| Check spelling | POST /text/spellcheck |
1,000 words | $0.003 | Per use |
| Fix punctuation | POST /text/punctuation |
1,000 words | $0.003 | Per use |
| Proofread | POST /text/proofread |
1,000 words | $0.003 | Per use |
| Readability score | POST /text/readability |
1,000 words | — | Free |
| Detect language | POST /text/detect-language |
1,000 words | $0.003 | Per use |
| Sentiment analysis | POST /text/sentiment |
item | $0.003 | Per use |
| Detect emotion in text | POST /text/emotion |
item | $0.003 | Per use |
| Classify intent | POST /text/intent |
item | $0.003 | Per use |
| Classify text | POST /text/topic-classify |
item | $0.003 | Per use |
| Moderate content | POST /text/moderate |
item | $0.003 | Per use |
| Detect spam | POST /text/spam |
item | $0.003 | Per use |
| Find personal data | POST /text/detect-pii |
1,000 words | $0.003 | Per use |
| Redact personal data | POST /text/redact-pii |
1,000 words | $0.003 | Per use |
| Anonymize text | POST /text/anonymize |
1,000 words | $0.003 | Per use |
| Extract entities | POST /text/extract-entities |
1,000 words | $0.003 | Per use |
| Extract keywords | POST /text/extract-keywords |
1,000 words | $0.003 | Per use |
| Extract dates | POST /text/extract-dates |
1,000 words | $0.003 | Per use |
| Extract amounts | POST /text/extract-amounts |
1,000 words | $0.003 | Per use |
| Extract questions | POST /text/extract-questions |
1,000 words | $0.003 | Per use |
| Extract claims | POST /text/extract-claims |
1,000 words | $0.003 | Per use |
| Pull quotes | POST /text/extract-quotes |
1,000 words | $0.003 | Per use |
| Extract action items | POST /text/extract-action-items |
1,000 words | $0.003 | Per use |
| Text to JSON | POST /text/to-json |
1,000 words | $0.003 | Per use |
| Text to table | POST /text/to-table |
1,000 words | $0.003 | Per use |
| Text to bullets | POST /text/to-bullets |
1,000 words | $0.003 | Per use |
| Content outline | POST /text/outline |
1,000 words | $0.003 | Per use |
| Compare two texts | POST /text/compare |
1,000 words | $0.003 | Per use |
| Text similarity | POST /text/semantic-similarity |
pair | $0.002 | Per use |
| Generate an FAQ | POST /text/faq |
1,000 words | $0.003 | Per use |
| Generate a quiz | POST /text/quiz |
1,000 words | $0.003 | Per use |
| Generate flashcards | POST /text/flashcards |
1,000 words | $0.003 | Per use |
| Ask your document | POST /text/qa |
question | $0.003 | Per use |
| Generate text | POST /text/generate |
1,000 words | $0.003 | Per use |
| Write a blog post | POST /text/blog-post |
article | $0.003 | Per use |
| Product descriptions | POST /text/product-description |
item | $0.003 | Per use |
| Ad copy | POST /text/ad-copy |
variant | $0.003 | Per use |
| Landing page copy | POST /text/landing-copy |
block | $0.003 | Per use |
| Write an email | POST /text/email-compose |
$0.003 | Per use | |
| Subject lines | POST /text/email-subject |
variant | $0.003 | Per use |
| Reply to an email | POST /text/email-reply |
$0.003 | Per use | |
| Support replies | POST /text/support-reply |
ticket | $0.003 | Per use |
| Reply to reviews | POST /text/review-reply |
review | $0.003 | Per use |
| Social posts | POST /text/social-post |
post | $0.003 | Per use |
| Social thread | POST /text/social-thread |
thread | $0.003 | Per use |
| Generate hashtags | POST /text/hashtags |
post | $0.003 | Per use |
| Write headlines | POST /text/headline |
variant | $0.003 | Per use |
| A/B copy variants | POST /text/ab-variants |
variant | $0.003 | Per use |
| Name ideas | POST /text/name-ideas |
batch | $0.003 | Per use |
| Slogans | POST /text/slogan |
batch | $0.003 | Per use |
| Write a bio | POST /text/bio |
bio | $0.003 | Per use |
| Cover letter | POST /text/cover-letter |
letter | $0.003 | Per use |
| Interview questions | POST /text/interview-questions |
batch | $0.003 | Per use |
| Video script | POST /text/script |
script | $0.003 | Per use |
| Newsletter | POST /text/newsletter |
issue | $0.003 | Per use |
| Changelog | POST /text/changelog |
release | $0.003 | Per use |
| Content ideas | POST /text/content-ideas |
batch | $0.003 | Per use |
| Score leads | POST /text/lead-score |
item | $0.003 | Per use |
| Route tickets | POST /text/ticket-route |
ticket | $0.003 | Per use |
| Summarize reviews | POST /text/review-summary |
batch | $0.003 | Per use |
| Analyze feedback | POST /text/feedback-analyze |
batch | $0.003 | Per use |
| Categorize expenses | POST /text/expense-categorize |
item | $0.003 | Per use |
| Categorize products | POST /text/product-categorize |
item | $0.003 | Per use |
| Product attributes | POST /text/product-attributes |
item | $0.003 | Per use |
| Normalize product data | POST /text/product-normalize |
item | $0.003 | Per use |
| Analyze logs | POST /text/log-analyze |
1,000 lines | $0.003 | Per use |
| Translate text | POST /translate/text |
1,000 words | $0.003 | Per use |
| Translate an HTML page | POST /translate/html |
1,000 words | $0.003 | Per use |
| Translate a JSON locale file | POST /translate/json |
key | $0.003 | Per use |
| Translate a CSV | POST /translate/csv |
cell | $0.003 | Per use |
| Translate Markdown | POST /translate/markdown |
1,000 words | $0.003 | Per use |
| Translate subtitles | POST /translate/srt |
1,000 words | $0.003 | Per use |
| Translate a PDF | POST /translate/pdf |
page | $0.011 | Per use |
| Translate a Word document | POST /translate/docx |
page | $0.057 | Per use |
| Translate with a glossary | POST /translate/glossary |
1,000 words | $0.003 | Per use |
| Translate formal or informal | POST /translate/formality |
1,000 words | $0.003 | Per use |
| Translate keeping the tone | POST /translate/tone-preserve |
1,000 words | $0.003 | Per use |
| Translate for SEO | POST /translate/seo |
1,000 words | $0.003 | Per use |
| Translate a product catalog | POST /translate/catalog |
item | $0.003 | Per use |
| Translate an email | POST /translate/email |
$0.003 | Per use | |
| Translate code comments | POST /translate/code-comments |
1,000 words | $0.003 | Per use |
| Transliterate | POST /translate/transliterate |
1,000 words | $0.003 | Per use |
| Explain slang | POST /translate/slang |
1,000 words | $0.003 | Per use |
| Adapt regional variants | POST /translate/regional |
1,000 words | $0.003 | Per use |
| Back-translate to check | POST /translate/back |
1,000 words | $0.003 | Per use |
| Format numbers & currency | POST /locale/format-number |
item | — | Free |
| Localize dates | POST /locale/format-date |
item | — | Free |
| Localize units | POST /locale/units |
item | — | Free |
| Translate text in a photo | POST /translate/ocr |
image | $0.011 | Per use |
| Screenshot a website | POST /web/screenshot |
URL | $0.040 | Per use |
| Full-page screenshot | POST /web/screenshot-full |
URL | $0.040 | Per use |
| Mobile screenshot | POST /web/screenshot-device |
URL | $0.040 | Per use |
| Screenshot one element | POST /web/screenshot-element |
URL | $0.040 | Per use |
| Scheduled screenshots | POST /web/screenshot-scheduled |
URL | $0.040 | Per use |
| Render a JavaScript page | POST /web/render |
URL | $0.040 | Per use |
| Web page to Markdown | POST /web/to-markdown |
URL | $0.040 | Per use |
| Web page to text | POST /web/to-text |
URL | $0.040 | Per use |
| Extract an article | POST /web/article |
URL | $0.040 | Per use |
| Scrape a website | POST /web/scrape-selector |
URL | $0.040 | Per use |
| Scrape with AI | POST /web/scrape-ai |
URL | $0.046 | Per use |
| Scrape to a schema | POST /web/scrape-schema |
URL | $0.046 | Per use |
| Crawl a website | POST /web/crawl |
page | $0.040 | Per use |
| Extract links | POST /web/links |
URL | $0.002 | Per use |
| Extract images | POST /web/images |
URL | $0.002 | Per use |
| Web table to CSV | POST /web/tables |
URL | $0.040 | Per use |
| Audit contact details | POST /web/contacts |
URL | $0.002 | Per use |
| Link preview | POST /web/link-preview |
URL | $0.002 | Per use |
| Read meta tags | POST /web/metadata |
URL | — | Free |
| Extract JSON-LD | POST /web/schema |
URL | — | Free |
| RSS to JSON | POST /web/rss-to-json |
feed | — | Free |
| Find the RSS feed | POST /web/rss-discover |
URL | $0.002 | Per use |
| Create an RSS feed | POST /web/make-rss |
URL | $0.040 | Per use |
| Extract product data | POST /web/product-extract |
URL | $0.046 | Per use |
| Extract a price | POST /web/price-extract |
URL | $0.046 | Per use |
| Check if it's in stock | POST /web/stock-extract |
URL | $0.046 | Per use |
| Extract reviews | POST /web/reviews-extract |
URL | $0.046 | Per use |
| Extract a job posting | POST /web/job-extract |
URL | $0.046 | Per use |
| Monitor a page for changes | POST /web/monitor-changes |
check | $0.002 | Per use |
| Monitor visual changes | POST /web/monitor-visual |
check | $0.040 | Per use |
| Track a price | POST /web/monitor-price |
check | $0.040 | Per use |
| Back-in-stock alerts | POST /web/monitor-stock |
check | $0.040 | Per use |
| Monitor a keyword | POST /web/monitor-keyword |
check | $0.002 | Per use |
| Monitor uptime | POST /web/uptime |
check | $0.002 | Per use |
| Multi-region uptime | POST /web/uptime-multi |
check | $0.002 | Per use |
| Check an SSL certificate | POST /web/ssl-check |
domain | $0.002 | Per use |
| Check domain expiry | POST /web/domain-expiry |
domain | $0.002 | Per use |
| WHOIS lookup | POST /web/whois |
domain | $0.002 | Per use |
| DNS lookup | POST /web/dns |
domain | $0.002 | Per use |
| Check DNS propagation | POST /web/dns-propagation |
domain | $0.002 | Per use |
| Inspect HTTP headers | POST /web/headers |
URL | $0.002 | Per use |
| Check security headers | POST /web/security-headers |
URL | $0.002 | Per use |
| Check redirects | POST /web/redirect-chain |
URL | $0.002 | Per use |
| Check HTTP status | POST /web/status |
URL | $0.002 | Per use |
| Find broken links | POST /web/broken-links |
page | $0.002 | Per use |
| Detect a site's technology | POST /web/tech-detect |
URL | $0.040 | Per use |
| Audit cookies | POST /web/cookie-audit |
URL | $0.040 | Per use |
| Accessibility audit | POST /web/accessibility |
URL | $0.040 | Per use |
| Measure Core Web Vitals | POST /web/vitals |
URL | $0.040 | Per use |
| Prerender for bots | POST /web/prerender |
URL | $0.040 | Per use |
| Generate meta tags | POST /seo/meta-generate |
page | $0.003 | Per use |
| Audit a page for SEO | POST /seo/audit |
URL | $0.040 | Per use |
| Check heading structure | POST /seo/headings |
URL | — | Free |
| Keyword density | POST /seo/keyword-density |
URL | — | Free |
| Audit internal links | POST /seo/internal-links |
URL | $0.002 | Per use |
| Check the canonical tag | POST /seo/canonical-check |
URL | — | Free |
| Validate hreflang | POST /seo/hreflang-check |
URL | — | Free |
| Analyze robots.txt | POST /seo/robots-analyze |
domain | $0.002 | Per use |
| Validate a sitemap | POST /seo/sitemap-validate |
sitemap | — | Free |
| Sitemap to JSON | POST /seo/sitemap-to-json |
sitemap | — | Free |
| Generate a sitemap | POST /seo/sitemap-generate |
page | $0.002 | Per use |
| Generate JSON-LD | POST /seo/schema-generate |
page | $0.003 | Per use |
| Validate Open Graph | POST /seo/og-validate |
URL | — | Free |
| Audit alt text | POST /seo/alt-text-audit |
URL | $0.066 | Per use |
| SEO content brief | POST /seo/content-outline |
keyword | $0.003 | Per use |
| Write click-worthy titles | POST /seo/title-variants |
variant | $0.003 | Per use |
| SEO readability score | POST /seo/readability |
page | — | Free |
| Cluster keywords by intent | POST /seo/keyword-cluster |
batch | $0.002 | Per use |
| YouTube description | POST /seo/youtube-meta |
video | $0.003 | Per use |
| Optimize images for SEO | POST /seo/image-optimize |
image | $0.002 | Per use |
| CSV to JSON | POST /data/csv-to-json |
1,000 rows | — | Free |
| JSON to CSV | POST /data/json-to-csv |
1,000 rows | — | Free |
| Excel to JSON | POST /data/xlsx-to-json |
1,000 rows | $0.002 | Per use |
| JSON to Excel | POST /data/json-to-xlsx |
1,000 rows | $0.002 | Per use |
| XML to JSON | POST /data/xml-to-json |
document | — | Free |
| JSON to XML | POST /data/json-to-xml |
document | — | Free |
| YAML to JSON | POST /data/yaml-json |
document | — | Free |
| Validate JSON Schema | POST /data/json-validate |
document | — | Free |
| Repair broken JSON | POST /data/json-repair |
document | $0.003 | Per use |
| Format JSON | POST /data/json-format |
document | — | Free |
| Minify JSON | POST /data/json-minify |
document | — | Free |
| JSON to HTML table | POST /data/json-to-html |
document | — | Free |
| Clean a CSV | POST /data/clean-csv |
1,000 rows | — | Free |
| Remove duplicate rows | POST /data/dedupe-csv |
1,000 rows | — | Free |
| Fuzzy dedupe | POST /data/dedupe-semantic |
1,000 rows | $0.002 | Per use |
| Merge & join CSV files | POST /data/merge-csv |
1,000 rows | — | Free |
| Transform a CSV | POST /data/transform-csv |
1,000 rows | — | Free |
| Filter CSV rows | POST /data/filter-csv |
1,000 rows | — | Free |
| CSV statistics | POST /data/csv-stats |
1,000 rows | — | Free |
| Normalize names & addresses | POST /data/normalize-names |
item | $0.003 | Per use |
| Normalize dates | POST /data/normalize-dates |
item | — | Free |
| Convert to UTF-8 | POST /data/to-utf8 |
document | — | Free |
| Compare text | POST /data/diff |
document | — | Free |
| Create a ZIP | POST /data/zip |
MB | — | Free |
| Unzip a file | POST /data/unzip |
MB | — | Free |
| Gzip | POST /data/gzip |
MB | — | Free |
| Mock data generator | POST /data/fake |
1,000 rows | — | Free |
| Markdown to HTML | POST /data/markdown-to-html |
document | — | Free |
| HTML to Markdown | POST /data/html-to-markdown |
document | — | Free |
| HTML to text | POST /data/html-to-text |
document | — | Free |
| Sanitize HTML | POST /data/html-sanitize |
document | — | Free |
| Minify HTML | POST /data/html-minify |
document | — | Free |
| Minify CSS | POST /data/css-minify |
document | — | Free |
| Minify JavaScript | POST /data/js-minify |
document | — | Free |
| Convert units | POST /data/convert-units |
item | — | Free |
| Convert colors | POST /data/color-convert |
item | — | Free |
| Check an email address | POST /verify/email-syntax |
item | — | Free |
| Verify an email exists | POST /verify/email-mx |
item | $0.002 | Per use |
| Spot throwaway emails | POST /verify/email-disposable |
item | $0.002 | Per use |
| Find role emails | POST /verify/email-role |
item | — | Free |
| Fix email typos | POST /verify/email-typo |
item | — | Free |
| Clean your email list | POST /verify/email-batch |
item | $0.002 | Per use |
| Validate a phone number | POST /verify/phone |
item | — | Free |
| Look up a phone carrier | POST /verify/phone-carrier |
item | $0.002 | Per use |
| Validate an IBAN | POST /verify/iban |
item | — | Free |
| Check a SWIFT/BIC code | POST /verify/swift |
item | — | Free |
| Check an EU VAT number | POST /verify/vat |
item | $0.002 | Per use |
| Check a tax ID format | POST /verify/tax-id |
item | — | Free |
| Validate a card number | POST /verify/card-luhn |
item | — | Free |
| Detect a card brand | POST /verify/card-type |
item | — | Free |
| Locate an IP address | POST /verify/ip-geo |
item | $0.002 | Per use |
| Detect VPN and proxy | POST /verify/ip-vpn |
item | $0.002 | Per use |
| Score bot traffic | POST /verify/bot-score |
item | $0.002 | Per use |
| Validate a URL | POST /verify/url |
item | — | Free |
| Screen a link for danger | POST /verify/url-safe |
item | $0.002 | Per use |
| Detect phishing | POST /verify/phishing |
item | $0.003 | Per use |
| Detect injection attacks | POST /verify/injection |
item | — | Free |
| Check password strength | POST /verify/password |
item | — | Free |
| Validate a postal address | POST /verify/address |
item | $0.003 | Per use |
| Check a postal code | POST /verify/postal-code |
item | — | Free |
| Validate a barcode | POST /verify/barcode |
item | — | Free |
| Parse a user agent | POST /verify/user-agent |
item | — | Free |
| Color contrast checker | POST /verify/color-contrast |
item | — | Free |
| Generate a UUID | POST /dev/uuid |
batch | — | Free |
| Hash a string | POST /dev/hash |
item | — | Free |
| Sign and verify a payload | POST /dev/hmac |
item | — | Free |
| Decode a JWT | POST /dev/jwt-decode |
item | — | Free |
| Create a signed JWT | POST /dev/jwt-sign |
item | — | Free |
| Generate a 2FA code | POST /dev/totp |
item | — | Free |
| Encrypt text | POST /dev/encrypt |
item | — | Free |
| Generate a password | POST /dev/password-gen |
batch | — | Free |
| Encode and decode Base64 | POST /dev/base64 |
item | — | Free |
| Encode and decode a URL | POST /dev/url-encode |
item | — | Free |
| Make a URL slug | POST /dev/slug |
item | — | Free |
| Convert between time zones | POST /dev/timezone |
item | — | Free |
| Convert a Unix timestamp | POST /dev/epoch |
item | — | Free |
| Count business days | POST /dev/business-days |
item | — | Free |
| Explain a cron expression | POST /dev/cron-explain |
item | — | Free |
| See the next cron runs | POST /dev/cron-next |
item | — | Free |
| Schedule a webhook | POST /dev/cron-webhook |
run | $0.002 | Per use |
| Schedule a delayed callback | POST /dev/delay |
callback | $0.002 | Per use |
| Shorten a link | POST /dev/short-url |
link | $0.002 | Per use |
| Track link clicks | POST /dev/short-url-stats |
link | $0.002 | Per use |
| Make a QR code | POST /dev/qr-generate |
image | — | Free |
| Add a logo to a QR code | POST /dev/qr-logo |
image | — | Free |
| Edit a QR after printing | POST /dev/qr-dynamic |
qr | $0.002 | Per use |
| Read a QR code | POST /dev/qr-decode |
image | — | Free |
| Make a barcode | POST /dev/barcode-generate |
image | — | Free |
| Read a barcode from a photo | POST /dev/barcode-decode |
image | $0.002 | Per use |
| Create a vCard | POST /dev/vcard |
item | — | Free |
| Create a calendar invite | POST /dev/ical |
item | — | Free |
| Build UTM campaign links | POST /dev/utm |
item | — | Free |
| Generate a regex | POST /dev/regex-generate |
item | $0.003 | Per use |
| Explain a regex | POST /dev/regex-explain |
item | $0.003 | Per use |
| Explain code | POST /dev/code-explain |
1,000 words | $0.003 | Per use |
| Document your code | POST /dev/code-document |
1,000 words | $0.003 | Per use |
| Turn a question into SQL | POST /dev/text-to-sql |
query | $0.003 | Per use |
| Generate a JSON Schema | POST /dev/json-schema-gen |
document | $0.003 | Per use |
| Generate unit tests | POST /dev/unit-tests |
1,000 words | $0.003 | Per use |
| Write a commit message | POST /dev/commit-message |
diff | $0.003 | Per use |
| Generate a README | POST /dev/readme |
repo | $0.003 | Per use |
| Reshape a webhook payload | POST /dev/webhook-transform |
event | — | Free |
| Sign and verify webhooks | POST /dev/webhook-sign |
event | — | Free |
| Run hundreds of HTTP requests | POST /dev/http-batch |
request | $0.002 | Per use |
| Generate placeholder text | POST /dev/lorem |
block | $0.003 | Per use |
| Subnet calculator | POST /dev/subnet |
item | — | Free |
| Get text embeddings | POST /search/embed |
1,000 tokens | $0.002 | Per use |
| Embed a whole corpus | POST /search/embed-batch |
1,000 tokens | $0.002 | Per use |
| Index your text | POST /search/index-text |
1,000 chunks | $0.002 | Per use |
| Index PDFs and scans | POST /search/index-document |
page | $0.010 | Per use |
| Index a website | POST /search/index-url |
page | $0.040 | Per use |
| Search by meaning | POST /search/semantic |
query | $0.002 | Per use |
| Hybrid search | POST /search/hybrid |
query | $0.002 | Per use |
| Rerank results | POST /search/rerank |
query | $0.002 | Per use |
| Find similar documents | POST /search/similar-docs |
query | $0.002 | Per use |
| Reverse image search | POST /search/similar-images |
query | $0.002 | Per use |
| Recommend related content | POST /search/recommend |
query | $0.002 | Per use |
| Cluster texts | POST /search/cluster |
1,000 rows | $0.002 | Per use |
| Detect outliers | POST /search/outliers |
1,000 rows | $0.002 | Per use |
| Match products | POST /search/match-products |
item | $0.002 | Per use |
| Ask your documents | POST /rag/answer |
query | $0.003 | Per use |
| Answers with citations | POST /rag/answer-sources |
query | $0.003 | Per use |
| Chat with a PDF | POST /rag/chat-pdf |
query | $0.003 | Per use |
| Chat with a website | POST /rag/chat-website |
query | $0.003 | Per use |
| Build an FAQ bot | POST /rag/faq-bot |
query | $0.003 | Per use |
| Rewrite queries | POST /rag/query-rewrite |
query | $0.003 | Per use |
| Send a transactional email | POST /notify/email |
$0.002 | Per use | |
| Send email from a template | POST /notify/email-template |
$0.002 | Per use | |
| Email a file as attachment | POST /notify/email-attachment |
$0.002 | Per use | |
| Schedule an email | POST /notify/email-scheduled |
$0.002 | Per use | |
| Turn an email into a webhook | POST /notify/email-in |
$0.002 | Per use | |
| Batch events into one daily email | POST /notify/digest |
$0.002 | Per use | |
| Deliver webhooks reliably | POST /notify/webhook |
delivery | $0.002 | Per use |
| Send a message to Slack | POST /notify/slack |
message | $0.002 | Per use |
| Post to a Discord channel | POST /notify/discord |
message | $0.002 | Per use |
| Route an alert to the right channel | POST /notify/alert |
alert | $0.002 | Per use |
| Chain tasks together | POST /flow/chain |
step | $0.000 | Per use |
| Run tasks in parallel | POST /flow/parallel |
step | $0.000 | Per use |
| Branch your workflow | POST /flow/conditional |
step | $0.000 | Per use |
| Run one task over 100,000 items | POST /flow/batch |
item | $0.002 | Per use |
| Schedule a task | POST /flow/schedule |
run | $0.002 | Per use |
| Retry failed tasks | POST /flow/retry |
retry | $0.002 | Per use |
No capabilities match your search.
No warranty
What we do not promise
The KIT is provided “as is”: no warranty, no uptime commitment, no SLA (dedicated infrastructure with an SLA is a paid add-on) and no guaranteed support. See the Terms for the full KIT clause.