Single endpoint, instant results
Unicode Normalize API - Canonical Unicode Forms (NFC/NFD/NFKC/NFKD)
Normalize Unicode text to a canonical form (NFC, NFD, NFKC, NFKD). Perfect for text comparison and preventing encoding issues. Free: 1,000 requests/day.
POST https://textforge.co/v1/run
{
"input": "Hello World!",
"pipeline": [
"unicodenormalize"
]
}Response:
{
"success": true,
"input": "Hello World!",
"pipeline": [
"unicodenormalize"
],
"result": "hello-world",
"steps": [
{
"step": 1,
"action": "unicodenormalize",
"result": "hello-world",
"execution_time_ms": 1
}
],
"execution_time_ms": 4
}Quick Start
cURL
curl -X POST https://textforge.co/v1/run \
-H "Content-Type: application/json" \
-d '{"input":"café","pipeline":["unicodenormalize"]}'Node.js
const response = await fetch("https://textforge.co/v1/run", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ input: "café", pipeline: ["unicodenormalize"] })
});
const data = await response.json();
console.log(data.result);Python
import requests
response = requests.post(
"https://textforge.co/v1/run",
json={"input": "café", "pipeline": ["unicodenormalize"]}
)
print(response.json()["result"])PHP
$ch = curl_init("https://textforge.co/v1/run");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"input" => "café",
"pipeline" => ["unicodenormalize"]
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
echo $data["result"];Why use the API?
⚡
Sub-5ms latency
p95 response time, no cold starts
🔗
Composable pipelines
Chain transforms in one request
🛡️
Fair free tier
1,000 requests/day, no credit card
🌐
Works everywhere
curl, Python, JS, PHP - no SDK needed
📊
Built-in analytics
Usage tracking, rate limit headers
🔒
HTTPS only
CORS enabled, production ready