datamuse.com APIdatamuse.com ↗
Find words by meaning, sound, or spelling, get rhymes and autocomplete suggestions, and retrieve definitions, syllable counts, and pronunciation via the Datamuse API.
curl -X GET 'https://api.parse.bot/scraper/71e6a4c4-cffd-4e3f-9635-40695f12feab/word_search?ml=happy' \ -H 'X-API-Key: $PARSE_API_KEY'
General word search with multiple constraints. Supports meanings like, sounds like, spelled like, and various lexical relations. At least one search parameter should be provided to get meaningful results.
| Param | Type | Description |
|---|---|---|
| v | string | Vocabulary identifier (e.g. 'es' for Spanish) |
| lc | string | Left context: a word that precedes the target word |
| md | string | Metadata flags: d (definitions), p (parts of speech), s (syllable count), r (pronunciation), f (frequency) |
| ml | string | Means like: find words with a similar meaning (e.g. 'happy') |
| qe | string | Query echo: prepend a result that describes the query string |
| rc | string | Right context: a word that follows the target word |
| sl | string | Sounds like: find words with a similar pronunciation |
| sp | string | Spelled like: find words with a similar spelling (supports * and ? wildcards) |
| ipa | integer | Set to 1 to include IPA pronunciation in results (requires md=r) |
| max | integer | Maximum number of results to return (up to 1000) |
| topics | string | Topic hints: one or more comma-separated words to bias results |
| rel_ant | string | Antonyms (semantic opposites) |
| rel_bga | string | Frequent followers (words that frequently follow the given word) |
| rel_bgb | string | Frequent predecessors (words that frequently precede the given word) |
| rel_com | string | Holonyms (words that the given word is a part of) |
| rel_gen | string | Hyponyms (more specific terms) |
| rel_hom | string | Homophones (sound-alike words) |
| rel_jja | string | Nouns that the given adjective describes |
| rel_jjb | string | Adjectives that describe the given noun |
| rel_nry | string | Near rhymes (approximate rhymes) |
| rel_par | string | Meronyms (words that are parts of the given word) |
| rel_rhy | string | Perfect rhymes |
| rel_spc | string | Hypernyms (more general terms) |
| rel_syn | string | Synonyms (words with the same meaning) |
| rel_trg | string | Triggers (statistically associated words) |
{
"type": "object",
"fields": {
"data": "array of word result objects each containing word, score, and optionally tags",
"status": "string indicating success"
},
"sample": {
"data": [
{
"tags": [
"syn",
"adj",
"v",
"results_type:primary_rel"
],
"word": "pleased",
"score": 40004395
},
{
"tags": [
"syn",
"adj"
],
"word": "blissful",
"score": 40004156
},
{
"tags": [
"syn",
"adj"
],
"word": "content",
"score": 40004024
}
],
"status": "success"
}
}About the datamuse.com API
The Datamuse API gives access to 4 endpoints that cover word search by meaning, sound, and spelling, plus rhyme lookup, autocomplete suggestions, and per-word metadata. The get_word_metadata endpoint returns definitions, parts of speech, syllable count, pronunciation, and frequency for any word in a single call. It supports English by default with optional Spanish vocabulary via the v parameter.
Word Search and Lexical Constraints
The word_search endpoint is the most flexible entry point. It accepts multiple constraint parameters simultaneously: ml (means like) finds semantically related words, sl (sounds like) matches by pronunciation, and sp (spelled like) supports wildcard patterns using * and ?. You can also supply lc and rc for left and right context, which biases results toward words that fit naturally in a given phrase. The md parameter controls what metadata is appended to each result — pass d for definitions, p for parts of speech, s for syllable count, r for pronunciation, and f for word frequency.
Rhymes and Autocomplete
The get_rhyming_words endpoint takes a single required word parameter and returns an array of perfect rhymes, each with a score and numSyllables field. This makes it straightforward to filter rhymes by syllable count on the client side. The get_autocomplete_suggestions endpoint accepts a prefix string via the s parameter and returns candidate completions ordered by corpus frequency, useful for search-as-you-type interfaces. Both endpoints accept a max parameter to cap result count.
Word Metadata
The get_word_metadata endpoint returns a single result object for a specific word containing word, score, numSyllables, tags (which encode parts of speech and pronunciation data), and defs (an array of definition strings prefixed with the part of speech). This is the most direct route when you know exactly which word you want to look up rather than searching across a vocabulary. A Spanish vocabulary is available across all endpoints via v=es.
- Build a rhyme generator for a poetry tool using
get_rhyming_wordsfiltered bynumSyllables - Power search-as-you-type autocomplete in a writing app using
get_autocomplete_suggestionswith a prefix string - Implement a crossword or word puzzle helper using the
spwildcard parameter inword_search - Fetch definitions and parts of speech for vocabulary flashcard apps via
get_word_metadata - Find contextually appropriate synonyms in a text editor by combining
mlandlc/rcinword_search - Display syllable counts and pronunciation tags alongside dictionary entries using the
mdmetadata flags - Support Spanish word lookup in multilingual apps by passing
v=esto any endpoint
| 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 | 250 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 Datamuse have an official developer API?+
What does `get_word_metadata` return versus a standard dictionary lookup?+
numSyllables, a tags array that includes the part of speech and an IPA-style pronunciation code, a defs array where each entry is prefixed with the part of speech (e.g., 'n the quality of...'), a numeric score, and the word itself. It does not return etymologies, example sentences, or audio pronunciations.Does the API cover languages other than English?+
v=es parameter on all endpoints. Other languages are not currently covered. You can fork the API on Parse and revise it to point at additional vocabulary identifiers if Datamuse adds them, or to integrate a separate vocabulary source.Does `word_search` support filtering results by part of speech?+
tags field when you pass md=p, but you cannot constrain the search to return only nouns or only verbs. You can fork the API on Parse and revise it to add client-side filtering on the tags field before returning results.Are near-rhymes or imperfect rhymes included in `get_rhyming_words`?+
word_search endpoint with sl (sounds like) covers approximate phonetic matches and can serve as a partial substitute. You can fork the API on Parse and revise it to combine both result sets.