RoomScope

Ú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

GET/v1/rankings/history

Períodos concluídos de um ranking, do mais recente ao mais antigo, dentro da janela de histórico do plano.

Escoporank:readCréditosLeitura em cache

Parâmetros de query

Parâmetros de query · GET /v1/rankings/history
NameTypeDescription
boardRequired
stringChave 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
stringCódigo de região ISO 3166-1 alpha-2.
Default: VN
cursorOptional
stringCursor opaco obtido do nextCursor da página anterior.
limitOptional
integerPeríodos por página. Faixa 1–24.
Default: 24
leagueTierOptional
stringFiltro 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

200 OK
{  "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

  • 400 Parâmetro ou corpo inválido; code indica o problema.
  • 401 Chave de API ausente ou desconhecida.
  • 402 A carteira de créditos do espaço de trabalho não cobre a chamada; resetAt indica quando os créditos são renovados.
  • 403 A chave não tem o escopo, ou o plano não inclui o recurso.
  • 429 Taxa de requisições excedida; respeite o Retry-After.

Obter um ranking oficial

GET/v1/rankings/official

Um 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.

Escoporank:readCréditosLeitura em cache

Parâmetros de query

Parâmetros de query · GET /v1/rankings/official
NameTypeDescription
boardRequired
stringChave 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
stringCó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
integerNúmero máximo de entradas. Faixa 1–200.
Default: 200
liveOnlyOptional
"true" | "false"Somente criadores ao vivo agora.
Default: false
leagueTierOptional
stringFiltro 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

200 OK
{  "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

  • 400 Parâmetro ou corpo inválido; code indica o problema.
  • 401 Chave de API ausente ou desconhecida.
  • 402 A carteira de créditos do espaço de trabalho não cobre a chamada; resetAt indica quando os créditos são renovados.
  • 403 A chave não tem o escopo, ou o plano não inclui o recurso.
  • 429 Taxa de requisições excedida; respeite o Retry-After.

Listar regiões cobertas

GET/v1/rankings/regions

Regiões que têm rankings observados no momento, com um rótulo de exibição. Guarde em cache por um dia.

Escoporank:readCréditosLeitura em cache

Requisição

curl "https://api.toktokdata.live/v1/rankings/regions" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Resposta

200 OK
{  "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

  • 400 Parâmetro ou corpo inválido; code indica o problema.
  • 401 Chave de API ausente ou desconhecida.
  • 402 A carteira de créditos do espaço de trabalho não cobre a chamada; resetAt indica quando os créditos são renovados.
  • 403 A chave não tem o escopo, ou o plano não inclui o recurso.
  • 429 Taxa de requisições excedida; respeite o Retry-After.
Esta página foi útil?