API pro transliteraci

Okamžitě převeďte 27+ písem do latinky – ideální pro SEO slugy, normalizované vyhledávání a datové pipeline.

Co můžete dělat?
Normalizace vyhledávání

Indexujte a vyhledávejte vícejazyčný obsah jako celek.

SEO slugy

Generujte čisté vícejazyčné URL za běhu.

Datové pipeline

Zásobujte katalogy nebo NLP workflow konzistentním textem.

Vyzkoušet živě
99.9 % Dostupnost
12.5ms Odpověď
20 req/s
0.009 Kredity / požadavek

Transliterator API


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

Příklady požadavků

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

Integrace 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 odpovědí

KódPopis
200 SuccessPožadavek zpracován OK.
400 Bad RequestValidace vstupu selhala.
401 UnauthorizedChybějící / nesprávný API klíč.
403 ForbiddenKlíč neaktivní nebo nepovolený.
429 Rate LimitPříliš mnoho požadavků.
500 Server ErrorNeočeká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

                

API pro transliteraci — Practical Guide

A hands-on guide to API pro transliteraci: 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 kompletní transliteraci pro 25+ písem včetně arabského, cyrilice, řeckého, hebrejského a CJK. Potřebujete další jazyk? Kontaktujte nás.

Používáme standardy ISO nebo de facto webové standardy. Přesnost je typicky 95 %+ pro běžnou slovní zásobu.

Ano. Každý požadavek, i ten s chybou, spotřebovává kredity. Vaše kredity jsou vázány na počet požadavků, bez ohledu na úspěch nebo neúspěch. Pokud je chyba jasně způsobena problémem platformy na naší straně, obnovíme dotčené kredity (bez peněžních refundací).

Kontaktujte nás na [email protected]. Zpětnou vazbu bereme vážně—pokud je váš report chyby nebo žádost o funkci smysluplná, můžeme API rychle opravit nebo vylepšit a poskytnout vám 50 bezplatných kreditů jako poděkování.

Závisí na API a někdy i na endpointu. Některé endpointy používají data z externích zdrojů, které mohou mít přísnější limity. Limity také vynucujeme, abychom zabránili zneužití a udrželi stabilitu platformy. Konkrétní limit pro každý endpoint naleznete v dokumentaci.

Fungujeme na kreditovém systému. Kredity jsou předplacené, nevratné jednotky, které utrácíte za API volání a nástroje. Kredity se spotřebovávají FIFO (nejstarší první) a jsou platné 12 měsíců od data nákupu. Dashboard zobrazuje datum každého nákupu a jeho expirace.

Ano. Všechny zakoupené kredity (včetně zlomkových zůstatků) jsou platné 12 měsíců od nákupu. Nevyužité kredity automaticky expirují a jsou trvale smazány na konci období platnosti. Expirované kredity nelze obnovit ani převést na hotovost nebo jinou hodnotu. Přechodné pravidlo: kredity zakoupené před 22. 9. 2025 se považují za zakoupené 22. 9. 2025 a expirují 22. 9. 2026 (pokud nebyla při nákupu uvedena dřívější expirace).

Ano—v rámci období platnosti. Nevyužité kredity zůstávají dostupné a převádějí se z měsíce na měsíc, dokud neexpirují 12 měsíců po nákupu.

Kredity jsou nevratné. Kupujte pouze to, co potřebujete—vždy si můžete dobit později. Pokud chyba na straně platformy způsobí neúspěšné stržení, můžeme po prošetření obnovit dotčené kredity. Žádné peněžní refundace.

Ceny jsou stanoveny v kreditech, ne v dolarech. Každý endpoint má svou vlastní cenu—viz odznak „Kredity / požadavek" výše. Vždy přesně víte, kolik utrácíte.
← Zpět na API