API Documentation

Access structured school calendar data for districts across the United States. Get first/last day of school, breaks, holidays, and more in JSON or iCal format.

Base URL

https://api.schools-calendar.com

Authentication

The API supports both authenticated and unauthenticated requests:

  • Free tier (no API key): 100 requests/month, rate limited by IP
  • Paid tiers: Include your API key in the request header
# Include API key in header
X-API-Key: your-api-key

# Or use Authorization header
Authorization: Bearer your-api-key

Quick Start

// JavaScript / Node.js
const response = await fetch(
  'https://api.schools-calendar.com/calendar?district_id=tx-houston-isd',
  {
    headers: {
      'X-API-Key': 'your-api-key' // Optional for free tier
    }
  }
);
const calendar = await response.json();
console.log(calendar.firstDay); // "2025-08-11"

Endpoints

Rate Limits

Rate limit information is included in response headers:

HeaderDescription
X-RateLimit-LimitMaximum requests allowed
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when limit resets

Error Codes

CodeDescription
400Bad Request - Missing or invalid parameters
401Unauthorized - Invalid or missing API key
404Not Found - District or calendar not found
429Too Many Requests - Rate limit exceeded
500Internal Server Error