최종 업데이트
공개 Pulse
시스템 전체 LIVE 수치와 최신 공개 이벤트로, RoomScope 홈페이지에 표시되는 피드입니다. API key가 필요 없고 크레딧도 사용하지 않습니다.
요청
사이트 origin에서 파라미터와 인증 없이 GET /web-api/public/pulse를 호출합니다. /v1 API에 속하지 않는 공개 웹 엔드포인트이므로 Authorization 헤더를 받지 않으며 사용량에도 표시되지 않습니다.
curl "https://toktokdata.live/web-api/public/pulse"응답
JSON 객체 하나입니다. 모든 수치는 플랫폼 전체를 기준으로 집계되며, 특정 워크스페이스, 사용자 또는 알림 규칙에 속한 값은 포함되지 않습니다.
{ "liveRooms": 55, "trackedRooms": 460, "boardsObserved24h": 244, "regions": ["VN"], "alertsDelivered24h": 820, "observedAt": "2026-11-04T04:04:36.242Z", "events": [ { "type": "live_start", "region": "VN", "at": "2026-11-04T04:02:02.941Z" }, { "type": "board_observed", "region": "VN", "board": "league_a1", "at": "2026-11-04T04:00:59.535Z" }, { "type": "rank_move", "handle": "creator.handle", "region": "VN", "board": "daily", "rank": 4, "previousRank": 12, "at": "2026-11-04T03:52:14.621Z" } ], "provenance": { "observedAt": "2026-11-04T04:04:36.242Z", "freshness": "near_realtime", "source": "platform_counters", "sourceKind": "derived", "coverageStatus": "observed", "methodologyVersion": "pulse-v1", "window": { "from": "2026-11-03T04:04:36.242Z", "to": "2026-11-04T04:04:36.242Z", "label": "24h" } }}| 필드 | 유형 | 의미 |
|---|---|---|
liveRooms | integer | RoomScope가 기록 중인 방 가운데 지금 방송 중인 방의 수. |
trackedRooms | integer | 하나 이상의 워크스페이스가 팔로우하는 서로 다른 방의 수. |
boardsObserved24h | integer | 최근 24시간 동안 관측된 공식 보드 수. 지역, 보드, 기간 조합마다 한 번씩 집계됩니다. |
regions | string[] | 해당 보드의 지역 코드, 정렬된 순서. |
alertsDelivered24h | integer | 최근 24시간 동안 전송된 알림 수. |
observedAt | string | 이 스냅샷이 계산된 시각(ISO 8601, UTC). |
events | object[] | 최신 공개 이벤트 최대 10개, 최신순(아래 참고). |
provenance | object | 모든 RoomScope 지표와 마찬가지로, 수치의 출처, 방법, 24시간 기간. |
이벤트
각 이벤트에는 type과 at 시각이 있습니다. 유형은 세 가지뿐이며, 나중에 다른 유형이 보이면 무시하세요.
| 유형 | 필드 | 발생 조건 |
|---|---|---|
board_observed | region, board, at | 공개 보드의 가장 최근 완전한 스냅샷(쇼핑 보드는 공개되지 않습니다). |
rank_move | handle, region, board, rank, previousRank, at | 공개 보드의 공개 상위 10위 안에 있는 크리에이터가 이전 기간보다 순위가 올랐습니다. 보드당 최대 3개, 상승 폭이 큰 순서. |
live_start | region, at, handle? | 최근 7일 안에 공개 보드의 공개 상위 10위에 오른 크리에이터가 방송을 시작했습니다. |
live_start에는 handle이 포함되지 않습니다.최신성과 캐싱
스냅샷은 한 번 계산되어 60초 동안 모든 호출자에게 공유되며, 응답에는 Cache-Control: public, max-age=30이 포함됩니다. 1분에 한 번보다 자주 폴링해도 같은 수치가 반환됩니다. 수치가 얼마나 오래되었는지는 observedAt으로 표시하세요.
한도와 오류
호출은 클라이언트 IP별로 제한됩니다. 이 엔드포인트는 시간당 300회이며, 이는 분당 120회의 공개 버스트 한도와 플랫폼 전체 상한 안에서 적용됩니다. 한도를 넘으면 429와 초 단위 Retry-After를 반환합니다.
HTTP/2 429Retry-After: 1260 { "code": "public_allowance_exhausted", "message": "You reached the public limit of 300 per hour…", "requestId": "…", "retryable": true }공개 영역이 꺼져 있거나 캐시에 연결할 수 없으면 503과 코드 public_surface_unavailable, retryable: true를 반환합니다. 둘 다 API의 나머지 부분과 같은 오류 형식을 사용합니다.