Catalog/words-pattern-match

Words

Crossword / word-pattern solver API

Solve a letter pattern (? = one letter, * = any run, e.g. 'c?a?se') with optional length and substring constraints, ranked by corpus frequency. Answers 'what words fit this crossword pattern?', 'what 6-letter word is l_v_r?'.

Price$0.01per request
MethodPOST
Route/v1/words/pattern-match
StatusLive
MIME typeapplication/json
Rate limit60/minute
Cache86400s public
wordscrosswordpatternwildcardsolverwordgamedatamuselexical
API URLhttps://x402.hexl.dev/v1/words/pattern-match
Integration docs
Example request
{
  "pattern": "c?a?se",
  "max": 5
}
Example response
{
  "pattern": "c?a?se",
  "constraints": {
    "length": null,
    "contains": null
  },
  "count": 5,
  "matches": [
    {
      "word": "clause",
      "score": 8049,
      "frequencyPerMillion": 16.249833,
      "zipf": 4.21,
      "band": "common"
    },
    {
      "word": "coarse",
      "score": 34048,
      "frequencyPerMillion": 8.006029,
      "zipf": 3.9,
      "band": "frequent"
    },
    {
      "word": "chaise",
      "score": 8036,
      "frequencyPerMillion": 0.593444,
      "zipf": 2.77,
      "band": "uncommon"
    },
    {
      "word": "classe",
      "score": 3,
      "frequencyPerMillion": 0.375744,
      "zipf": 2.57,
      "band": "uncommon"
    },
    {
      "word": "chasse",
      "score": 1022,
      "frequencyPerMillion": 0.194404,
      "zipf": 2.29,
      "band": "uncommon"
    }
  ]
}
Input schema
{
  "type": "object",
  "required": [
    "pattern"
  ],
  "properties": {
    "pattern": {
      "type": "string",
      "description": "Letters plus '?' (one letter) and '*' (any run), e.g. 'c?a?se'."
    },
    "length": {
      "type": "integer",
      "description": "Optional exact word length filter."
    },
    "contains": {
      "type": "string",
      "description": "Optional substring the word must contain."
    },
    "max": {
      "type": "integer",
      "default": 30,
      "minimum": 1,
      "maximum": 100
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}