Wiktionary REST API
Free Wiktionary REST API with no key: word definitions across hundreds of languages with parts of speech, examples and etymology. CORS enabled. Tested.
Endpoint tested and returned HTTP 200 on 2026-08-20
What is the Wiktionary REST API?
The Wiktionary REST API is a free, key-free API returning dictionary definitions from Wiktionary, organised by language and part of speech, covering hundreds of languages far beyond English.
Wiktionary's multilingual coverage is what distinguishes it from dedicated dictionary APIs. A single lookup returns definitions grouped by every language in which that spelling exists, which is genuinely useful for language learning tools.
Definitions come back as HTML rather than plain text, because Wiktionary entries contain formatting, links and inline templates. You must sanitise and usually strip that markup before display — treating it as plain text produces visible tags.
Quick facts
- Base URL
https://en.wiktionary.org/api/rest_v1- Authentication
- No API key. A descriptive User-Agent is requested by Wikimedia policy.
- Rate limit
- Roughly 200 requests per second across the REST API, but individual clients should cache.
- Pricing
- Free. Content is CC BY-SA, so attribution is required.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Wiktionary REST API
Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.
1. Look up a word definition
GET https://en.wiktionary.org/api/rest_v1/page/definition/hello
curl 'https://en.wiktionary.org/api/rest_v1/page/definition/hello'const res = await fetch("https://en.wiktionary.org/api/rest_v1/page/definition/hello");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://en.wiktionary.org/api/rest_v1/page/definition/hello", timeout=20)
res.raise_for_status()
print(res.json()){
"en": [
{
"partOfSpeech": "Interjection",
"language": "English",
"definitions": [
{
"definition": "<span class=\"use-with-mention\" about=\"#mwt70\" typeof=\"mw:Transclusion\">A <a rel=\"mw:WikiLink\" href=\"/wiki/greeting#English\" title=\"greeting\">greeting</a> (<a rel=\"mw:WikiLink\" href=\"/wiki/salutation#English\" title=\"salutation\">salutation</a>) said when <a rel=\"mw:WikiLink\" href=\"/wiki/meet#English\" title=\"meet\">meeting</a> someone or <a rel=\"mw:WikiLink\" href=\"/wiki/acknowledge#English\" title=\"acknowledge\">acknowledging</a> someone’s <a rel=\"mw:WikiLink\" href=\"/wiki/arrival#English\" title=\"arrival\">arrival</a> or <a rel=\"mw:WikiLink\" href=\"/wiki/presence#English\" title=\"presence\">presence</a>.</span>",
"parsedExamples": [
{
"example": "<b>Hello</b>, everyone."
}
],
"examples": [
"<b>Hello</b>, everyone."
]
},
{
"definition": "<span class=\"use-with-mention\" about=\"#mwt74\" typeof=\"mw:Transclusion\">A greeting used when <a rel=\"mw:WikiLink\" href=\"/wiki/answer#English\" title=\"answer\">answering</a> the <a rel=\"mw:WikiLink\" href=\"/wiki/telephone#English\" title=\"telephone\">telephone</a>.</span>",
"parsedExamples": [
{
"example": "<b>Hello</b><span typeof=\"mw:Entity\">?</span> How may I help you<span typeof=\"mw:Entity\">?</span>"
}
],
"examples": [
"<b>Hello</b><span typeof=\"mw:Entity\">?Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page/definition/<word> | path | Required | The word to define, URL-encoded. page/definition/hello |
<lang> | host | Optional | Change the subdomain for other Wiktionary editions. fr |
Response fields
<language-code>array- Definitions grouped by language, keyed by code such as `en`.
...partOfSpeechstring- Noun, Verb, Interjection and so on.
...languagestring- Language name in full.
...definitionsarray- The definitions themselves.
...definitions[].definitionstring- Definition text as HTML — sanitise before rendering.
...definitions[].examplesarray- Usage examples, also HTML.
What you can build with the Wiktionary REST API
- Build a multilingual dictionary or language learning tool
- Add definition tooltips supporting many languages
- Look up etymology and usage examples
- Support vocabulary features beyond English
Common errors and how to fix them
HTML tags visible in the output
Definitions contain Wiktionary markup.
Fix: Sanitise and strip tags before display; never render raw.
404
No Wiktionary entry for that spelling.
Fix: Wiktionary is case-sensitive for some entries; try lowercase first.
Unexpected languages in the response
The same spelling exists across languages.
Fix: Filter to the language code you want rather than taking the first key.
Wiktionary REST API — frequently asked questions
Is the Wiktionary API free?
Yes, free with no API key. Content is CC BY-SA licensed, so attribution is required, and Wikimedia asks for a descriptive User-Agent.
How is it different from the Free Dictionary API?
Wiktionary covers hundreds of languages in one lookup, grouped by language. The Free Dictionary API is English-focused but returns cleaner plain text with audio pronunciation.
Why are there HTML tags in the definitions?
Wiktionary entries contain formatting, links and templates, so definitions come back as HTML. Sanitise and strip the markup before displaying.
Can I query other language editions?
Yes, change the subdomain — fr.wiktionary.org returns the French edition, which defines words differently and covers a different vocabulary.
Tools that pair with this API
Word Counter
Count words, characters, sentences, paragraphs and estimated reading time instantly. Free online word counter for essays, blogs and social media.
HTML Formatter
Format HTML online with clean, consistent indentation. This HTML formatter handles void elements and preserves pre, script and style exactly. Free and private.
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Wiktionary REST is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.