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 URL
Integration docshttps://x402.hexl.dev/v1/words/pattern-matchExample 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
}