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.5.0.tar.gz (32.0 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.5.0-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ru_api_free-1.5.0.tar.gz
  • Upload date:
  • Size: 32.0 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.5.0.tar.gz
Algorithm Hash digest
SHA256 83bf69573c2340f26326708169d00efd6f0930b22b1ec298848ccbaf809cc11f
MD5 4950bead1e9319eb238cd609cefa131f
BLAKE2b-256 15ee438516bb97b5bf9f7aaa755fcd6454c2c1c4cca900a1bd5a1b0e6638c2c3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ru_api_free-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 31.5 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 089806e363b95c076ae026900fe8c74d59656b166cf1795ede1c981530c5186c
MD5 703d47a2bf154eee8f902bb5c0b1c320
BLAKE2b-256 91da4016600f75a2c28f31efb7e24e773adabc9001cc2803f6a797a642588819

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