Skip to main content

Free API for conjugating Russian verbs in all tenses (present, past, future)

Project description

ru-api-free

Free REST API for conjugating Russian verbs in all tenses (present, past, future). Translate words from any language to Russian — if it's a verb, you get full conjugation.

Live API: https://ru-api-free.onrender.com


Quick Start (no installation)

Just use the hosted API directly:

curl "https://ru-api-free.onrender.com/translate?text=speak"
// Use on your website
const res = await fetch("https://ru-api-free.onrender.com/translate?text=speak");
const data = await res.json();
console.log(data.verb, data.tenses);
import requests

r = requests.get("https://ru-api-free.onrender.com/translate", params={"text": "speak"})
print(r.json()["tenses"]["present"]["я"])  # "говорю"

API Endpoints

1. Translate + Conjugate

GET /translate?text={word}&source=auto&target=ru
Param Default Description
text Word to translate (required)
source auto Source language code
target ru Target language code

Examples:

# English verb -> Russian + conjugation
curl "https://ru-api-free.onrender.com/translate?text=speak"

# German verb -> Russian + conjugation
curl "https://ru-api-free.onrender.com/translate?text=sprechen&source=de"

# French verb -> Russian + conjugation
curl "https://ru-api-free.onrender.com/translate?text=lire&source=fr"

# Noun -> just translation, no conjugation
curl "https://ru-api-free.onrender.com/translate?text=house"

# Russian -> English (translation only)
curl "https://ru-api-free.onrender.com/translate?text=читать&source=ru&target=en"

2. Direct Conjugation (Russian verb only)

GET /conjugate?verb={verb}
curl "https://ru-api-free.onrender.com/conjugate?verb=читать"
curl "https://ru-api-free.onrender.com/conjugate?verb=говорить"

3. List all verbs

GET /verbs

4. Search verbs

GET /search?q={query}
curl "https://ru-api-free.onrender.com/search?q=чит"

5. Pluralise (nouns)

Translate any word to Russian and get its plural form. Handles 150+ irregular plurals.

GET /pluralise?text={word}&source=auto
Param Default Description
text Word to pluralise (required)
source auto Source language code
curl "https://ru-api-free.onrender.com/pluralise?text=house"
curl "https://ru-api-free.onrender.com/pluralise?text=Haus&source=de"
curl "https://ru-api-free.onrender.com/pluralise?text=дом"
const res = await fetch("https://ru-api-free.onrender.com/pluralise?text=book");
const data = await res.json();
console.log(data.singular, "→", data.plural);  // "книга → книги"

Response:

{
  "singular": "дом",
  "plural": "дома",
  "gender": "masculine",
  "original": "house",
  "translated": "дом"
}

6. Decline (noun cases)

Translate any word to Russian and get all 6 noun cases in singular and plural (nominative, genitive, dative, accusative, instrumental, prepositional).

GET /decline?text={word}&source=auto
Param Default Description
text Word to decline (required)
source auto Source language code
curl "https://ru-api-free.onrender.com/decline?text=house"
curl "https://ru-api-free.onrender.com/decline?text=дом"
const res = await fetch("https://ru-api-free.onrender.com/decline?text=book");
const data = await res.json();
console.log(data.singular.genitive);  // "книги"

Response:

{
  "word": "дом",
  "gender": "masculine",
  "declension": "first",
  "singular": {
    "nominative": "дом",
    "genitive": "дома",
    "dative": "дому",
    "accusative": "дом",
    "instrumental": "домом",
    "prepositional": "доме"
  },
  "plural": {
    "nominative": "дома",
    "genitive": "домов",
    "dative": "домам",
    "accusative": "дома",
    "instrumental": "домами",
    "prepositional": "домах"
  }
}

7. Conjugation exceptions

GET /exceptions              # All exceptions
GET /exceptions/{verb}       # Exceptions for one verb

Response Format

{
  "verb": "говорить",
  "aspect": "imperfective",
  "conjugation_type": 2,
  "reflexive": false,
  "tenses": {
    "present": {
      "я": "говорю",
      "ты": "говоришь",
      "он/она/оно": "говорит",
      "мы": "говорим",
      "вы": "говорите",
      "они": "говорят"
    },
    "past": {
      "мужской": "говорил",
      "женский": "говорила",
      "средний": "говорило",
      "множественное": "говорили"
    },
    "future": {
      "я": "буду говорить",
      "ты": "будешь говорить",
      "он/она/оно": "будет говорить",
      "мы": "будем говорить",
      "вы": "будете говорить",
      "они": "будут говорить"
    }
  }
}

Language codes

auto, en, ru, de, fr, es, it, pt, nl, pl, uk, be, bg, cs, sk, sr, hr, tr, ar, zh, ja, ko


Self-Hosting

pip install ru-api-free
ru-api-free
# or: uvicorn ru_api_free.main:app --host 0.0.0.0 --port 8000

CORS is enabled for all origins — use it directly from any website.

Python Library (no server needed)

from ru_api_free import conjugate, translate, pluralise, decline

result, status = conjugate("читать")
print(result["tenses"]["present"]["я"])  # "читаю"

russian = translate("speak", source="auto", target="ru")
print(russian)  # "говорить"

info = pluralise("дом")
print(info["singular"], "→", info["plural"])  # "дом → дома"

cases = decline("дом")
print(cases["singular"]["genitive"])  # "дома"

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ru_api_free-1.4.0.tar.gz (30.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ru_api_free-1.4.0-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file ru_api_free-1.4.0.tar.gz.

File metadata

  • Download URL: ru_api_free-1.4.0.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for ru_api_free-1.4.0.tar.gz
Algorithm Hash digest
SHA256 3b7eb8c193468d74e77d507b5c5841985127fc7bfe8ab3e62cd279e66dd32ef5
MD5 f55d5ab1f5b147b1ee68ff73f259e118
BLAKE2b-256 711bbd337de91db5fa746166702b7495fa46232ae6147fe138efb6e9a63e0432

See more details on using hashes here.

File details

Details for the file ru_api_free-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: ru_api_free-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for ru_api_free-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 04cc5956491310a49d9167744babc7f0802c2dd29667e72f3d1e37993c62516f
MD5 fc5ff3bf84deda0351f8b8f7dcaf46da
BLAKE2b-256 88c28296f488507210d9d3f96d8dead9e1b63d772d4edac85359f3d0de7df6c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page