Transliterator API

Konvertaljon azonnal 27+ irasrendszert latinra - tokeletes SEO slugokhoz, normalizalt keresesshez es adatcsovezet ekekhez.

Mit tehetsz?
Kereses normalizalas

Indexeljen es keressen vegyes irasos tartalmat egysegesen.

SEO slugok

Generáljon tiszta tobbnyelvuu URL-eket menet kozben.

Adatcsovezetekek

Taplaljon katalogusokat vagy NLP munkafolyamatokat konzisztens szoveggel.

Élő próba
99.9 % Üzemidő
12.5ms Válasz
20 req/s
0.009 Kreditek / kérés

Transliterator API


POST https://api.yeb.to/v1/transliterator
Paraméter Típus Kötelező Leírás
api_key string igen Auth key
lang string opcionális ISO code of input script
text string igen Input text (max. 255 chars)
type string opcionális plain | slug | snake | camel | capital | upper | lower
delimiter string opcionális Custom delimiter for slug/snake

Kérés példák

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

API integrációk

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
}

Válaszkódok

KódLeírás
200 SuccessKérés sikeresen feldolgozva.
400 Bad RequestBemeneti érvényesítés sikertelen.
401 UnauthorizedHiányzó / hibás API-kulcs.
403 ForbiddenKulcs inaktív vagy nem engedélyezett.
429 Rate LimitTúl sok kérés.
500 Server ErrorVáratlan hiba.

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.

Gyakran ismételt kérdések

Teljes transliteraciot tamogatunk 25+ irasrendszerhez, beleertve az arabot, cirillt, gorogot, hebert es CJK-t. Mas nyelvre van szuksege? Lepjen kapcsolatba velunk.

ISO vagy de facto webszabvanyokat hasznalunk. A pontossag altalaban 95%+ a gyakori szokincsenel.

Igen. Minden kérés, még a hibás is, krediteket fogyaszt. A kreditjei a kérések számához kötöttek, függetlenül a sikertől vagy kudartól. Ha a hiba egyértelműen a platform oldalán lévő probléma miatt van, visszaállítjuk az érintett krediteket (készpénz-visszatérítés nincs).

Lépjen kapcsolatba velünk a [email protected] címen. Komolyan vesszük a visszajelzéseket—ha a hibajelentése vagy funkciókérése értelmes, gyorsan javíthatjuk vagy fejleszthetjük az API-t, és 50 ingyenes kreditet adunk köszönetképpen.

Az API-tól és néha az endponttól is függ. Egyes endpointok külső forrásokból származó adatokat használnak, amelyeknek szigorúbb korlátai lehetnek. Korlátokat is érvényesítünk a visszaélés megelőzése és a platform stabilitásának fenntartása érdekében. Az egyes endpointok pontos korlátját a dokumentációban találja.

Kreditrendszerrel működünk. A kreditek előre fizetett, nem visszatéríthető egységek, amelyeket API-hívásokra és eszközökre költ. A kreditek FIFO-elv szerint (a legrégebbiek először) fogynak, és a vásárlás dátumától számított 12 hónapig érvényesek. Az irányítópult minden vásárlás dátumát és lejáratát mutatja.

Igen. Az összes megvásárolt kredit (beleértve a töredék egyenlegeket) 12 hónapig érvényes a vásárlástól. A fel nem használt kreditek automatikusan lejárnak és véglegesen törlődnek az érvényességi időszak végén. A lejárt kreditek nem állíthatók vissza, és nem válthatók készpénzre vagy más értékre. Átmeneti szabály: a 2025. szept. 22. előtt vásárolt kreditek úgy kezelendők, mintha 2025. szept. 22-én vásárolták volna, és 2026. szept. 22-én járnak le (hacsak a vásárláskor nem volt korábbi lejárat megadva).

Igen—az érvényességi időszakon belül. A fel nem használt kreditek elérhetők maradnak és hónapról hónapra átvihetők, amíg 12 hónappal a vásárlás után le nem járnak.

A kreditek nem visszatéríthetők. Csak annyit vegyen, amennyire szüksége van—bármikor feltölthet később. Ha platformhiba okoz sikertelen terhelést, az érintett krediteket vizsgálat után visszaállíthatjuk. Nincs készpénz-visszatérítés.

Az árak kreditekben vannak megadva, nem dollárban. Minden endpointnak saját ára van—lásd a „Kreditek / kérés" jelvényt fentebb. Mindig pontosan tudni fogja, mennyit költ.
← Vissza az API-khoz