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.
GET/entries/{source_lang}/{word_id}Retrieve dictionary information for a given word
Parameters
Name
In
Required
Type
source_lang
path
yes
string
word_id
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
RetrieveEntry
404
No entry is found matching supplied id and source_lang or filters are not recognized
—
500
Internal 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
Name
In
Required
Type
source_lang
path
yes
string
word_id
path
yes
string
region
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
RetrieveEntry
404
no entry is found matching supplied source_lang and id
and/or that entry has no senses with translations in the target language.
—
500
Internal Error. An error occurred while processing the data.
—
GET/entries/{source_lang}/{word_id}/{filters}Apply filters to response
Parameters
Name
In
Required
Type
source_lang
path
yes
string
word_id
path
yes
string
filters
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
RetrieveEntry
404
no entry is found matching supplied source_lang and id
and/or that entry has no senses with translations in the target language.
—
500
Internal 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
Name
In
Required
Type
source_lang
path
yes
string
filters
path
yes
string
word_id
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
Lemmatron
500
Internal 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
Name
In
Required
Type
source_lang
path
yes
string
corpus
path
yes
string
ngram-size
path
yes
string
tokens
query
no
string
contains
query
no
string
punctuation
query
no
string
format
query
no
string
minFrequency
query
no
integer
maxFrequency
query
no
integer
minDocumentFrequency
query
no
integer
maxDocumentFrequency
query
no
integer
collate
query
no
string
sort
query
no
string
offset
query
no
integer
limit
query
no
integer
Responses
Status
Description
Schema
200
Successful response.
NgramsResult
400
Invalid option name...
—
404
language is not in...
—
500
Internal 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
Name
In
Required
Type
source_lang
path
yes
string
corpus
query
no
string
wordform
query
no
string
trueCase
query
no
string
lemma
query
no
string
lexicalCategory
query
no
string
Responses
Status
Description
Schema
200
Successful response.
StatsWordResult
400
You need to specify at least one option. Try one of 'wordform, lemma, trueCase, lexicalCategory'.
—
404
language is not in...
—
500
Internal 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
Name
In
Required
Type
source_lang
path
yes
string
corpus
query
no
string
wordform
query
no
string
trueCase
query
no
string
lemma
query
no
string
lexicalCategory
query
no
string
grammaticalFeatures
query
no
string
sort
query
no
string
collate
query
no
string
minFrequency
query
no
integer
maxFrequency
query
no
integer
minNormalizedFrequency
query
no
number
maxNormalizedFrequency
query
no
number
offset
query
no
integer
limit
query
no
integer
Responses
Status
Description
Schema
200
Successful response.
StatsWordResultList
400
Invalid 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.
—
404
language is not in...
—
500
Internal Error. An error occurred while processing the data.
—
Search2
GET/search/{source_lang}Retrieve possible matches to input
Parameters
Name
In
Required
Type
source_lang
path
yes
string
q
query
no
string
prefix
query
no
boolean
regions
query
no
string
limit
query
no
string
offset
query
no
string
Responses
Status
Description
Schema
200
Successful response.
Wordlist
404
No entry is found matching supplied id and source_lang or filters are not recognized
—
500
Internal Error. An error occurred while processing the data.
—
GET/search/{source_search_language}/translations={target_search_language}Retrieve possible translation matches to input
Parameters
Name
In
Required
Type
source_search_language
path
yes
string
target_search_language
path
yes
string
q
query
no
string
prefix
query
no
boolean
regions
query
no
string
limit
query
no
string
offset
query
no
string
Responses
Status
Description
Schema
200
Successful response.
Wordlist
404
No entry is found matching supplied id and source_lang or filters are not recognized
—
500
Internal 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
Name
In
Required
Type
source_language
path
yes
string
word_id
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
SentencesResults
404
No entry is found matching supplied id and source_language
—
500
Internal Error. An error occurred while processing the data.
—
Thesaurus3
GET/entries/{source_lang}/{word_id}/antonymsRetrieve words that mean the opposite
Parameters
Name
In
Required
Type
source_lang
path
yes
string
word_id
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
Thesaurus
404
No entry is found matching supplied id and source_lang or filters are not recognized
—
500
Internal Error. An error occurred while processing the data.
—
GET/entries/{source_lang}/{word_id}/synonymsRetrieve words that are similar
Parameters
Name
In
Required
Type
source_lang
path
yes
string
word_id
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
Thesaurus
404
No entry is found matching supplied id and source_lang or filters are not recognized
—
500
Internal Error. An error occurred while processing the data.
—
GET/entries/{source_lang}/{word_id}/synonyms;antonymsRetrieve synonyms and antonyms for a given word
Parameters
Name
In
Required
Type
source_lang
path
yes
string
word_id
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
Thesaurus
404
No entry is found matching supplied id and source_lang or filters are not recognized
—
500
Internal 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
Name
In
Required
Type
source_translation_language
path
yes
string
word_id
path
yes
string
target_translation_language
path
yes
string
Responses
Status
Description
Schema
200
Successful response. In case word doesn't have a direct translation a response would be definitions.
RetrieveEntry
400
any of target languages is unknown
—
404
no entry is found matching supplied source_lang and id
and/or that entry has no senses with translations in the target language(s).
—
500
Internal 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
Name
In
Required
Type
source_domains_language
path
yes
string
target_domains_language
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
UtilityLabels
400
source_language and target_language are same.
—
404
Unknown source_language and/or target_language.
—
GET/domains/{source_language}Lists available domains in a monolingual dataset
Parameters
Name
In
Required
Type
source_language
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
UtilityLabels
404
Unknown source_language.
—
GET/filtersLists available filters
Responses
Status
Description
Schema
200
Successful response.
Filters
500
Internal Error. An error occurred while processing the data.
—
GET/filters/{endpoint}Lists available filters for specific endpoint
Parameters
Name
In
Required
Type
endpoint
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
Filters
404
Unknown endpoint.
—
500
Internal Error. An error occurred while processing the data.
—
GET/grammaticalFeatures/{source_language}Lists available grammatical features in a dataset
Parameters
Name
In
Required
Type
source_language
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
UtilityLabels
404
Unknown source_language.
—
GET/languagesLists available dictionaries
Parameters
Name
In
Required
Type
sourceLanguage
query
no
string
targetLanguage
query
no
string
Responses
Status
Description
Schema
200
Successful response.
Languages
404
Unknown sourceLanguage and/or targetLanguage.
—
500
Internal Error. An error occurred while processing the data.
—
GET/lexicalcategories/{language}Lists available lexical categories in a dataset
Parameters
Name
In
Required
Type
language
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
UtilityLabels
404
Unknown language.
—
500
Internal Error. An error occurred while processing the data.
—
GET/regions/{source_language}Lists available regions in a monolingual dataset
Parameters
Name
In
Required
Type
source_language
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
Regions
404
Unknown source_language.
—
GET/registers/{source_language}Lists available registers in a monolingual dataset
Parameters
Name
In
Required
Type
source_language
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
UtilityLabels
404
Unknown source_language.
—
500
Internal Error. An error occurred while processing the data.
—
GET/registers/{source_register_language}/{target_register_language}Lists available registers in a bilingual dataset
Parameters
Name
In
Required
Type
source_register_language
path
yes
string
target_register_language
path
yes
string
Responses
Status
Description
Schema
200
Successful response.
UtilityLabels
400
source_language and target_language are same.
—
404
Unknown source_language and/or target_language.
—
500
Internal 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
Name
In
Required
Type
source_lang
path
yes
string
filters_advanced
path
yes
string
exclude
query
no
string
exclude_senses
query
no
string
exclude_prime_senses
query
no
string
word_length
query
no
string
prefix
query
no
string
exact
query
no
boolean
limit
query
no
string
offset
query
no
string
Responses
Status
Description
Schema
200
Successful response.
Wordlist
400
disjoint 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.
—
404
No entries is found matching supplied filters or lang or filters is not recognized.
—
500
Internal Error. An error occurred while processing the data.
—
GET/wordlist/{source_lang}/{filters_basic}Retrieve a list of words in a category
Parameters
Name
In
Required
Type
source_lang
path
yes
string
filters_basic
path
yes
string
limit
query
no
string
offset
query
no
string
Responses
Status
Description
Schema
200
Successful response.
Wordlist
400
filter has no values; total number of filters > 20.
—
404
No entries is found matching supplied filters or lang or filters is not recognized.
—
500
Internal 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.