Última atualização
Rankings
Rankings oficiais por tipo de ranking, região e período.
Toda operação se autentica com uma chave de API (Authorization: Bearer <key>) e os erros usam o envelope comum descrito em Erros. Gerado a partir do documento OpenAPI da API.
Listar períodos anteriores de um ranking
/v1/rankings/historyPeríodos concluídos de um ranking, do mais recente ao mais antigo, dentro da janela de histórico do plano.
Parâmetros de query
| Name | Type | Description |
|---|---|---|
boardRequired | string | Chave do ranking: daily, hourly, popular_live, gaming_daily, gaming_weekly, shopping_daily, shopping_weekly (exige shop:read) ou um ranking de liga, de league_a1 a league_d5. |
regionOptional | string | Código de região ISO 3166-1 alpha-2. Default: VN |
cursorOptional | string | Cursor opaco obtido do nextCursor da página anterior. |
limitOptional | integer | Períodos por página. Faixa 1–24. Default: 24 |
leagueTierOptional | string | Filtro por divisão da liga, de A1 a D5. |
Requisição
curl "https://api.toktokdata.live/v1/rankings/history?board=daily" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Resposta
{ "data": { "board": "daily", "region": "VN", "periods": [ { "periodKey": "2026-10-31", "observedAt": "2026-11-01T10:46:44.935Z", "coverageStatus": "observed", "publishable": true, "entries": [ { "rank": 1, "creatorUid": "990000000000000001", "uniqueId": "linh.live", "nickname": "Linh Live", "avatarUrl": null, "isLive": false, "roomId": null, "score": 99000, "leagueClass": null, "leagueClassSource": null, "leagueClassAsOf": null, "movement": "same", "previousRank": null, "masked": false, "unmaskTier": null }, { "rank": 2, "creatorUid": "990000000000000102", "uniqueId": "creator.02", "nickname": "Creator 02", "avatarUrl": null, "isLive": false, "roomId": null, "score": 98000, "leagueClass": null, "leagueClassSource": null, "leagueClassAsOf": null, "movement": "same", "previousRank": null, "masked": false, "unmaskTier": null } ] } ], "nextCursor": null, "hasMore": false, "historyWindowDays": 365, "historyTruncated": false }, "provenance": { "observedAt": "2026-11-01T10:46:44.935Z", "freshness": "historical", "source": "tiktok_observed_rank_board", "sourceKind": "official", "coverageStatus": "observed", "methodologyVersion": "rankings-official-v1", "window": null }}Erros
400Parâmetro ou corpo inválido;codeindica o problema.401Chave de API ausente ou desconhecida.402A carteira de créditos do espaço de trabalho não cobre a chamada;resetAtindica quando os créditos são renovados.403A chave não tem o escopo, ou o plano não inclui o recurso.429Taxa de requisições excedida; respeite oRetry-After.
Obter um ranking oficial
/v1/rankings/officialUm ranking de uma região, exatamente como o TikTok o publica. Os rankings só são reproduzidos depois que a cobertura passa por um critério mínimo: leia publishable e coverage antes de exibir as entradas. As entradas além do que o plano revela mantêm rank e score, mas vêm com masked: true, sem identidade, e com o unmaskTier que as revela. No período atual, cada entrada traz sparkline: sua pontuação em cada um dos últimos sete períodos completos, do mais antigo ao mais recente, com null onde ela não estava no ranking.
Parâmetros de query
| Name | Type | Description |
|---|---|---|
boardRequired | string | Chave do ranking: daily, hourly, popular_live, gaming_daily, gaming_weekly, shopping_daily, shopping_weekly (exige shop:read) ou um ranking de liga, de league_a1 a league_d5. |
regionOptional | string | Código de região ISO 3166-1 alpha-2. Default: VN |
periodOptional | "current" | "history" | current é o período em andamento; history, o último concluído.Default: current |
limitOptional | integer | Número máximo de entradas. Faixa 1–200. Default: 200 |
liveOnlyOptional | "true" | "false" | Somente criadores ao vivo agora. Default: false |
leagueTierOptional | string | Filtro por divisão da liga, de A1 a D5. |
Requisição
curl "https://api.toktokdata.live/v1/rankings/official?board=daily" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Resposta
{ "data": { "board": { "kind": "official", "board": "daily", "region": "VN", "periodKey": "2026-10-31", "resetAt": null, "publishable": true, "coverage": { "completeBoards": 1, "expectedBoards": 22, "ratio": 0.045454545454545456, "threshold": 0.8 }, "entries": [ { "rank": 1, "creatorUid": "990000000000000001", "uniqueId": "linh.live", "nickname": "Linh Live", "avatarUrl": null, "isLive": true, "roomId": "7990000000000000001", "score": 99000, "leagueClass": null, "leagueClassSource": null, "leagueClassAsOf": null, "movement": "new", "previousRank": null, "masked": false, "unmaskTier": null, "sparkline": [ null, 812000, 846500, 901200, 955000, 1010300, 99000 ] }, { "rank": 2, "creatorUid": "990000000000000102", "uniqueId": "creator.02", "nickname": "Creator 02", "avatarUrl": null, "isLive": false, "roomId": null, "score": 98000, "leagueClass": null, "leagueClassSource": null, "leagueClassAsOf": null, "movement": "new", "previousRank": null, "masked": false, "unmaskTier": null, "sparkline": [ null, 803880, 838035, 892188, 945450, 1000197, 97020 ] } ] } }, "provenance": { "observedAt": "2026-11-01T10:46:44.935Z", "freshness": "historical", "source": "tiktok_observed_rank_board", "sourceKind": "official", "coverageStatus": "observed", "methodologyVersion": "rankings-official-v1", "window": { "from": null, "to": null, "label": "daily" } }}Erros
400Parâmetro ou corpo inválido;codeindica o problema.401Chave de API ausente ou desconhecida.402A carteira de créditos do espaço de trabalho não cobre a chamada;resetAtindica quando os créditos são renovados.403A chave não tem o escopo, ou o plano não inclui o recurso.429Taxa de requisições excedida; respeite oRetry-After.
Listar regiões cobertas
/v1/rankings/regionsRegiões que têm rankings observados no momento, com um rótulo de exibição. Guarde em cache por um dia.
Requisição
curl "https://api.toktokdata.live/v1/rankings/regions" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Resposta
{ "data": { "regions": [ { "region": "VN", "label": "VN · Vietnam", "coverage": { "completeBoards": 1, "expectedBoards": 22, "ratio": 0.045454545454545456, "threshold": 0.8 }, "boards": [ "daily" ], "notOfferedBoards": [] } ] }, "provenance": { "observedAt": "2026-11-01T10:46:44.935Z", "freshness": "historical", "source": "tiktok_observed_rank_board", "sourceKind": "official", "coverageStatus": "observed", "methodologyVersion": "rankings-official-v1", "window": null }}Erros
400Parâmetro ou corpo inválido;codeindica o problema.401Chave de API ausente ou desconhecida.402A carteira de créditos do espaço de trabalho não cobre a chamada;resetAtindica quando os créditos são renovados.403A chave não tem o escopo, ou o plano não inclui o recurso.429Taxa de requisições excedida; respeite oRetry-After.