Transliterator API

Konvertieren Sie uber 27 Schriftsysteme sofort in Lateinisch - perfekt fur SEO-Slugs, normalisierte Suche und Datenpipelines.

Was können Sie tun?
Suchnormalisierung

Indexieren und suchen Sie gemischte Schriftinhalte als Einheit.

SEO-Slugs

Generieren Sie saubere mehrsprachige URLs im Handumdrehen.

Datenpipelines

Versorgen Sie Kataloge oder NLP-Workflows mit konsistentem Text.

Live testen
99.9 % Verfügbarkeit
12.5ms Antwort
20 req/s
0.009 Credits / Anfrage

Transliterator API


POST https://api.yeb.to/v1/transliterator
Parameter Typ Erf. Beschreibung
api_key string ja Auth key
lang string opt. ISO code of input script
text string ja Input text (max. 255 chars)
type string opt. plain | slug | snake | camel | capital | upper | lower
delimiter string opt. Custom delimiter for slug/snake

Anfragebeispiele

{
  "api_key":"YOUR_KEY",
  "lang":"bg",
  "text":"пример"
}
{
  "api_key":"YOUR_KEY",
  "lang":"ru",
  "text":"тест транслитерация",
  "type":"slug",
  "delimiter":"_"
}

API-Integrationen

curl -X POST https://api.yeb.to/v1/transliterator \
  -H "Content-Type: application/json" \
  -d '{"api_key":"YOUR_KEY","lang":"bg","text":"пример","type":"slug","delimiter":"-"}'
Route::post('/transliterate', function () {
    $data = Http::post('https://api.yeb.to/v1/transliterator', [
        'api_key'   => config('services.transliterator.key'),
        'lang'      => 'bg',
        'text'      => 'пример',
        'type'      => 'slug',
        'delimiter' => '-',
    ]);
    return $data->json();
});
$r = Http::post('https://api.yeb.to/v1/transliterator', [
    'api_key'=>'YOUR_KEY','lang'=>'bg','text'=>'пример',
    'type'=>'slug','delimiter'=>'-'
]);
echo $r->json();
fetch('https://api.yeb.to/v1/transliterator', {
  method:'POST',
  headers:{'Content-Type':'application/json'},
  body:JSON.stringify({api_key:'YOUR_KEY',lang:'bg',text:'пример',type:'slug',delimiter:'-'})
}).then(r=>r.json()).then(console.log);
import requests, json
payload = {"api_key":"YOUR_KEY","lang":"bg","text":"пример","type":"slug","delimiter":"-"}
r = requests.post('https://api.yeb.to/v1/transliterator', headers={'Content-Type':'application/json'},
                  data=json.dumps(payload))
print(r.json())

Response Example

{
  "result":"primer","original":"пример","lang":"bg",
  "type":"slug","delimiter":"-","response_code":200,"response_time_ms":37
}
{
  "error":"Invalid API key","code":401,
  "response_code":401,"response_time_ms":12
}

Antwortcodes

CodeBeschreibung
200 SuccessAnfrage erfolgreich verarbeitet.
400 Bad RequestEingabevalidierung fehlgeschlagen.
401 UnauthorizedFehlender / falscher API-Schlüssel.
403 ForbiddenSchlüssel inaktiv oder nicht erlaubt.
429 Rate LimitZu viele Anfragen.
500 Server ErrorUnerwarteter Fehler.

transliterate

transliterator 0.0090 credits

Parameters

API Key
query · string · required
Language
query · string
Text
query · string · required
Output type
query · string
Delimiter
query · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Transliterator API — Practical Guide

A hands-on guide to Transliterator API: what it does, when to use each mode, the parameters that actually matter, and how to read responses for SEO slugs, filenames, app identifiers, and more.

#What Transliterator solves

Send a text in any supported script (e.g., Cyrillic, Greek) and get a clean Latin version and/or a specific formatting: slug, snake_case, camelCase, Capital Case, UPPER, or lower. Perfect for SEO URLs, file/ID normalization, search indexing, and consistent UI labels.

#Endpoint & when to use it

#POST https://api.yeb.to/v1/transliterator

  • Best for: Turning any input into a safe, predictable string for URLs, filenames, database keys, and user-facing titles.
  • How it works: We transliterate to Latin and then apply the chosen type transform (slug/snake/camel/etc.).
  • Idempotent: Same input parameters → same output; safe to cache.

#Quick start

# Plain transliteration (auto-detect language)
curl -X POST "https://api.yeb.to/v1/transliterator" \
  -H "Content-Type: application/json" \
  -d '{ "api_key": "YOUR_KEY", "text": "пример" }'
# SEO slug with custom delimiter
curl -X POST "https://api.yeb.to/v1/transliterator" \
  -H "Content-Type: application/json" \
  -d '{ "api_key": "YOUR_KEY", "lang": "ru", "text": "тест транслитерация", "type": "slug", "delimiter": "_" }'

#Parameters that actually matter

ParamRequiredWhat to pass in practiceWhy it matters
api_key Yes Send from server/edge. Don’t expose raw keys in client JS. Auth & rate limiting.
text Yes Up to 255 chars; emojis and unsupported symbols are stripped. Primary content to process.
lang No ISO code of input script (e.g., bg, ru, el). If omitted, we auto-detect. Improves accuracy for ambiguous inputs.
type No plain | slug | snake | camel | capital | upper | lower Choose the output format you need.
delimiter No Use with slug/snake to set the separator (default - for slug, _ for snake). Brand-consistent URLs and identifiers.

