Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chenelias/cambridge-dictionary-api

API for Cambridge Dictionary, written in Node.js.
https://github.com/chenelias/cambridge-dictionary-api

api cambridge-dictionary cambridge-dictionary-api cheerio express free-dictionary-api nodejs

Last synced: about 1 month ago
JSON representation

API for Cambridge Dictionary, written in Node.js.

Awesome Lists containing this project

README

        

# Cambridge Dictionary API

A simple API for Cambridge Dictionary, built with Node.js.

## ๐Ÿ•น๏ธ Manual

### ๐Ÿ“š๏ธ dictionary

api/dictionary/`{language}`/`{word}`

#### **language option:**

| option | description |
| ----------- | :-------------------------: |
| **`en`** | english (us) |
| **`uk`** | english (uk) |
| **`en-cn`** | english-chinese-simplified |
| **`en-tw`** | english-chinese-traditional |

**use `/` to test it with UI**

## ๐ŸŒ Deploy

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/chenelias/cambridge-dictionary-api/)

## ๐Ÿ’ป Running Locally

After clone this repository, run the following commands in the repository floder:

```bash
# install dependencies
pnpm install
# run
pnpm run dev
```

Then fetch `http://localhost:3000/api/dictionary/english/hello` to test it
or use / to test it out with UI.

## ๐Ÿ“– Example

/api/dictionary/`en-tw`/`cook`

```json
{
"word": "cook",
"pos": ["verb", "noun"],
"verbs": [
{
"id": 0,
"type": "Plain form",
"text": "cook"
},
{
"id": 1,
"type": "Third-person singular",
"text": "cooks"
},
{
"id": 2,
"type": "Past tense",
"text": "cooked"
},
{
"id": 3,
"type": "Past participle",
"text": "cooked"
},
{
"id": 4,
"type": "Present participle",
"text": "cooking"
},
{
"id": 5,
"type": "Singular",
"text": "cook"
},
{
"id": 6,
"type": "Plural",
"text": "cooks"
}
],
"pronunciation": [
{
"pos": "verb",
"lang": "uk",
"url": "https://dictionary.cambridge.org/us/media/english-chinese-traditional/uk_pron/u/ukc/ukcon/ukconve028.mp3",
"pron": "/kสŠk/"
},
{
"pos": "verb",
"lang": "us",
"url": "https://dictionary.cambridge.org/us/media/english-chinese-traditional/us_pron/c/coo/cook_/cook.mp3",
"pron": "/kสŠk/"
},
{
"pos": "noun",
"lang": "uk",
"url": "https://dictionary.cambridge.org/us/media/english-chinese-traditional/uk_pron/u/ukc/ukcon/ukconve028.mp3",
"pron": "/kสŠk/"
},
{
"pos": "noun",
"lang": "us",
"url": "https://dictionary.cambridge.org/us/media/english-chinese-traditional/us_pron/c/coo/cook_/cook.mp3",
"pron": "/kสŠk/"
}
],
"definition": [
{
"id": 0,
"pos": "verb",
"text": "When you cook food, you prepare it to be eaten by heating it in a particular way, such as baking or boiling, and when food cooks, it is heated until it is ready to eat.",
"translation": "ๅš้ฃฏ๏ผŒ็ƒน่ชฟ;็‡’๏ผŒ็…ฎ",
"example": [
{
"id": 0,
"text": "I don't cook meat very often.",
"translation": "ๆˆ‘ไธๅธธ็…ฎ่‚‰ๅƒใ€‚"
},
{
"id": 1,
"text": "He cooked us a huge dinner./He cooked a huge dinner for us.",
"translation": "ไป–็ตฆๆˆ‘ๅ€‘ๆบ–ๅ‚™ไบ†ไธ€้ “่ฑ็››็š„้ฃฏ่œใ€‚"
},
{
"id": 2,
"text": "Let the fish cook for half an hour before you add the wine.",
"translation": "ๅ…ˆๆŠŠ้ญš็…ฎๅŠๅ€‹ๅฐๆ™‚ๅ†ๅŠ ๅ…ฅ้…’ใ€‚"
}
]
},
{
"id": 1,
"pos": "noun",
"text": "someone who prepares and cooks food",
"translation": "ๅปšๅธซ",
"example": [
{
"id": 0,
"text": "She's a wonderful cook.",
"translation": "ๅฅนๆ˜ฏไฝๅพˆๅ‡บ่‰ฒ็š„ๅปšๅธซใ€‚"
}
]
}
]
}
```

## Support me ๐ŸŽ‰

Hi there, I'm Elias, a middle school student from Taiwan. This API was initially created for another project that I'm still working on. I have never expected that so many people are interested in this project, please consider sponsoring me.\
Your donations would cover the operating costs of the database and the server for my future projects.
thanks a lot โค๏ธ.

## API Source

- Verbs from [wiktionary](https://www.wiktionary.org/)
- Other data from [Cambridge Dictionary](https://dictionary.cambridge.org/)

Develop by Elias โค๏ธ \
Contributions are welcome! ๐ŸŽ‰