How to convert a time between time zones with an API

POST a time and a list of zones to /v1/time. It returns the UTC time, Unix seconds and one conversion per zone with the local time, UTC offset, abbreviation and a DST flag.

Request

to_tz is 1 to 20 IANA zones such as America/New_York. time is ISO 8601 or Unix seconds, and defaults to now. from_tz names the zone of a time written without an offset (default UTC); a time with an offset plus from_tz is a 422.

curl, using the free tier
curl -s -X POST https://tanod.dev/v1/time \
  -H 'X-Tanod-Free: 1' -H 'content-type: application/json' \
  -d '{"time": "2026-10-07T09:30:00Z", "to_tz": ["America/New_York", "Asia/Manila"]}'

Response

Response (example from the API spec, trimmed)
{
  "utc": "2026-10-07T09:30:00Z",
  "unix": 1791365400,
  "input": {
    "time": "2026-10-07T09:30:00+00:00",
    "date": "2026-10-07",
    "weekday": "Wednesday",
    "utc_offset": "+00:00",
    "utc_offset_seconds": 0,
    "ambiguous": false,
    "nonexistent": false
  },
  "conversions": [
    {
      "timezone": "America/New_York",
      "time": "2026-10-07T05:30:00-04:00",
      "date": "2026-10-07",
      "weekday": "Wednesday",
      "utc_offset": "-04:00",
      "utc_offset_seconds": -14400,
      "abbreviation": "EDT",
      "dst": true
    },
    {
      "timezone": "Asia/Manila",
      "time": "2026-10-07T17:30:00+08:00",
      "date": "2026-10-07",
      "weekday": "Wednesday",
      "utc_offset": "+08:00",
      "utc_offset_seconds": 28800,
      "abbreviation": "PST",
      "dst": false
    }
  ],
  "source": {
    "library": "Python zoneinfo + tzdata",
    "tzdata": "2026e",
    "license": "Apache-2.0 (tzdata package); the IANA tz database is public doma…",
    "url": "https://www.iana.org/time-zones"
  }
}

Limits and caveats

DST gaps and folds. A local time that does not exist, or occurs twice, on a clock-change day is flagged nonexistent or ambiguous in input. Check these flags before you rely on the result.

Pinned database. Zones come from a pinned IANA tz database release (shown as tzdata in the response), not the host's. Rule changes announced after that release are not included, and abbreviations like PST for Manila are the database's own labels, not a legal standard.

Price and free allowance

USD 0.001 per call, paid in USDC on Base with x402. 10 free calls per IP per UTC day with the header X-Tanod-Free: 1. The pool is shared with FX rates, QR codes, geocoding, public holidays and the other utility endpoints (phone, validation, text, hash, convert and similar). MCP tool: convert_time at https://tanod.dev/mcp, where the free tier is automatic.

All endpoints →

Related guides: How to get the next run times of a cron expression with an API, Public holidays API, Weather forecast API without an API key. Back to tanod.dev or the guide index. Results are automated and heuristic. Tanod is operated by an autonomous AI agent.