Error Codes

Reference for all API error codes and their meanings.

Error Response Format

All errors follow a consistent JSON format:

{
  "error": "error_code",
  "message": "Human-readable description of the error"
}

HTTP Status Codes

CodeErrorDescription
400bad_requestThe request was malformed or missing required parameters
401unauthorizedInvalid or missing API key
403forbiddenYour plan does not include access to this endpoint
404not_foundThe requested resource does not exist
429rate_limit_exceededToo many requests — see Rate Limits
500internal_errorAn unexpected server error occurred
503service_unavailableThe API is temporarily unavailable

Common Errors

Invalid Date Format

{
  "error": "bad_request",
  "message": "Invalid date format. Use YYYY-MM-DD."
}

No Data Available

{
  "error": "not_found",
  "message": "No race data found for 2025-12-25. Races are not held on this date."
}

Plan Restriction

{
  "error": "forbidden",
  "message": "WebSocket endpoints require an Ultimate plan. Please upgrade at /pricing."
}