Clean slugs and better-ranking texts
For in-house CMSs and writing tools: a slug without accents or exotic characters, the keywords that stand out, the length of your tags.
- Custom CMSs
- Writing tools
- Multilingual blogs
POST
/v1/seo/analyze
1 credit(s) per callGenerates a slug and analyses title, description, keywords, density, reading time and readability.
Try it online
Result
—
Example request
curl -X POST https://supercalcula.ch/api/v1/seo/analyze \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-d '{"title":"Comment créer un QR code avec logo en 2026","text":"Un QR code avec logo…","lang":"fr"}'
const res = await fetch("https://supercalcula.ch/api/v1/seo/analyze", {
method: "POST",
headers: { Authorization: "Bearer sk_live_…", "Content-Type": "application/json" },
body: JSON.stringify({
"title": "Comment créer un QR code avec logo en 2026",
"text": "Un QR code avec logo…",
"lang": "fr"
}),
});
const data = await res.json();
import requests
r = requests.post("https://supercalcula.ch/api/v1/seo/analyze",
headers={"Authorization": "Bearer sk_live_…"},
json={"title":"Comment créer un QR code avec logo en 2026","text":"Un QR code avec logo…","lang":"fr"})
print(r.json())
$ch = curl_init("https://supercalcula.ch/api/v1/seo/analyze");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer sk_live_…", "Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode(["title" => "Comment créer un QR code avec logo en 2026", "text" => "Un QR code avec logo…", "lang" => "fr"]),
CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);
Response
{
"ok": true,
"data": {
"slug": "comment-creer-un-qr-code-avec-logo-en-2026",
"title": {
"length": 42,
"verdict": "ok"
},
"description": {
"length": 0,
"verdict": "missing"
},
"keywords": [
{
"term": "qr code",
"count": 12,
"density": 2.1
},
{
"term": "logo",
"count": 7,
"density": 1.2
}
],
"word_count": 570,
"reading_time_min": 3,
"readability": {
"score": 62,
"level": "standard"
}
}
}Limits and cost
- Cost : 1 credit(s) per call
- Text: 200,000 characters at most
- Languages: French, German, English
- Readability: Kandel-Moles (FR), Amstad (DE) and Flesch (EN) formulas