# List words

`GET https://api.unique.domains/v1/words`

Searches the catalog's words by text and facets, alphabetically.

Enabled words only, every word with a deny class left out. Alphabetical order only, keyset-paged by `(word, id)`. Popularity and sentiment are numeric ranges on the stored 0 to 100 scale.

- Access: A member key (Founder or Investor) or a paid RapidAPI subscription to this API.
- Billing: One call.
- Formats: JSON, CSV (`.csv`)
- API: Word Intelligence API

## Request

| Field | Type | Needs | Where | Description |
| --- | --- | --- | --- | --- |
| `q` | string | Optional | Query | A prefix of the word. |
| `contains` | string | Optional | Query | A substring of the word. |
| `pos` | string | Optional | Query | A part-of-speech tag as stored (`noun`, `verb`, `adjective`, ...). |
| `shape` | string: single, properNoun, acronym, twoWords, phrase | Optional | Query | The entry's shape. |
| `minLength` | integer | Optional | Query | Shortest length. |
| `maxLength` | integer | Optional | Query | Longest length. |
| `popularityMin` | integer | Optional | Query | Lowest popularity (how widely the word is used). |
| `popularityMax` | integer | Optional | Query | Highest popularity. |
| `sentimentMin` | integer | Optional | Query | Lowest sentiment (50 is neutral). |
| `sentimentMax` | integer | Optional | Query | Highest sentiment. |
| `style` | string: modern, elegant, slab, handwritten, playful, futuristic | Optional | Query | The word's type style. |
| `syllables` | integer | Optional | Query | Syllable count. |
| `origin` | string: dictionary, trend, api, review | Optional | Query | How the word entered the catalog. |
| `category` | string | Optional | Query | A category slug (`GET /words/categories`). |
| `limit` | integer | Optional | Query | Rows a page: 20 by default, at most 20 without a key and 100 with a paid subscription; a larger value is clamped. |
| `cursor` | string | Optional | Query | The `meta.cursor` of the previous page; the last page answers `null`. |
| `fields` | string | Optional | Query | Comma-separated top-level keys to keep; an unknown key answers 400 `unsupported_field`. |

## Sample request

```bash
curl -X GET "https://api.unique.domains/v1/words" \
  -H "Authorization: Bearer YOUR_MEMBER_KEY"
```

## Response

| Field | Type | Description |
| --- | --- | --- |
| `id` | string |  |
| `slug` | string \| null |  |
| `word` | string |  |
| `shape` | string \| null |  |
| `pos` | string \| null |  |
| `size` | integer \| null |  |
| `origin` | string |  |

## Errors

| Code | Status | What it means |
| --- | --- | --- |
| [`rate_limited`](https://unique.domains/api/problems/rate_limited) | 429 | Too many requests |
| [`internal`](https://unique.domains/api/problems/internal) | 500 | Unexpected error |

## Example answer

200, application/json

```json
{
  "data": [
    {
      "id": "wrd_48213",
      "slug": "harbor",
      "word": "harbor",
      "shape": "single",
      "pos": "noun,verb",
      "size": 6,
      "origin": "dictionary"
    }
  ],
  "meta": {
    "asOf": "2026-11-05T08:00:00Z",
    "cursor": null,
    "limit": 20
  },
  "links": {
    "self": "https://api.unique.domains/v1/words",
    "next": null,
    "register": null,
    "product": null,
    "dataset": null
  }
}
```

API status: https://uniquedomains.instatus.com

Full reference: https://unique.domains/api
