← Docs

Timezone API

The zone at a point, or look up an IANA id.

Pass a latitude and longitude and get the IANA zone at that point. Open ocean answers nautical time, the Etc/GMT zone for its longitude band. Those ids carry the POSIX sign, so Etc/GMT+3 means UTC-03:00, and the offset fields read the normal way. You can also look up an IANA id like America/New_York or UTC. Same bag either way: abbreviation, offset, whether DST is on, a friendly name, and next_dst when a transition exists.

Defaults to now. Pass ?at= with an ISO timestamp for a specific moment. On the id path, URL-encode / (America%2FNew_York), or use the multi-segment path form.

From a point

GET
api.parseapi.com/timezone?lat={lat}&lon={lon}
IANA zone at a coordinate. Optional ?at= (ISO)
curl "https://api.parseapi.com/timezone?lat=40.7128&lon=-74.006" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "latitude": 40.7128,
  "longitude": -74.006,
  "timezone": "America/New_York",
  "name": "Eastern Time",
  "abbreviation": "EDT",
  "offset": "-04:00",
  "offset_minutes": -240,
  "dst": true,
  "next_dst": {
    "at": "2026-11-01T06:00:00.000Z",
    "dst": false,
    "offset": "-05:00",
    "abbreviation": "EST"
  }
}

By IANA id

GET
api.parseapi.com/timezone/{timezone}
Offset, abbreviation, DST, name, and next DST. Optional ?at= (ISO)
curl "https://api.parseapi.com/timezone/America%2FNew_York" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "timezone": "America/New_York",
  "name": "Eastern Time",
  "abbreviation": "EDT",
  "offset": "-04:00",
  "offset_minutes": -240,
  "dst": true,
  "next_dst": {
    "at": "2026-11-01T06:00:00.000Z",
    "dst": false,
    "offset": "-05:00",
    "abbreviation": "EST"
  }
}

Convert

Add ?to= with another zone to convert a time. The response appends at, the resolved wall time in the from zone, and a to object whose at is the converted time, DST resolved on both sides. An at without a UTC offset reads as wall time in the from zone, the way people actually ask. No ?at= converts now.

GET
api.parseapi.com/timezone/{timezone}?to={timezone}&at={time}
Convert a time between zones. Both sides ISO with their UTC offsets
curl "https://api.parseapi.com/timezone/America/New_York?to=Asia/Tokyo&at=2026-08-29T15:00" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "timezone": "America/New_York",
  "name": "Eastern Time",
  "abbreviation": "EDT",
  "offset": "-04:00",
  "offset_minutes": -240,
  "dst": true,
  "next_dst": {
    "at": "2026-11-01T06:00:00.000Z",
    "dst": false,
    "offset": "-05:00",
    "abbreviation": "EST"
  },
  "at": "2026-08-29T15:00:00-04:00",
  "to": {
    "timezone": "Asia/Tokyo",
    "name": "Japan Standard Time",
    "abbreviation": "Japan Time",
    "offset": "+09:00",
    "offset_minutes": 540,
    "dst": false,
    "at": "2026-08-30T04:00:00+09:00"
  }
}

Response fields

latitude
Input latitude (coords path only)
longitude
Input longitude (coords path only)
timezone
IANA timezone id. Nautical Etc/GMT zone over open ocean
name
Friendly / generic name (e.g. Eastern Time)
abbreviation
Short zone name (EDT, EST, …)
offset
UTC offset as ±HH:MM
offset_minutes
UTC offset in minutes
dst
Whether daylight saving is in effect at the reference time
next_dst
Next offset transition after the reference time, or null
at
With ?to= only: the resolved wall time in the from zone, ISO with its UTC offset
to
With ?to= only: the other zone evaluated at the same instant
to.at
The converted time, ISO with its UTC offset

Questions? Email