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. 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

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

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

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

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.3.0.tar.gz (24.6 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.3.0-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ru_api_free-1.3.0.tar.gz
  • Upload date:
  • Size: 24.6 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.3.0.tar.gz
Algorithm Hash digest
SHA256 e1c85c60f5b2baa1544830fddd2b0058186d7e19d25cd1af5aaeb16179a98db5
MD5 bf1711986f2b75b24eb7869f8490c682
BLAKE2b-256 3c0d6ad6d83f82a8241190448fd17348263999e7af26bc88d2ef7a25188b3d99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ru_api_free-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.8 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e036e020263f0c0403b852e661c13bcd91e42b4cfb196879aaaa80086792b918
MD5 2e9f297fe467e168646791938741850b
BLAKE2b-256 5e9b2af82d36f15d86bbe7ce9395407aea6b6c6d26ba1eb44e45f587233df4d5

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