Transliterator API

Μετατρέψτε άμεσα 27+ γραφές σε Λατινικά - ιδανικό για SEO slugs, κανονικοποιημένη αναζήτηση και data pipelines.

Τι μπορείτε να κάνετε;
Κανονικοποίηση αναζήτησης

Ευρετηρίαση και αναζήτηση περιεχομένου μικτών γραφών ως ένα.

SEO slugs

Δημιουργήστε καθαρά πολύγλωσσα URLs αμέσως.

Data pipelines

Τροφοδοτήστε καταλόγους ή NLP workflows με συνεπές κείμενο.

Δοκιμή ζωντανά
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 έχει το δικό του κόστος—δείτε το σήμα «Πιστωτικές μονάδες / αίτημα» παραπάνω. Θα ξέρετε πάντα ακριβώς τι ξοδεύετε.
← Πίσω στα API