Multitran APImultitran.com ↗
Access Multitran's multilingual dictionary via API. Translate words, browse subject area terminology, and retrieve language pairs across 5 endpoints.
What is the Multitran API?
The Multitran API exposes 5 endpoints for querying one of the largest multilingual translation dictionaries on the web. Use translate_term to look up a word or phrase and receive translations grouped by subject area, or use get_dictionary_index to retrieve all specialized subject areas available for a given language pair, identified by numeric language IDs.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/99ae0ae9-6955-45db-9267-9c189ce0b016/get_available_languages' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace multitran-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Multitran Dictionary SDK — browse languages, subjects, terms, and translate."""
from parse_apis.multitran_dictionary_api import Multitran, Language, Subject, Term, Translation, TranslationGroup, Glossary, NotFoundError
client = Multitran()
# List all supported languages (stable set, no pagination needed)
for lang in client.languages.list(limit=5):
print(lang.id, lang.name)
# List subject areas for English -> Ukrainian
for subject in client.subjects.list(l1="1", l2="33", limit=5):
print(subject.subject_id, subject.name, subject.entry_count)
# Browse terms in a specific subject using constructible Subject
abbreviations = client.subject(subject_id="120")
for term in abbreviations.terms(l1="1", l2="33", limit=5):
print(term.english_term, term.ukrainian_translations)
# Translate a word — results grouped by subject area
try:
translation = client.translations.get(term="network")
except NotFoundError as exc:
print(f"Term not found: {exc}")
else:
print(translation.term, translation.l1, translation.l2)
for group in translation.results:
print(group.subject, group.translations)
# Batch glossary — multiple subjects in one call
for glossary in client.glossaries.list(l1="1", l2="33", subject_limit="2", limit=3):
print(glossary.subject_name, glossary.subject_id, len(glossary.terms))
print("exercised: languages.list / subjects.list / subject.terms / translations.get / glossaries.list")
Retrieve all languages supported by the Multitran dictionary along with their numeric IDs. These IDs are used as l1 (source) and l2 (target) parameters in other endpoints. The list is stable and does not paginate.
No input parameters required.
{
"type": "object",
"fields": {
"languages": "array of objects each with id (string numeric identifier) and name (string human-readable language name)"
},
"sample": {
"data": {
"languages": [
{
"id": "10",
"name": "Arabic"
},
{
"id": "1",
"name": "English"
},
{
"id": "3",
"name": "German"
},
{
"id": "2",
"name": "Russian"
},
{
"id": "33",
"name": "Ukrainian"
}
]
},
"status": "success"
}
}About the Multitran API
What the API Covers
The Multitran API gives programmatic access to a multilingual dictionary that spans dozens of languages and hundreds of specialized subject areas. All language references use numeric IDs — call get_available_languages to retrieve the full list of supported languages with their corresponding integer IDs. These IDs are used as l1 (source) and l2 (target) parameters across every other endpoint.
Translating Terms and Browsing Subjects
translate_term accepts a term string plus optional l1/l2 language IDs and returns a results array where each object contains a subject abbreviation (the subject area context) and a translations array of strings. This makes it straightforward to see how a term is used differently across, say, legal, medical, or technical domains. get_dictionary_index lists every subject area available for a language pair, returning subject_id, name, entry_count, and a url per subject.
Browsing Subject Term Lists
get_subject_terms fetches the actual vocabulary for a specific subject area identified by the sc parameter (a subject ID from get_dictionary_index). Responses include a terms array of objects with english_term and ukrainian_translations, plus a pagination object containing an alphabet array for letter-based filtering and a next_page URL for cursor-based pagination. The letter parameter filters results to terms starting with a specific character, and the s parameter resumes from a cursor position.
Convenience Endpoint
get_all_subject_terms_full combines index retrieval and term fetching into a single call. It returns a dictionary keyed by subject name, each mapped to an array of term objects. The subject_limit parameter (a numeric string) caps how many subjects are processed, which is useful for sampling a language pair's content without paginating through every subject individually.
The Multitran API is a managed, monitored endpoint for multitran.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when multitran.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official multitran.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a domain-specific glossary by pulling all terms under a subject area with
get_subject_termsand filtering by starting letter. - Populate a translation memory tool by iterating through
translate_termresults grouped by subject context. - Audit terminology coverage for a language pair by reading
entry_countvalues fromget_dictionary_indexsubjects. - Generate language-learning flashcard decks from
ukrainian_translationsarrays returned by subject term endpoints. - Index Multitran's subject taxonomy for a localization CMS using the
subjectsarray fromget_dictionary_index. - Enumerate all supported language IDs programmatically with
get_available_languagesbefore constructing language-pair queries. - Sample cross-subject vocabulary for a language pair in one call using
get_all_subject_terms_fullwith a boundedsubject_limit.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Multitran have an official public developer API?+
What does `translate_term` return beyond just translated strings?+
translate_term returns the source and target language IDs (l1, l2), the original term, and a results array. Each element in results includes a subject abbreviation — indicating the domain context — and a translations array of strings. This lets you distinguish, for example, a legal translation from a technical one for the same word.How does pagination work in `get_subject_terms`?+
pagination object with two fields: alphabet, an array of letter/URL pairs for jumping to terms starting with a specific character, and next_page, a URL string (or null when you've reached the end). Pass the cursor value from next_page as the s parameter in a subsequent request to retrieve the following page of terms.Does the API return audio pronunciations or example sentences?+
Are all language pairs equally supported, or are some combinations sparse?+
get_dictionary_index returns an entry_count field per subject, which may be null or zero for sparsely covered combinations. Not all subject areas available for a high-coverage pair like English–German will appear for less common pairs. Checking entry_count before iterating into get_subject_terms is advisable.