Documentation

Error Handling

Understand ALT Sports Data HTTP status codes, error payloads, and recovery patterns.

Error Handling

Diagram showing error codes reference

ALT Sports Data uses standard HTTP status codes and consistent error payloads so applications can recover cleanly.

Common status codes

CodeStatusDescription
200OKRequest succeeded
400Bad RequestInvalid request parameters
401UnauthorizedMissing or invalid API key
403ForbiddenAPI key does not have access
404Not FoundRequested resource does not exist
429Too Many RequestsRate limit exceeded
500Internal Server ErrorUnexpected server error
503Service UnavailableTemporary disruption

Error payload shape

Most failed requests return an error object:

{
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable error message",
    "details": {
      "field": "Additional context"
    }
  }
}

Common failure cases

Invalid API key

{
  "error": {
    "code": "INVALID_API_KEY",
    "message": "The provided API key is invalid or has been revoked"
  }
}

Validation error

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid request parameters",
    "details": {
      "limit": "Must be between 1 and 100"
    }
  }
}

Rate limit error

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Please retry after 1678886400",
    "retry_after": 1678886400
  }
}

Recovery guidance

async function fetchJson(url, headers) {
  const response = await fetch(url, { headers });

  if (response.ok) {
    return response.json();
  }

  const errorPayload = await response.json();
  throw new Error(
    `${response.status}: ${errorPayload.error?.message ?? 'Request failed'}`
  );
}
import requests

def fetch_json(url: str, headers: dict[str, str]):
    response = requests.get(url, headers=headers)

    if response.ok:
        return response.json()

    payload = response.json()
    message = payload.get('error', {}).get('message', 'Request failed')
    raise RuntimeError(f'{response.status_code}: {message}')

On this page