API Reference/

GET/api/v1/words/daily

Requires API key

Returns the same word for every caller on a given day. The word is selected from puzzle-quality words (5–6 letters) using a seeded random algorithm. Pass an optional tz parameter to get the word for your local date — someone in Tokyo on Feb 13 gets Feb 13's word even while it's still Feb 12 in UTC.

Query Parameters

NameDescription
tz
stringIANA timezone string (e.g. America/New_York, Asia/Tokyo). Determines what “today” means for the caller. Defaults to UTC if omitted.

Request

bash
# Default (UTC)
curl "https://api.playanagrama.com/api/v1/words/daily" \
  -H "Authorization: Bearer ak_your_key_here"

# With timezone
curl "https://api.playanagrama.com/api/v1/words/daily?tz=Asia/Tokyo" \
  -H "Authorization: Bearer ak_your_key_here"

Response Fields

NameDescription
word
stringThe daily featured word. Always 5–6 letters long, selected from the curated puzzle dictionary.
date
stringThe resolved date in YYYY-MM-DD format. Reflects the local date in the requested timezone.
timezone
stringThe IANA timezone used to resolve the date. Echoes the tz parameter, or UTC if none was provided.

Response 200

JSON
{
  "word": "crane",
  "date": "2026-02-06",
  "timezone": "UTC"
}

Response 200 — With timezone

JSON
{
  "word": "lobes",
  "date": "2026-02-07",
  "timezone": "Asia/Tokyo"
}

Response 400 — Invalid timezone

JSON
{
  "error": {
    "code": "INVALID_TIMEZONE",
    "message": "Invalid timezone 'Foo/Bar'. Use IANA format (e.g. America/New_York)."
  }
}

Response 401 — Missing API key

JSON
{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "A valid API key is required. Pass it as a Bearer token."
  }
}

Response 429 — Rate limited

JSON
{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Daily API limit of 100 requests exceeded. Resets at 2026-02-11T14:30:00.000Z.",
    "resetAt": "2026-02-11T14:30:00.000Z"
  }
}
The daily word resets at midnight in the requested timezone. Without a tz parameter, resets at 00:00 UTC (backwards compatible). Cache headers are set to expire at the next midnight boundary for the requested timezone. All callers with the same date and timezone receive the same word.
Was this page helpful?
Anagrama API Docs | Developer Reference