# Words API
> Find words by meaning, sound and spelling — similar-meaning words (thesaurus), rhymes, autocomplete suggestions and wildcard spelling matches. Backed by Datamuse. Ideal for writing assistants, autocomplete, crosswords, word games, poetry tools and NLP preprocessing.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/words-api/..."
```

## Pricing
- **Free** (Free) — 12,000 calls/Mo, 2 req/s
- **Basic** ($8/Mo) — 120,000 calls/Mo, 8 req/s
- **Pro** ($22/Mo) — 600,000 calls/Mo, 25 req/s
- **Mega** ($64/Mo) — 2,500,000 calls/Mo, 80 req/s

## Endpoints

### Words

#### `GET /v1/rhymes` — Rhyming words

**Parameters:**
- `word` (query, required, string) — Source word Example: `blue`
- `max` (query, optional, string) — Max 1-100 Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/words-api/v1/rhymes?word=blue&max=20"
```

**Response:**
```json
{
    "data": {
        "type": "rhymes",
        "word": "blue",
        "count": 20,
        "results": [
            {
                "word": "slew",
                "score": 41039
            },
            {
                "word": "subdue",
                "score": 31034
            },
            {
                "word": "pursue",
                "score": 28033
            },
            {
                "word": "true",
                "score": 27050
            },
            {
                "word": "view",
                "score": 27048
            },
            {
                "word": "construe",
                "score": 27039
            },
            {
                "word": "hitherto",
                "score": 27030
            },
            {
                "word": "eschew",
                "score": 26039
            },
            {
                "word": "purview",
                "score": 25041
            },
            {
                "word": "imbue",
                "score": 25036
            },
            {
                "word": "coo",
                "score": 24050
            },
            {
                "word": "taboo",
                "score": 24043
            },
            {
                "word": "rendezvous",
                "score": 23044
            },
            {
                "word": "skew",
                "score": 19044
            },
            {
                "word": "through",
                "score": 19042

…(truncated, see openapi.json for full schema)
```

#### `GET /v1/similar` — Similar-meaning words

**Parameters:**
- `word` (query, required, string) — Source word Example: `ocean`
- `max` (query, optional, string) — Max 1-100 Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/words-api/v1/similar?word=ocean&max=20"
```

**Response:**
```json
{
    "data": {
        "type": "similar_meaning",
        "word": "ocean",
        "count": 20,
        "results": [
            {
                "tags": [
                    "syn",
                    "n",
                    "results_type:primary_rel"
                ],
                "word": "sea",
                "score": 40041792
            },
            {
                "tags": [
                    "n"
                ],
                "word": "expanse",
                "score": 30041645
            },
            {
                "tags": [
                    "adj",
                    "n",
                    "prop"
                ],
                "word": "oceanic",
                "score": 30041524
            },
            {
                "tags": [
                    "n"
                ],
                "word": "seabed",
                "score": 30040935
            },
            {
                "tags": [
                    "n"
                ],
                "word": "seafloor",
                "score": 30040708
            },
            {
                "tags": [
                    "adj",
                    "prop"
                ],
                "word": "oceanographic",
                "score": 30040704
            },
            {
                "tags": [
                    "n"
                ],
                "word": "pelagic",
                "score": 30040597
            },
            {
                "tags": [
           
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/spelled` — Wildcard spelling match

**Parameters:**
- `pattern` (query, required, string) — Pattern with ? and * Example: `t??k`
- `max` (query, optional, string) — Max 1-100 Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/words-api/v1/spelled?pattern=t%3F%3Fk&max=20"
```

**Response:**
```json
{
    "data": {
        "count": 20,
        "pattern": "t??k",
        "results": [
            {
                "word": "task",
                "score": 22048
            },
            {
                "word": "trek",
                "score": 17036
            },
            {
                "word": "tack",
                "score": 14063
            },
            {
                "word": "tank",
                "score": 9061
            },
            {
                "word": "tusk",
                "score": 8036
            },
            {
                "word": "tuck",
                "score": 6046
            },
            {
                "word": "took",
                "score": 6035
            },
            {
                "word": "tick",
                "score": 5078
            },
            {
                "word": "tonk",
                "score": 5016
            },
            {
                "word": "talk",
                "score": 4048
            },
            {
                "word": "tink",
                "score": 3021
            },
            {
                "word": "thnk",
                "score": 2002
            },
            {
                "word": "turk",
                "score": 1033
            },
            {
                "word": "teek",
                "score": 1012
            },
            {
                "word": "truk",
                "score": 1009
            },
            {
                "word": "tock",
 
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/suggest` — Autocomplete suggestions

**Parameters:**
- `q` (query, required, string) — Prefix Example: `eleph`
- `max` (query, optional, string) — Max 1-100 Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/words-api/v1/suggest?q=eleph&max=10"
```

**Response:**
```json
{
    "data": {
        "q": "eleph",
        "count": 10,
        "results": [
            {
                "word": "elephantine",
                "score": 152071
            },
            {
                "word": "elephanticide",
                "score": 149037
            },
            {
                "word": "elephant trunk",
                "score": 146039
            },
            {
                "word": "elephant",
                "score": 145087
            },
            {
                "word": "elephan",
                "score": 145038
            },
            {
                "word": "elephantiasis",
                "score": 144076
            },
            {
                "word": "elephants",
                "score": 144059
            },
            {
                "word": "elephants foot",
                "score": 144055
            },
            {
                "word": "elephant seal",
                "score": 144054
            },
            {
                "word": "elephant ear",
                "score": 144053
            }
        ]
    },
    "meta": {
        "timestamp": "2026-05-30T04:59:08.599Z",
        "request_id": "7c5e084e-3aae-4676-bde3-1bee3efc05f6"
    },
    "status": "ok",
    "message": "Suggestions retrieved",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/words-api
OpenAPI spec: https://www.oanor.com/api/words-api/openapi.json
