서버시간 공개 API
티켓타임 서버시간 API는 임의의 웹사이트 도메인을 받아 그 서버의 현재 시각을 밀리초 단위로 측정해 JSON으로 돌려주는 무료 공개 API입니다. 인증 키가 필요 없고, 호출 제한을 위한 회원가입도 없습니다. CORS가 열려 있어 브라우저 자바스크립트에서 바로 호출할 수 있습니다.
엔드포인트
POST https://www.tickettime.co.kr/server_time.php
Content-Type: application/x-www-form-urlencoded
server_url=https://ticket.interpark.com
응답 예시
{
"success": true,
"server_time_unix": 1785057827,
"server_time": "2026-07-26 09:23:47",
"server_time_ms": 1785057827070.7,
"offset_ms": 18.2,
"accuracy_ms": 69.9,
"method": "edge",
"cached": false,
"measured_host": null
}
응답 필드
server_time_ms |
대상 서버의 현재 시각 (Unix 밀리초). 이 값을 쓰십시오. |
accuracy_ms |
측정에 남은 오차 한계(± 밀리초). 이 값보다 정밀한 판단은 하지 마십시오. |
method |
edge = 초 경계를 직접 포착한 정밀 측정 / header = 초 단위 근사(±500ms) / loopback = 티켓타임 자체 서버 |
measured_host |
요청한 호스트에 접근할 수 없어 다른 호스트로 측정한 경우 그 호스트명. 없으면 null. |
server_time_unix |
초 단위 Unix 시각 (하위 호환용) |
server_time |
사람이 읽기 쉬운 형식의 시각 문자열 (Asia/Seoul). 표시용이며 계산에는 server_time_ms를 쓰십시오. |
offset_ms |
대상 서버 시각과 티켓타임 서버 시각의 차이(밀리초). 양수면 대상 서버가 빠릅니다. 참고용 지표이며, 시각 자체는 server_time_ms를 쓰십시오. |
cached |
캐시된 측정값 여부. 정밀 측정은 120초, 근사값은 20초 캐시됩니다. |
사용 예
자바스크립트 (브라우저)
const res = await fetch('https://www.tickettime.co.kr/server_time.php', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({ server_url: 'https://ticket.interpark.com' })
});
const data = await res.json();
console.log(new Date(data.server_time_ms), '±' + data.accuracy_ms + 'ms');
curl
curl -s -X POST \
-d "server_url=https://sugang.snu.ac.kr" \
https://www.tickettime.co.kr/server_time.php
Python
import requests
r = requests.post('https://www.tickettime.co.kr/server_time.php',
data={'server_url': 'https://ticket.melon.com'})
d = r.json()
print(d['server_time_ms'], '±', d['accuracy_ms'], 'ms', d['method'])
정확도를 반드시 함께 쓰십시오
이 API는 accuracy_ms를 함께 돌려줍니다.
server_time_ms만 쓰고 accuracy_ms를 버리면 안 됩니다.
대상 서버가 밀리초를 제공하지 않으면 method가 header가 되고 오차가 ±500ms까지 커집니다.
그 상태에서 밀리초 단위 판단을 하면 근거 없는 정밀함이 됩니다.
method가 edge일 때만 밀리초 단위 타이밍에 쓰십시오.
이용 조건
| 비용 | 무료. 인증 키·회원가입 불필요 |
| CORS | Access-Control-Allow-Origin: * — 브라우저에서 직접 호출 가능 |
| 권장 호출 간격 | 같은 호스트 기준 10초 이상. 서버가 결과를 캐시하므로 더 자주 불러도 값이 바뀌지 않습니다 |
| 출처 표기 | 의무는 아니지만, 서비스에 쓰실 때 티켓타임 링크를 남겨 주시면 계속 무료로 운영하는 데 도움이 됩니다 |
| 보증 | 무보증. 금전적 손실이 걸린 용도에서는 반드시 accuracy_ms를 확인하고 사용하십시오 |
코드 없이 쓰는 방법
API를 직접 부르지 않고 시계를 넣고 싶다면 서버시간 위젯을 쓰십시오. 대상을 고르고 iframe 또는 script 코드를 복사해 붙여 넣기만 하면 됩니다. 학과 홈페이지·팬카페·블로그에 그대로 들어갑니다.
측정 방식
HTTP 표준 시각 헤더는 초 단위 해상도만 갖습니다. 그대로 읽으면 최대 1초가 틀립니다. 티켓타임은 대상 서버에 짧은 간격으로 요청을 반복해 초 값이 바뀌는 순간(초 경계)을 직접 포착하고, 왕복 지연의 절반을 보정해 밀리초 정밀도를 얻습니다. 자세한 방법과 예매처별 실측값은 서버 시계 오차 실측 리포트에 공개돼 있습니다.