Dictionaries — entry 008 of 12

Oxford

Verified Jul 2026

Oxford Dictionaries API (Oxford Languages) exposes definitions, translations, and lexical metadata sourced from Oxford University Press's own databases across dozens of languages, authenticated with an app ID/key pair from its developer portal. New accounts start on a free Sandbox tier that emulates the live API for evaluation before moving to paid production plans, with custom Enterprise licensing available from an annual per-language fee.

dictionarytranslationmultilinguallexical-dataenterprise
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSDisabledBrowser calls need a server-side proxy.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score81out of 100
Authentication15/25API key required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 81 on greatapis.com
<a href="https://greatapis.com/api/oxford/"><img src="https://greatapis.com/badge/oxford.svg" alt="Scored 81 on greatapis.com"></a>

Auth quickstart

  1. Sign up with the provider to get an API key.
  2. Send it on every request as a headerAuthorization: <key>
  3. The exact header isn't documented — Authorization is a common default; confirm in the provider's docs.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://od-api-demo.oxforddictionaries.com:443/api/v1
Dictionary entries3
GET/entries/{source_lang}/{word_id}Retrieve dictionary information for a given word
Parameters
NameInRequiredType
source_langpathyesstring
word_idpathyesstring
Responses
StatusDescriptionSchema
200Successful response.RetrieveEntry
404No entry is found matching supplied id and source_lang or filters are not recognized
500Internal Error. An error occurred while processing the data.
GET/entries/{source_lang}/{word_id}/regions={region}Specify GB or US dictionary for English entry search
Parameters
NameInRequiredType
source_langpathyesstring
word_idpathyesstring
regionpathyesstring
Responses
StatusDescriptionSchema
200Successful response.RetrieveEntry
404no entry is found matching supplied source_lang and id and/or that entry has no senses with translations in the target language.
500Internal Error. An error occurred while processing the data.
GET/entries/{source_lang}/{word_id}/{filters}Apply filters to response
Parameters
NameInRequiredType
source_langpathyesstring
word_idpathyesstring
filterspathyesstring
Responses
StatusDescriptionSchema
200Successful response.RetrieveEntry
404no entry is found matching supplied source_lang and id and/or that entry has no senses with translations in the target language.
500Internal Error. An error occurred while processing the data.
Lemmatron1
GET/inflections/{source_lang}/{word_id}/{filters}Check a word exists in the dictionary and retrieve its root form
Parameters
NameInRequiredType
source_langpathyesstring
filterspathyesstring
word_idpathyesstring
Responses
StatusDescriptionSchema
200Successful response.Lemmatron
500Internal Error. An error occurred while processing the data.
LexiStats3
GET/stats/frequency/ngrams/{source_lang}/{corpus}/{ngram-size}/Retrieve the frequency of ngrams (1-4) derived from a corpus
Parameters
NameInRequiredType
source_langpathyesstring
corpuspathyesstring
ngram-sizepathyesstring
tokensquerynostring
containsquerynostring
punctuationquerynostring
formatquerynostring
minFrequencyquerynointeger
maxFrequencyquerynointeger
minDocumentFrequencyquerynointeger
maxDocumentFrequencyquerynointeger
collatequerynostring
sortquerynostring
offsetquerynointeger
limitquerynointeger
Responses
StatusDescriptionSchema
200Successful response.NgramsResult
400Invalid option name...
404language is not in...
500Internal Error. An error occurred while processing the data.
GET/stats/frequency/word/{source_lang}/Retrieve the frequency of a word derived from a corpus.
Parameters
NameInRequiredType
source_langpathyesstring
corpusquerynostring
wordformquerynostring
trueCasequerynostring
lemmaquerynostring
lexicalCategoryquerynostring
Responses
StatusDescriptionSchema
200Successful response.StatsWordResult
400You need to specify at least one option. Try one of 'wordform, lemma, trueCase, lexicalCategory'.
404language is not in...
500Internal Error. An error occurred while processing the data.
GET/stats/frequency/words/{source_lang}/Retrieve a list of frequencies of a word/words derived from a corpus.
Parameters
NameInRequiredType
source_langpathyesstring
corpusquerynostring
wordformquerynostring
trueCasequerynostring
lemmaquerynostring
lexicalCategoryquerynostring
grammaticalFeaturesquerynostring
sortquerynostring
collatequerynostring
minFrequencyquerynointeger
maxFrequencyquerynointeger
minNormalizedFrequencyquerynonumber
maxNormalizedFrequencyquerynonumber
offsetquerynointeger
limitquerynointeger
Responses
StatusDescriptionSchema
200Successful response.StatsWordResultList
400Invalid option name...; Option ... must have a value.; The option 'minFrequency' has to have an non-negative integer parameter.; The option 'maxFrequency' has to have an non-negative integer parameter.; The option 'limit' has to have an non-negative integer parameter.; The option 'offset' has to have an non-negative integer parameter.
404language is not in...
500Internal Error. An error occurred while processing the data.
Search2
GET/search/{source_lang}Retrieve possible matches to input
Parameters
NameInRequiredType
source_langpathyesstring
qquerynostring
prefixquerynoboolean
regionsquerynostring
limitquerynostring
offsetquerynostring
Responses
StatusDescriptionSchema
200Successful response.Wordlist
404No entry is found matching supplied id and source_lang or filters are not recognized
500Internal Error. An error occurred while processing the data.
GET/search/{source_search_language}/translations={target_search_language}Retrieve possible translation matches to input
Parameters
NameInRequiredType
source_search_languagepathyesstring
target_search_languagepathyesstring
qquerynostring
prefixquerynoboolean
regionsquerynostring
limitquerynostring
offsetquerynostring
Responses
StatusDescriptionSchema
200Successful response.Wordlist
404No entry is found matching supplied id and source_lang or filters are not recognized
500Internal Error. An error occurred while processing the data.
The Sentence Dictionary1
GET/entries/{source_language}/{word_id}/sentencesRetrieve corpus sentences for a given word
Parameters
NameInRequiredType
source_languagepathyesstring
word_idpathyesstring
Responses
StatusDescriptionSchema
200Successful response.SentencesResults
404No entry is found matching supplied id and source_language
500Internal Error. An error occurred while processing the data.
Thesaurus3
GET/entries/{source_lang}/{word_id}/antonymsRetrieve words that mean the opposite
Parameters
NameInRequiredType
source_langpathyesstring
word_idpathyesstring
Responses
StatusDescriptionSchema
200Successful response.Thesaurus
404No entry is found matching supplied id and source_lang or filters are not recognized
500Internal Error. An error occurred while processing the data.
GET/entries/{source_lang}/{word_id}/synonymsRetrieve words that are similar
Parameters
NameInRequiredType
source_langpathyesstring
word_idpathyesstring
Responses
StatusDescriptionSchema
200Successful response.Thesaurus
404No entry is found matching supplied id and source_lang or filters are not recognized
500Internal Error. An error occurred while processing the data.
GET/entries/{source_lang}/{word_id}/synonyms;antonymsRetrieve synonyms and antonyms for a given word
Parameters
NameInRequiredType
source_langpathyesstring
word_idpathyesstring
Responses
StatusDescriptionSchema
200Successful response.Thesaurus
404No entry is found matching supplied id and source_lang or filters are not recognized
500Internal Error. An error occurred while processing the data.
Translation1
GET/entries/{source_translation_language}/{word_id}/translations={target_translation_language}Retrieve translation for a given word
Parameters
NameInRequiredType
source_translation_languagepathyesstring
word_idpathyesstring
target_translation_languagepathyesstring
Responses
StatusDescriptionSchema
200Successful response. In case word doesn't have a direct translation a response would be definitions.RetrieveEntry
400any of target languages is unknown
404no entry is found matching supplied source_lang and id and/or that entry has no senses with translations in the target language(s).
500Internal Error. An error occurred while processing the data.
Utility10
GET/domains/{source_domains_language}/{target_domains_language}Lists available domains in a bilingual dataset
Parameters
NameInRequiredType
source_domains_languagepathyesstring
target_domains_languagepathyesstring
Responses
StatusDescriptionSchema
200Successful response.UtilityLabels
400source_language and target_language are same.
404Unknown source_language and/or target_language.
GET/domains/{source_language}Lists available domains in a monolingual dataset
Parameters
NameInRequiredType
source_languagepathyesstring
Responses
StatusDescriptionSchema
200Successful response.UtilityLabels
404Unknown source_language.
GET/filtersLists available filters
Responses
StatusDescriptionSchema
200Successful response.Filters
500Internal Error. An error occurred while processing the data.
GET/filters/{endpoint}Lists available filters for specific endpoint
Parameters
NameInRequiredType
endpointpathyesstring
Responses
StatusDescriptionSchema
200Successful response.Filters
404Unknown endpoint.
500Internal Error. An error occurred while processing the data.
GET/grammaticalFeatures/{source_language}Lists available grammatical features in a dataset
Parameters
NameInRequiredType
source_languagepathyesstring
Responses
StatusDescriptionSchema
200Successful response.UtilityLabels
404Unknown source_language.
GET/languagesLists available dictionaries
Parameters
NameInRequiredType
sourceLanguagequerynostring
targetLanguagequerynostring
Responses
StatusDescriptionSchema
200Successful response.Languages
404Unknown sourceLanguage and/or targetLanguage.
500Internal Error. An error occurred while processing the data.
GET/lexicalcategories/{language}Lists available lexical categories in a dataset
Parameters
NameInRequiredType
languagepathyesstring
Responses
StatusDescriptionSchema
200Successful response.UtilityLabels
404Unknown language.
500Internal Error. An error occurred while processing the data.
GET/regions/{source_language}Lists available regions in a monolingual dataset
Parameters
NameInRequiredType
source_languagepathyesstring
Responses
StatusDescriptionSchema
200Successful response.Regions
404Unknown source_language.
GET/registers/{source_language}Lists available registers in a monolingual dataset
Parameters
NameInRequiredType
source_languagepathyesstring
Responses
StatusDescriptionSchema
200Successful response.UtilityLabels
404Unknown source_language.
500Internal Error. An error occurred while processing the data.
GET/registers/{source_register_language}/{target_register_language}Lists available registers in a bilingual dataset
Parameters
NameInRequiredType
source_register_languagepathyesstring
target_register_languagepathyesstring
Responses
StatusDescriptionSchema
200Successful response.UtilityLabels
400source_language and target_language are same.
404Unknown source_language and/or target_language.
500Internal Error. An error occurred while processing the data.
Wordlist2
GET/wordlist/{source_lang}/{filters_advanced}Retrieve list of words for category with advanced options
Parameters
NameInRequiredType
source_langpathyesstring
filters_advancedpathyesstring
excludequerynostring
exclude_sensesquerynostring
exclude_prime_sensesquerynostring
word_lengthquerynostring
prefixquerynostring
exactquerynoboolean
limitquerynostring
offsetquerynostring
Responses
StatusDescriptionSchema
200Successful response.Wordlist
400disjoint sets of word_length values (eg <3>10); filter has no values; total number of filters > 20; filters and excludes values can not be the same; source_lang and translations can not be same; word_length conflicts with prefix length.
404No entries is found matching supplied filters or lang or filters is not recognized.
500Internal Error. An error occurred while processing the data.
GET/wordlist/{source_lang}/{filters_basic}Retrieve a list of words in a category
Parameters
NameInRequiredType
source_langpathyesstring
filters_basicpathyesstring
limitquerynostring
offsetquerynostring
Responses
StatusDescriptionSchema
200Successful response.Wordlist
400filter has no values; total number of filters > 20.
404No entries is found matching supplied filters or lang or filters is not recognized.
500Internal Error. An error occurred while processing the data.

Try it

Developer reference

Base URLhttps://od-api.oxforddictionaries.com/api/v1
Rate limit

The free Sandbox tier isn't a recurring quota but a one-time allowance of 500 calls across all languages and endpoints, restricted to words starting with the first letter of the alphabet (or its per-language equivalent) -- Oxford emails developers at 50% and 100% of that allowance and returns HTTP 429 once it's exhausted. Paid production and custom Enterprise (annual per-language fee) plans exist above Sandbox, but their numeric request ceilings and 429 header format sit behind an account sign-in and aren't published on the public docs.

Key endpoints
  • GET/entries/{source_lang}/{word_id}
  • GET/entries/{source_lang}/{word_id}/synonyms
  • GET/entries/{source_lang}/{word_id}/antonyms
  • GET/search/{source_lang}
  • GET/languages