Transliterator API

המירו מיידית 27+ כתבים ללטינית - מושלם עבור slugs SEO, חיפוש מנורמל וצינורות נתונים.

מה אתם יכולים לעשות?
נורמליזציית חיפוש

אנדקסו וחפשו תוכן בכתבים מעורבים כיחידה אחת.

Slugs SEO

צרו כתובות URL רב-לשוניות נקיות בזמן אמת.

צינורות נתונים

הזינו קטלוגים או תהליכי NLP עם טקסט עקבי.

נסו בזמן אמת
99.9 % זמן פעילות
12.5ms תגובה
20 req/s
0.009 קרדיטים / בקשה

Transliterator API


POST https://api.yeb.to/v1/transliterator
פרמטר סוג נדרש תיאור
api_key string כן Auth key
lang string אופציונלי ISO code of input script
text string כן Input text (max. 255 chars)
type string אופציונלי plain | slug | snake | camel | capital | upper | lower
delimiter string אופציונלי Custom delimiter for slug/snake

דוגמאות בקשות

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

אינטגרציות 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
}

קודי תגובה

קודתיאור
200 Successהבקשה עובדה בהצלחה.
400 Bad Requestאימות קלט נכשל.
401 Unauthorizedמפתח API חסר או שגוי.
403 Forbiddenמפתח לא פעיל או לא מורשה.
429 Rate Limitיותר מדי בקשות.
500 Server Errorכשל בלתי צפוי.

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.

שאלות נפוצות

אנו תומכים בתעתיק מלא ל-25+ כתבים כולל ערבית, קירילית, יוונית, עברית ו-CJK. צריכים שפה נוספת? צרו קשר.

אנו משתמשים בתקני ISO או de facto web. הדיוק הוא בדרך כלל 95%+ לאוצר מילים נפוץ.

כן. כל בקשה, גם כאלה שמובילות לשגיאות, צורכת קרדיטים. הקרדיטים שלך קשורים למספר הבקשות, ללא קשר להצלחה או כישלון. אם השגיאה נובעת בבירור מבעיה בפלטפורמה מצידנו, נשחזר את הקרדיטים המושפעים (ללא החזר כספי).

צרו איתנו קשר ב-[email protected]. אנחנו מתייחסים למשוב ברצינות—אם דוח הבאג או בקשת הפיצ'ר שלכם משמעותיים, נוכל לתקן או לשפר את ה-API במהירות ולהעניק לכם 50 קרדיטים חינם כתודה.

זה תלוי ב-API ולפעמים אפילו ב-endpoint. חלק מה-endpoints משתמשים בנתונים ממקורות חיצוניים, שעשויים להיות בעלי מגבלות מחמירות יותר. אנחנו גם אוכפים מגבלות כדי למנוע שימוש לרעה ולשמור על יציבות הפלטפורמה. בדקו את התיעוד למגבלה הספציפית של כל endpoint.

אנחנו פועלים על מערכת קרדיטים. קרדיטים הם יחידות ששולמו מראש ואינן ניתנות להחזר, שאתם מוציאים על קריאות API וכלים. קרדיטים נצרכים בשיטת FIFO (הישנים ביותר קודם) ותקפים ל-12 חודשים מתאריך הרכישה. לוח הבקרה מציג כל תאריך רכישה ותפוגתו.

כן. כל הקרדיטים שנרכשו (כולל יתרות חלקיות) תקפים ל-12 חודשים מהרכישה. קרדיטים שלא נוצלו פגים אוטומטית ונמחקים לצמיתות בסוף תקופת התוקף. קרדיטים שפגו לא ניתנים לשחזור או להמרה למזומן או ערך אחר. כלל מעבר: קרדיטים שנרכשו לפני 22 בספט׳ 2025 מטופלים כאילו נרכשו ב-22 בספט׳ 2025 ופגים ב-22 בספט׳ 2026 (אלא אם צוין תאריך תפוגה מוקדם יותר ברכישה).

כן—בתוך חלון התוקף שלהם. קרדיטים שלא נוצלו נשארים זמינים ומועברים מחודש לחודש עד שהם פגים 12 חודשים לאחר הרכישה.

קרדיטים הם לא ניתנים להחזר. קנו רק מה שאתם צריכים—תמיד תוכלו לטעון שוב מאוחר יותר. אם שגיאת פלטפורמה גורמת לחיוב כושל, אנו עשויים לשחזר את הקרדיטים המושפעים לאחר בדיקה. ללא החזר כספי.

המחירים נקבעים בקרדיטים, לא בדולרים. לכל endpoint יש עלות משלו—ראו את תג "קרדיטים / בקשה" למעלה. תמיד תדעו בדיוק כמה אתם מוציאים.
← חזרה ל-APIs