Catalog/words-anagram-solver

Words

Anagram / Scrabble rack word-builder API

Given a letter rack ('?' = blank tile), find dictionary words that can be spelled from those letters (full anagrams or sub-words), each with its Scrabble score and frequency, sorted longest/highest first. Answers 'what words can I make from these letters?', 'what's the best Scrabble play for my rack?'.

Price$0.01per request
MethodPOST
Route/v1/words/anagram-solver
StatusLive
MIME typeapplication/json
Rate limit60/minute
Cache86400s public
wordsanagramscrabblebananagramswordgamesolverdatamuselexical
API URLhttps://x402.hexl.dev/v1/words/anagram-solver
Integration docs
Example request
{
  "letters": "listen",
  "max": 6
}
Example response
{
  "letters": "listen",
  "tiles": 6,
  "blanks": 0,
  "mode": "sub-anagram",
  "minLength": 3,
  "count": 37,
  "words": [
    {
      "word": "snite",
      "length": 5,
      "scrabbleScore": 5,
      "blanksUsed": 0,
      "frequencyPerMillion": 0.005478
    },
    {
      "word": "site",
      "length": 4,
      "scrabbleScore": 4,
      "blanksUsed": 0,
      "frequencyPerMillion": 76.516476
    },
    {
      "word": "slit",
      "length": 4,
      "scrabbleScore": 4,
      "blanksUsed": 0,
      "frequencyPerMillion": 3.223155
    },
    {
      "word": "sine",
      "length": 4,
      "scrabbleScore": 4,
      "blanksUsed": 0,
      "frequencyPerMillion": 3.169709
    },
    {
      "word": "silt",
      "length": 4,
      "scrabbleScore": 4,
      "blanksUsed": 0,
      "frequencyPerMillion": 2.09816
    },
    {
      "word": "sten",
      "length": 4,
      "scrabbleScore": 4,
      "blanksUsed": 0,
      "frequencyPerMillion": 0
    }
  ],
  "note": "Candidates are the most-frequent dictionary words per length; rare long anagrams may be omitted."
}
Input schema
{
  "type": "object",
  "required": [
    "letters"
  ],
  "properties": {
    "letters": {
      "type": "string",
      "description": "Letter rack a-z; '?' or '*' = blank/wildcard tile. Max 15 tiles."
    },
    "minLength": {
      "type": "integer",
      "default": 3,
      "description": "Minimum word length (ignored when exactOnly)."
    },
    "exactOnly": {
      "type": "boolean",
      "default": false,
      "description": "Only full-length anagrams using every tile."
    },
    "max": {
      "type": "integer",
      "default": 30,
      "minimum": 1,
      "maximum": 100
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}