POST /words-api/new

Create a new word entry in the Dictionary database. Submissions are queued for automated validation and editorial review before being published to the public index.

Request Body Parameters

Parameter Type Required Description
word string Yes The exact term to index. Must be 1-50 characters.
language string Yes ISO 639-1 language code (e.g., `en`, `es`, `ja`).
definitions array[object] Yes Array of definition objects containing `pos` (part of speech) and `text`.
synonyms array[string] No List of related words or synonyms.
phonetic string No IPA or simplified pronunciation guide.

Authentication

This endpoint requires a valid API key passed in the `Authorization` header as a Bearer token. Keys can be generated from your Developer Dashboard.

Rate Limits

Free tier: 20 requests/hour. Pro tier: 500 requests/hour. Enterprise: Custom limits.

POST
Must be valid JSON. Each object requires `pos` and `text` fields.
Awaiting request...
Response will appear here after sending the request.
cURL
curl -X POST https://api.dictionary.com/v2/words-api/new \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "word": "ephemeral",
    "language": "en",
    "definitions": [
      {"pos": "adjective", "text": "Lasting for a very short time."}
    ],
    "synonyms": ["fleeting", "transient"],
    "phonetic": "/ɪˈfɛm.ər.əl/"
  }'
Python
import requests

url = "https://api.dictionary.com/v2/words-api/new"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "word": "ephemeral",
    "language": "en",
    "definitions": [{"pos": "adjective", "text": "Lasting for a very short time."}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
JavaScript
fetch('https://api.dictionary.com/v2/words-api/new', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    word: 'ephemeral',
    language: 'en',
    definitions: [{pos: 'adjective', text: 'Lasting for a very short time.'}]
  })
})
.then(res => res.json())
.then(data => console.log(data));