Cambridge APIdictionary.cambridge.org ↗
Access Cambridge Dictionary data via API: definitions, IPA pronunciations, synonyms, translations, collocations, corpus examples, and browsable word lists.
What is the Cambridge API?
This API exposes 14 endpoints covering the full Cambridge Dictionary surface: word definitions with all senses and parts of speech, IPA pronunciations with audio URLs, thesaurus data, bilingual translations, collocations, and corpus examples. The get_word_definition endpoint returns structured entry objects including part_of_speech, pronunciations, and nested senses arrays. Specialized endpoints target American English and Business English dictionary sections separately.
curl -X GET 'https://api.parse.bot/scraper/d593a0d5-fc4e-4d24-b208-fd9143ffb8d0/get_word_definition?word=apple' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace dictionary-cambridge-org-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.cambridge_dictionary_api import CambridgeDictionary
cambridge = CambridgeDictionary()
# Look up a word definition
word = cambridge.words.get(word="happy")
print(word.word)
for entry in word.entries:
print(entry.part_of_speech)
for sense in entry.senses:
for defn in sense.definitions:
print(defn.definition)
for ex in defn.examples:
print(ex)
# Get pronunciation
pron = word.pronunciation()
for p in pron.pronunciations:
print(p.region, p.ipa)
# Get thesaurus
thes = word.thesaurus()
for sense in thes.senses:
print(sense.sense)
for syn in sense.synonyms:
print(syn)
# Translate a word
trans = word.translation(dict_code="english-spanish")
print(trans.dictionary)
for entry in trans.entries:
for sense in entry.senses:
for defn in sense.definitions:
print(defn.definition, defn.translation)
# Search for words
for result in cambridge.words.search(query="apple"):
print(result.text, result.url)
# Autocomplete
for suggestion in cambridge.words.autocomplete(query="happ"):
print(suggestion.word, suggestion.beta)
# Browse alphabetically
letter_browse = cambridge.words.browse_by_letter(letter="b")
print(letter_browse.letter)
for r in letter_browse.ranges:
print(r.range, r.url)
# Get word of the day
wotd = cambridge.words.word_of_the_day()
print(wotd.word)
# List available dictionaries
for d in cambridge.words.available_dictionaries():
print(d.name, d.code)
Fetch a full word entry from the English dictionary. Returns all senses, parts of speech, pronunciations, definitions, and examples for the given word. Each entry includes UK and US pronunciations with IPA transcriptions and audio URLs. Multiple entries may be returned when a word has distinct dictionary sections (e.g. British vs American).
| Param | Type | Description |
|---|---|---|
| wordrequired | string | The word to look up (e.g. 'apple', 'run', 'happy') |
{
"type": "object",
"fields": {
"word": "string - the looked-up word",
"entries": "array of entry objects containing part_of_speech, pronunciations, and senses with definitions and examples"
},
"sample": {
"data": {
"word": "apple",
"entries": [
{
"word": "apple",
"senses": [
{
"guide_word": null,
"definitions": [
{
"cefr": null,
"grammar": null,
"examples": [
"to peel an apple",
"apple pie"
],
"definition": "a round fruit with firm, white flesh and a green, red, or yellow skin:"
}
]
}
],
"part_of_speech": "noun",
"pronunciations": [
{
"ipa": "ˈæp.əl",
"audio": [
"https://dictionary.cambridge.org/media/english/uk_pron/u/uka/ukapp/ukappen014.mp3"
],
"region": "uk"
}
]
}
]
},
"status": "success"
}
}About the Cambridge API
Word Lookup and Definition Data
The get_word_definition endpoint accepts a word string and returns an entries array. Each entry carries part_of_speech, a pronunciations array, and senses — each sense containing its definition text and associated example sentences. The get_american_dictionary_entry and get_business_dictionary_entry endpoints follow the same response shape but scope results to their respective dictionary sections, so asset or profit through the business endpoint returns Business English–specific senses distinct from the main entry.
Pronunciation, Thesaurus, and Translations
get_word_pronunciation returns a pronunciations array with region (uk or us), ipa transcription, and audio URLs — useful for any application that needs machine-readable phonetics. get_word_thesaurus returns senses, each with a synonyms array and an antonyms array grouped by meaning. For translation workflows, get_word_translation accepts a dict_code parameter; call get_available_dictionaries first to enumerate all valid codes and their display names, then pass the desired code to scope results to that bilingual dictionary.
Examples, Collocations, and Discovery
get_word_examples returns an examples array of sentence strings drawn from the Cambridge English Corpus when available. get_word_collocations returns collocation objects pairing definition text with example sentences that demonstrate the word combination in use. For discovery, search_words accepts a query string and returns matching entry links; autocomplete accepts a query fragment plus an optional dataset to narrow the suggestion scope; and browse_words_by_letter followed by browse_words_by_letter_range lets you walk the full alphabetical index. get_word_of_the_day requires no inputs and returns the current featured word with its full entry data.
The Cambridge API is a managed, monitored endpoint for dictionary.cambridge.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dictionary.cambridge.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official dictionary.cambridge.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Language learning apps displaying IPA transcriptions and audio pronunciations from
get_word_pronunciationfor both UK and US variants - Writing tools surfacing synonyms and antonyms via
get_word_thesaurusgrouped by sense to help users find contextually accurate word choices - Bilingual dictionary features using
get_word_translationwith a specificdict_codeto show target-language definitions alongside English - Vocabulary builders pulling
get_word_of_the_daydaily to present learners with a new word and its full definition data - Corpus-based writing assistants enriching suggestions with real usage patterns from
get_word_examples - Business terminology tools scoping lookups to
get_business_dictionary_entryfor finance and commerce vocabulary - Dictionary dataset pipelines walking the full word list using
browse_words_by_letterandbrowse_words_by_letter_rangeto index entries systematically
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Cambridge Dictionary offer an official developer API?+
What does `get_word_translation` return and how do I know which dictionary codes to use?+
entries array with senses that include both the English definition and the translation in the target language, plus a dictionary field confirming which code was used. Before calling it, run get_available_dictionaries — that endpoint returns all valid code and name pairs you can pass as the dict_code parameter.Does the API return etymology or word-origin data?+
Are grammar codes or inflected forms (e.g. past tense, plural) returned in the definition response?+
entries array in get_word_definition includes part_of_speech and senses with definitions and examples, but explicit inflected forms and grammar labels are not broken out as dedicated fields. You can fork this API on Parse and revise it to extract those fields from the entry structure.How does browsing the word list work across multiple requests?+
browse_words_by_letter with a single letter to get a ranges array of alphabetical sub-ranges, each with a range_slug. Pass that slug along with the letter to browse_words_by_letter_range to retrieve the words array for that segment. There is no offset or page parameter — navigation follows the range structure the dictionary exposes.