Free time API
Exact UTC as JSON, from our reference clock in Frankfurt, which is synchronised with Germany’s national time institute PTB. Free, no key, no sign-up, and usable directly from web pages.
Current time
GET https://time.exact-time.eu/api/v1/time
Example response:
{
"unixtime": 1793091821,
"unixtime_ms": 1793091821487,
"utc": "2026-10-27T09:03:41.487Z",
"tai_minus_utc_s": 37,
"gps_minus_utc_s": 18,
"leap_second_pending": false,
"reference": {
"synced": true,
"source": "PTB, Braunschweig (DE)",
"host": "ptbtime1.ptb.de",
"stratum": 2,
"uncertainty_ms": 3.5,
"status_age_s": 28
},
"note": "Timestamp taken when the request was processed. …",
"docs": "https://exact-time.eu/time-api"
}
Fields
| Field | Meaning |
|---|---|
unixtime, unixtime_ms | Seconds and milliseconds since 1970-01-01 00:00:00 UTC, when our server processed the request |
utc | The same moment in ISO 8601, with milliseconds |
tai_minus_utc_s, gps_minus_utc_s | Current offsets of atomic time and GPS time from UTC (see time scales) |
leap_second_pending | true if our atomic time sources announce an upcoming leap second |
reference.synced | false if our server has lost its atomic reference; treat the time with caution then |
reference.uncertainty_ms | Upper bound of our server’s difference from atomic time, from chrony |
NTP server test
GET https://time.exact-time.eu/api/v1/ntp-test?host=ptbtime1.ptb.de
Queries a public NTP server four times from Frankfurt and checks NTS support. This is the API behind our NTP server tester; it takes about five seconds.
Examples
# Shell
curl -s https://time.exact-time.eu/api/v1/time
// JavaScript (browser or Node.js 18+)
const t = await (await fetch('https://time.exact-time.eu/api/v1/time')).json();
console.log(t.utc);
# Python
import json, urllib.request
t = json.load(urllib.request.urlopen('https://time.exact-time.eu/api/v1/time'))
print(t['utc'])
For the best accuracy, measure the round trip of your request and add half of it to unixtime_ms. That is what our own pages do, several times, keeping the fastest result.
Limits and fair use
- Time: up to 60 requests per minute per address, with short bursts of up to 20. Over the limit you get HTTP 429.
- NTP test: up to 10 tests per 10 minutes per address, and each target server at most a few times per minute.
- CORS is enabled for all origins, so the API works directly from web pages.
- No guarantee. This is a free service run on a small server. Do not build anything critical on it.
- To keep a computer’s clock right, use NTP, not this API. NTP is more accurate and designed for it; see our NTP server list.
- A link to exact-time.eu where you use the API is appreciated.