Static, free, public JSON for Pacific Coast school dates — learning periods, school days, and holidays. Published daily from PLSIS report 2618.
| URL | Returns |
|---|---|
| /v1/calendar.json | Everything |
| /v1/today.json | Is today a school day, current LP |
| /v1/next-vacation.json | Next vacation |
| /v1/health.json | Freshness / last run |
const r = await fetch('https://dates.warner.click/v1/today.json');
const today = await r.json();
if (today.isSchoolDay) { /* ... */ }
School-wide dates (above) are separate from Spark/Robotics program dates — session start/end, withdrawal deadlines, Learning Coach orientations, and no-class windows (including State Testing). Those live in a companion feed:
| URL | Returns |
|---|---|
| spark-calendar.json | Per-year sessions, withdrawals (MW/TT), orientations, no-class windows |
const r = await fetch('https://raw.githubusercontent.com/warnerwes/spark-calendar/main/v1/spark-calendar.json');
const cal = await r.json();
const y = cal.years['2026-2027'];
y.sessions; // [{ label, begins, ends, withdrawal:[{pattern:'MW',date}, ...] }]
y.orientations; // [{ label, date }]
y.noClassWindows; // [{ label:'State Testing', start, end }]
Need both? School closures come from this School Dates API; program-specific dates come from the Spark feed. They are intentionally separate sources with different lifecycles. Source: github.com/warnerwes/spark-calendar
CORS-open (Access-Control-Allow-Origin: *).
Source: github.com/warnerwes/school-dates