BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 20 Aug 2026

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 20 Aug 2026, 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
curl 'https://en.wiktionary.org/api/rest_v1/page/definition/hello'
JavaScript (fetch)
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);
Python (requests)
import requests

res = requests.get("https://en.wiktionary.org/api/rest_v1/page/definition/hello", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "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

ParameterTypeRequiredDescription
page/definition/<word>pathRequiredThe word to define, URL-encoded. page/definition/hello
<lang>hostOptionalChange 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

Alternatives to Wiktionary REST API

If Wiktionary REST does not fit, these book & dictionary apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
Free Dictionary APIFree dictionary API with no key: definitions, phonetics, audio pronunciation, synonyms, antonyms and examples for English words. Tested curl example.No keyYes19 Aug 2026
DatamuseFree word-finding API with no key: rhymes, synonyms, antonyms, related words, spelling suggestions and autocomplete. 100k requests/day. Tested example.No keyYes19 Aug 2026
Open LibraryFree book API from the Internet Archive: search by ISBN, title or author, with covers, publication data and subjects. No key required. Tested curl example.No keyYes19 Aug 2026
PoetryDBFree poetry API with no key: full poem text by author, title or line count from a public-domain corpus. CORS enabled. Tested curl example and live JSON.No keyYes19 Aug 2026
Wizard World APIFree wizarding world API with no key: elixirs, spells, houses, ingredients and wizards, with effects, side effects, difficulty and inventor links. Tested example included.No keyYes21 Aug 2026
Wolne LekturyFree Wolne Lektury API with no key: thousands of Polish public domain books with full texts, audiobooks, covers and literary epoch metadata. Tested example included.No keyYes21 Aug 2026
All Book & Dictionary APIs

Wiktionary REST is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 20 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.