The json data of list 3000 words - https://www.oxfordlearnersdictionaries.com/wordlist/american_english/oxford3000/
This project crawls the Oxford 3000 word list and enriches each word with detailed information matching the vocabularies database schema:
- word: The word itself
- definition: Word definition
- example: Example sentence
- ipa: IPA phonetic transcription
- audio_url: URL to pronunciation audio
- part_of_speech: Part of speech (noun, verb, etc.)
- source: Source of the data (Oxford Learner's Dictionary)
npm installTo enrich the existing oxford-3000.json file with detailed information:
node src/index.jsThis will:
- Read the existing word list from
data/oxford-3000.json - For each word, fetch detailed information from Oxford Learner's Dictionary
- Save progress periodically to
data/oxford-3000-enriched.json - Final output saved to
data/oxford-3000.json
The script supports resuming - if interrupted, it will continue from where it left off.
To test the word detail extraction for a single word:
node src/test-word.js [word]Example:
node src/test-word.js helloThe original functions are still available in the code:
download3000WordList()- Downloads the basic 3000 word listdownload5000WordList()- Downloads the 5000 word list with audio files
Uncomment the desired function in main() to use them.
The enriched JSON file contains an array of objects with the following structure:
[
{
"word": "hello",
"definition": "used as a greeting when you meet somebody",
"example": "Hello, how are you?",
"ipa": "/həˈloʊ/",
"audio_url": "https://www.oxfordlearnersdictionaries.com/...",
"part_of_speech": "exclamation",
"source": "Oxford Learner's Dictionary"
}
]- The script includes rate limiting (500ms delay between requests) to avoid overwhelming the server
- Processing 3000 words will take approximately 25-30 minutes
- Progress is saved every 10 words, so you can safely interrupt and resume