Última atualização
Pulse público
Números de LIVE de toda a plataforma e os eventos públicos mais recentes: o feed por trás da página inicial da RoomScope. Não exige chave de API e não consome créditos.
Requisição
GET /web-api/public/pulse na origem do site, sem parâmetros e sem autenticação. É um endpoint web público, não faz parte da API /v1: não aceita um cabeçalho Authorization e não aparece no seu uso.
curl "https://toktokdata.live/web-api/public/pulse"Resposta
Um único objeto JSON. Cada número é contado em toda a plataforma: nada nele pertence a um espaço de trabalho, a um usuário ou a uma regra de alerta.
{ "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" } }}| Campo | Tipo | Significado |
|---|---|---|
liveRooms | integer | Salas que a RoomScope está registrando e que estão ao vivo agora. |
trackedRooms | integer | Salas distintas acompanhadas por pelo menos um espaço de trabalho. |
boardsObserved24h | integer | Rankings oficiais observados nas últimas 24 horas, contados uma vez por região, ranking e período. |
regions | string[] | Códigos de região desses rankings, em ordem. |
alertsDelivered24h | integer | Notificações de alerta entregues nas últimas 24 horas. |
observedAt | string | Quando este snapshot foi calculado (ISO 8601, UTC). |
events | object[] | Até 10 eventos públicos mais recentes, do mais novo para o mais antigo (veja abaixo). |
provenance | object | Fonte, método e janela de 24 horas dos números, como em toda métrica da RoomScope. |
Eventos
Cada evento tem um type e um horário at. Existem só três tipos; ignore qualquer outro que possa aparecer no futuro.
| Tipo | Campos | Quando |
|---|---|---|
board_observed | region, board, at | O snapshot completo mais recente de um ranking público (os rankings de shopping não são públicos). |
rank_move | handle, region, board, rank, previousRank, at | Um criador no top 10 aberto de um ranking público subiu desde o período anterior. Até 3 por ranking, da maior subida para a menor. |
live_start | region, at, handle? | Um criador que chegou ao top 10 aberto de um ranking público nos últimos 7 dias entrou ao vivo. |
live_start não traz handle enquanto esse criador ainda está ao vivo, exatamente como o showroom oculta criadores ao vivo.Atualização e cache
O snapshot é calculado uma vez e compartilhado com todos os chamadores por 60 segundos; as respostas trazem Cache-Control: public, max-age=30. Consultar mais de uma vez por minuto retorna os mesmos números. Use observedAt para mostrar a idade deles.
Limites e erros
As chamadas são limitadas por IP de cliente: 300 por hora para este endpoint, dentro do limite público de rajada de 120 por minuto e de um teto para toda a plataforma. Acima de um limite, a resposta é 429 com Retry-After em segundos.
HTTP/2 429Retry-After: 1260 { "code": "public_allowance_exhausted", "message": "You reached the public limit of 300 per hour…", "requestId": "…", "retryable": true }Quando a superfície pública está desativada ou o cache dela está inacessível, a resposta é 503 com o código public_surface_unavailable e retryable: true. Os dois usam o mesmo envelope de erro do restante da API.