Time, as JSON.
A small, versioned REST API for timezone-aware applications. Built with Hono on Cloudflare Workers, using the same timezone logic as this website.
The API source is included in the repository. Endpoints become available after the Worker is deployed and its hostname is configured. This page does not imply a live production service.
Quick start
curl "https://YOUR-WORKER-HOST/v1/time?timezone=Asia/Kolkata"All endpoints use GET and return JSON. No API key is required in this initial release. CORS permits browser requests. There is no uptime guarantee, billing, or per-client rate limit; platform limits apply. Add Cloudflare traffic controls before promoting the public API.
GET /v1/timeCurrent local time, UTC instant and numeric offset. Optional at accepts an ISO instant.
/v1/time?timezone=Asia/KolkataGET /v1/timezonesSearch runtime-supported IANA identifiers. UTC is also accepted.
/v1/timezones?q=EuropeGET /v1/convertDisplay one absolute instant in a source and target timezone.
/v1/convert?at=2026-10-10T12%3A00%3A00Z&from=Europe/London&to=Asia/KolkataGET /v1/differenceCompare UTC offsets at the same instant. Optional at selects the date.
/v1/difference?from=Europe/London&to=Asia/KolkataGET /v1/dstReturn UTC offset transitions for a year (2000–2100). Does not infer a DST boolean.
/v1/dst?timezone=Europe/London&year=2026GET /v1/meeting-plannerFind full one-hour working-hour overlaps. Optional at, startHour, endHour, durationMinutes. Includes weekends.
/v1/meeting-planner?timezones=Europe/London,Asia/Kolkata&days=2GET /v1/healthCheck Worker status and API version.
Datetime contract
at must identify an absolute instant, such as 2026-10-10T12:00:00Z or 2026-10-10T17:30:00+05:30. URL-encode the plus sign as %2B. Bare local datetimes are rejected, avoiding ambiguity around daylight saving time. The conversion endpoint’s from controls source display; it does not reinterpret the instant.
Errors & accuracy
Invalid timezone identifiers, malformed dates and missing required parameters return HTTP 400 with an error string. Unknown routes return 404. Worker time uses the server clock; website clocks use the visitor’s device. Both depend on the runtime’s timezone database. Offset transition scanning uses six-hour samples and minute resolution; it is not a historical timezone archive.
Deployment instructions and example responses are in the repository README.