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.comAuthentication
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-keyQuick 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:
| Header | Description |
|---|---|
| X-RateLimit-Limit | Maximum requests allowed |
| X-RateLimit-Remaining | Requests remaining in current window |
| X-RateLimit-Reset | Unix timestamp when limit resets |
Error Codes
| Code | Description |
|---|---|
| 400 | Bad Request - Missing or invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 404 | Not Found - District or calendar not found |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error |