Free Dictionary API

Education API · Works globally · Full English dictionary

TL;DR

The Free Dictionary API by DictionaryAPI.dev provides complete English dictionary entries for any word. Each lookup returns definitions, parts of speech, phonetic spellings, audio pronunciation URLs, word origins/etymology, synonyms/antonyms, and usage examples. Simply append the word to the endpoint URL. No API key, no rate limits published. Essential for word games, writing tools, language learning apps, and any project that needs authoritative English word data.

Quick start: https://api.dictionaryapi.dev/api/v2/entries/en/hello

No API key needed — just make a request!

Look up the word "hello": https://api.dictionaryapi.dev/api/v2/entries/en/hello

How to Use This API

1. Look Up a Word

Replace hello with any English word:

https://api.dictionaryapi.dev/api/v2/entries/en/hello

2. Response Structure

Returns an array of entries (for words with multiple meanings). Each entry includes: word, phonetic, phonetics (with audio URLs), origin, meanings (with partOfSpeech, definitions, synonyms, antonyms), and license info.

3. JavaScript — Word Details

async function defineWord(word) {
  const resp = await fetch(
    `https://api.dictionaryapi.dev/api/v2/entries/en/${word}`
  );
  const data = await resp.json();
  const entry = data[0];
  
  console.log(`Word: ${entry.word}`);
  console.log(`Phonetic: ${entry.phonetic || 'N/A'}`);
  
  entry.meanings.forEach(m => {
    console.log(`\n[${m.partOfSpeech}]`);
    m.definitions.slice(0, 2).forEach(d => {
      console.log(`  - ${d.definition}`);
    });
  });
  
  // Get audio URL
  const audio = entry.phonetics?.find(p => p.audio);
  if (audio) console.log(`\nAudio: ${audio.audio}`);
}

defineWord('serendipity');

4. Python — Vocabulary Builder

import requests

words = ['ephemeral', 'ubiquitous', 'resilient']
for word in words:
    resp = requests.get(
        f'https://api.dictionaryapi.dev/api/v2/entries/en/{word}'
    )
    if resp.status_code == 200:
        entry = resp.json()[0]
        defs = entry['meanings'][0]['definitions'][0]
        print(f"{word} ({entry.get('phonetic', '?')})")
        print(f"  {defs['definition']}")
        if 'example' in defs:
            print(f"  e.g., {defs['example']}")
        print()

Frequently Asked Questions

What data does the API return per word?
Word, phonetic spelling, phonetic audio URLs (for pronunciation), origin/etymology, multiple meanings grouped by part of speech, definitions, example sentences, synonyms, and antonyms.
Do I need an API key?
No. The Free Dictionary API is completely open with no authentication required.
What happens if I search for a word that doesn't exist?
The API returns a 404 with a JSON error message: {"title":"No Definitions Found","message":"...","resolution":""}.
Are there rate limits?
No published rate limits. The API is free and available for unlimited use within reasonable bounds.
What words are in the dictionary?
The database covers standard English vocabulary including nouns, verbs, adjectives, adverbs, prepositions, and common proper nouns. It's not exhaustive but covers most commonly searched words.
Does the API support other languages?
The primary URL pattern (/entries/en/) serves English. Other language endpoints may be available — check the documentation for the full list.

API Details

API URL
https://api.dictionaryapi.dev/api/v2/entries/en/{word}
Documentation
dictionaryapi.dev
Category
Education
Authentication
Not Required
Geographic Coverage
Global — English language

What You Can Build