OpenTZ

API

Base URL: https://opentz.noomad.org/v2.1/ (/v2/ is an alias). All endpoints answer GET (and POST with a form body), return XML by default or JSON with format=json (lower case), and report the outcome in the body: read status (OK or FAILED) and message. Most failures keep HTTP status 200; an invalid key or format and the parameter errors of convert-time-zone use 400. Failed responses still carry every field of the endpoint, emptied.

You need a free API key: register. Every feature is available to every key, including lookups by city and by IP address. There is no quota; a burst limit of a few dozen requests per second per key protects the service.

Endpoints

get-time-zoneLocal time, UTC offset and DST status of a time zone, found by zone name or abbreviation, by latitude/longitude, by city name or by IP address.
list-time-zoneList of all supported time zones, optionally filtered by country or name pattern.
convert-time-zoneConvert a timestamp between two time zones.

Common parameters

ParameterRequiredDescription
keyRequiredYour API key, from your account.
formatOptionalxml (default) or json.
callbackOptionalJavaScript function name for a JSONP response.
fieldsOptionalComma-separated list (no spaces) of the fields to return. Default: all fields of the endpoint.

Errors

Errors are returned with status=FAILED and a human readable message, for example Invalid API key., Record not found., Invalid lookup method., Parameter "zone" (Time Zone Name or Abbreviation) is not provided. or Too many requests. JSON responses are indented with four spaces, as in the original TimeZoneDB service.

Quick start

GET https://opentz.noomad.org/v2.1/get-time-zone?key=YOUR_API_KEY&format=json&by=zone&zone=America/Chicago
{"status":"OK","message":"","countryCode":"US","countryName":"United States","regionName":"","cityName":"","zoneName":"America\/Chicago","abbreviation":"CDT","gmtOffset":-18000,"dst":"1","zoneStart":1772956800,"zoneEnd":1793516399,"nextAbbreviation":"CST","timestamp":1791522815,"formatted":"2026-10-09 05:13:35"}