Transliterator API — Konverzia písma na latinku | YEB

Okamžite konvertujte 27+ písem na latinku vrátane arabčiny, cyrilice, gréčtiny, hebrejčiny a CJK. Ideálne pre SEO slugy, normalizované vyhľadávacie indexy a viacjazyčné dátové potrubia.

Čo môžete robiť?
Normalizácia vyhľadávania

Indexujte a prehľadávajte obsah s viacerými písmami jednotne.

SEO slugy

Generujte čisté viacjazyčné URL okamžite.

Dátové potrubia

Zásobujte katalógy alebo NLP pracovné postupy konzistentným textom.

Vyskúšať naživo
99.9 % Dostupnosť
12.5ms Odpoveď
20 req/s
0.009 Kredity / požiadavka

Transliterator API


POST https://api.yeb.to/v1/transliterator
Parameter Typ Povinný Popis
api_key string áno Auth key
lang string voliteľný ISO code of input script
text string áno Input text (max. 255 chars)
type string voliteľný plain | slug | snake | camel | capital | upper | lower
delimiter string voliteľný Custom delimiter for slug/snake

Príklady požiadaviek

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

Integrácie API

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
}

Kódy odpovedí

KódPopis
200 SuccessPožiadavka spracovaná OK.
400 Bad RequestValidácia vstupu zlyhala.
401 UnauthorizedChýbajúci / nesprávny API kľúč.
403 ForbiddenKľúč neaktívny alebo nepovolený.
429 Rate LimitPríliš veľa požiadaviek.
500 Server ErrorNeočakávaná chyba.

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 — Konverzia písma na latinku | YEB — Practical Guide

A hands-on guide to Transliterator API — Konverzia písma na latinku | YEB: 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.

Často kladené otázky

Podporujeme úplnú transliteráciu pre 25+ písem vrátane arabského, cyriliky, gréčtiny, hebrejčiny a CJK. Potrebujete iný jazyk? Kontaktujte nás.

Používame štandardy ISO alebo de facto webové štandardy. Presnosť je zvyčajne 95%+ pre bežnú slovnú zásobu.

Áno. Každá požiadavka, aj tá s chybou, spotrebúva kredity. Vaše kredity sú viazané na počet požiadaviek, bez ohľadu na úspech alebo neúspech. Ak je chyba jasne spôsobená problémom platformy na našej strane, obnovíme dotknuté kredity (bez peňažných refundácií).

Kontaktujte nás na [email protected]. Spätnú väzbu berieme vážne—ak je váš report chyby alebo žiadosť o funkciu zmysluplná, môžeme API rýchlo opraviť alebo vylepšiť a poskytnúť vám 50 bezplatných kreditov ako poďakovanie.

Závisí od API a niekedy aj od endpointu. Niektoré endpointy používajú dáta z externých zdrojov, ktoré môžu mať prísnejšie limity. Limity tiež vynucujeme, aby sme zabránili zneužitiu a udržali stabilitu platformy. Konkrétny limit pre každý endpoint nájdete v dokumentácii.

Fungujeme na kreditovom systéme. Kredity sú predplatené, nevratné jednotky, ktoré míňate na API volania a nástroje. Kredity sa spotrebúvajú FIFO (najstaršie prvé) a sú platné 12 mesiacov od dátumu nákupu. Dashboard zobrazuje dátum každého nákupu a jeho expirácie.

Áno. Všetky zakúpené kredity (vrátane zlomkových zostatkov) sú platné 12 mesiacov od nákupu. Nevyužité kredity automaticky expirujú a sú trvalo vymazané na konci obdobia platnosti. Expirované kredity nemožno obnoviť ani previesť na hotovosť alebo inú hodnotu. Prechodné pravidlo: kredity zakúpené pred 22. 9. 2025 sa považujú za zakúpené 22. 9. 2025 a expirujú 22. 9. 2026 (pokiaľ nebola pri nákupe uvedená skoršia expirácia).

Áno—v rámci obdobia platnosti. Nevyužité kredity zostávajú dostupné a prevádzajú sa z mesiaca na mesiac, kým neexpirujú 12 mesiacov po nákupe.

Kredity sú nevratné. Kupujte len to, čo potrebujete—vždy si môžete dobiť neskôr. Ak chyba na strane platformy spôsobí neúspešné strhnutie, môžeme po prešetrení obnoviť dotknuté kredity. Žiadne peňažné refundácie.

Ceny sú stanovené v kreditoch, nie v dolároch. Každý endpoint má svoju vlastnú cenu—pozrite si odznačok „Kredity / požiadavka" vyššie. Vždy presne viete, koľko míňate.
← Späť na API