Retour au traducteur

API Documentation

Universal Translator Public API v1.0

Rate Limit

5 requêtes / minute

📝

Max caractères

500 caractères / requête

🌍

Langues

200+ langues supportées

Authentication

Aucune authentification requise ! L'API est publique et gratuite.

Rate limiting basé sur l'adresse IP pour éviter les abus.

Endpoint

POST/api/public/translate

Headers

Content-Type: application/json

Request Body

{
  "text": "Hello, how are you?",
  "targetLang": "Japonais"
}

Paramètres

text*string

Texte à traduire (max 500 caractères)

targetLang*string

Langue de destination (ex: "Japonais", "Espagnol", "Chinois")

Response

✅ Success (200)

{
  "success": true,
  "data": {
    "originalText": "Hello, how are you?",
    "targetLanguage": "Japonais",
    "translation": "こんにちは、お元気ですか?",
    "romanization": "Konnichiwa, ogenki desu ka?",
    "charactersUsed": 19
  }
}

❌ Rate Limit (429)

{
  "error": "Rate limit exceeded",
  "message": "Too many requests. Please try again in 45 seconds.",
  "retryAfter": 45
}

⚠️ Invalid Language (400)

{
  "error": "Invalid language",
  "message": "ERROR: Langue non reconnue",
  "success": false
}

Response Headers

X-RateLimit-Limit: 5
X-RateLimit-Remaining: 4
X-RateLimit-Reset: 1234567890

Exemples de code

cURL

curl -X POST https://translate.nymzapp.fr/api/public/translate \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Hello world",
    "targetLang": "Japonais"
  }'

JavaScript / TypeScript

const response = await fetch('https://translate.nymzapp.fr/api/public/translate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    text: 'Hello world',
    targetLang: 'Japonais'
  })
});

const data = await response.json();
console.log(data.data.translation);

Python

import requests

response = requests.post(
    'https://translate.nymzapp.fr/api/public/translate',
    json={
        'text': 'Hello world',
        'targetLang': 'Japonais'
    }
)

data = response.json()
print(data['data']['translation'])

Codes d'erreur

200 - Success
Traduction réussie
400 - Bad Request
Paramètres manquants, texte trop long ou langue invalide
429 - Too Many Requests
Limite de 5 requêtes par minute dépassée
500 - Internal Server Error
Erreur serveur interne

Bonnes pratiques

Gérez le rate limiting

Vérifiez les headers X-RateLimit-* et implémentez un retry avec backoff

Validez les entrées

Vérifiez la longueur du texte avant d'envoyer la requête

Gérez les erreurs

Implémentez une gestion appropriée des codes d'erreur

Cache les résultats

Évitez de traduire le même texte plusieurs fois