#Choosing the right type

TypeUse it forNotes
plainReadable Latin outputNo case/spacing changes; punctuation trimmed.
slugSEO URLsLowercase, spaces → delimiter, trims duplicates: пример тестprimer-test.
snakeDatabase keys, filenamesLowercase + _ (or custom delimiter).
camelCode identifiersprimerTest style.
capitalUI labelsPrimer Test title case.
upperSorting / normalizationAll caps.
lowerCase-insensitive searchAll lowercase.

#Reading & acting on responses

{
  "result": "primer",
  "original": "пример",
  "lang": "bg",
  "type": "slug",
  "delimiter": "-",
  "response_code": 200,
  "response_time_ms": 37
}
  • result — the processed string; use this directly in URLs/keys/UI.
  • original — what you sent (after trimming); handy for logs and idempotency checks.
  • lang — detected or provided language; helps debug unexpected mappings.
  • type, delimiter — echo of your chosen transform; store alongside to rebuild exactly.

#Typical errors & how to fix

{ "error": "Missing \"text\" parameter", "code": 422 }
{ "error": "Unsupported type: foo", "code": 422 }
  • 422 missing/invalid: Provide text; ensure type ∈ allowed list.
  • 401 invalid key: Rotate your key; send from server/edge only.
  • 413 too long: Keep text ≤ 255 chars; pre-trim user input.

#Troubleshooting & field notes

  1. Unexpected characters: Emojis/symbols are removed; if you need them, store the original separately.
  2. Spaces & dashes: For slug/snake we collapse repeated separators (---).
  3. Custom brand separators: Use delimiter to enforce _, ., or even no delimiter.
  4. Language ambiguity: Specify lang when inputs can be mixed (e.g., Serbian Cyrillic vs. Russian).
  5. Batching: For bulk imports, keep requests ≤ 100 rps and reuse connections; cache deterministic results.

#API Changelog

2025-10-20
Added capital output type and improved auto-detection for mixed scripts. Normalized duplicate separators in slug/snake.
2025-10-12
Custom delimiter now supported for both slug and snake. Minor Cyrillic → Latin mapping refinements (BG/RU).
2025-10-01
Public v1 release with plain, slug, snake, camel, upper, lower. Max input length set to 255 chars.

Häufig gestellte Fragen

Wir unterstutzen vollstandige Transliteration fur uber 25 Schriften einschliesslich Arabisch, Kyrillisch, Griechisch, Hebraisch und CJK. Benotigen Sie eine weitere Sprache? Kontaktieren Sie uns.

Wir verwenden ISO- oder de-facto-Webstandards. Die Genauigkeit betragt typischerweise uber 95% fur gangigen Wortschatz.

Ja. Jede Anfrage, auch solche mit Fehlern, verbraucht Credits. Ihre Credits sind an die Anzahl der Anfragen gebunden, unabhängig von Erfolg oder Misserfolg. Wenn der Fehler eindeutig auf ein Plattformproblem unsererseits zurückzuführen ist, stellen wir die betroffenen Credits wieder her (keine Barerstattung).

Kontaktieren Sie uns unter [email protected]. Wir nehmen Feedback ernst—wenn Ihr Fehlerbericht oder Ihre Funktionsanfrage sinnvoll ist, können wir die API schnell korrigieren oder verbessern und Ihnen 50 kostenlose Credits als Dankeschön gewähren.

Es hängt von der API und manchmal sogar vom Endpoint ab. Einige Endpoints nutzen Daten aus externen Quellen, die strengere Limits haben können. Wir setzen auch Limits durch, um Missbrauch zu verhindern und unsere Plattform stabil zu halten. Prüfen Sie die Dokumentation für das spezifische Limit jedes Endpoints.

Wir arbeiten mit einem Creditsystem. Credits sind vorausbezahlte, nicht erstattungsfähige Einheiten, die Sie für API-Aufrufe und Tools ausgeben. Credits werden nach dem FIFO-Prinzip (älteste zuerst) verbraucht und sind 12 Monate ab Kaufdatum gültig. Das Dashboard zeigt jedes Kaufdatum und dessen Ablauf an.

Ja. Alle gekauften Credits (einschließlich Teilguthaben) sind 12 Monate ab Kauf gültig. Ungenutzte Credits verfallen automatisch und werden am Ende der Gültigkeitsdauer dauerhaft gelöscht. Verfallene Credits können nicht wiederhergestellt oder in Bargeld oder anderen Wert umgewandelt werden. Übergangsregel: Vor dem 22. Sep. 2025 gekaufte Credits gelten als am 22. Sep. 2025 gekauft und verfallen am 22. Sep. 2026 (sofern beim Kauf kein früherer Ablauf angegeben wurde).

Ja—innerhalb ihrer Gültigkeitsdauer. Ungenutzte Credits bleiben verfügbar und werden von Monat zu Monat übertragen, bis sie 12 Monate nach dem Kauf verfallen.

Credits sind nicht erstattungsfähig. Kaufen Sie nur, was Sie brauchen—Sie können jederzeit nachladen. Wenn ein plattformseitiger Fehler eine fehlgeschlagene Abbuchung verursacht, können wir die betroffenen Credits nach Prüfung wiederherstellen. Keine Barerstattung.

Preise werden in Credits angegeben, nicht in Dollar. Jeder Endpoint hat seine eigenen Kosten—siehe das Abzeichen „Credits / Anfrage" oben. Sie wissen immer genau, was Sie ausgeben.
← Zurück zu den APIs