RoomScope

Última actualización

Rankings

Rankings oficiales por tipo de ranking, región y periodo.

Cada operación se autentica con una clave de API (Authorization: Bearer <key>) y los errores usan el sobre compartido que se describe en Errores. Generado a partir del documento OpenAPI de la API.

Listar periodos anteriores de un ranking

GET/v1/rankings/history

Periodos completados de un ranking, del más reciente al más antiguo, dentro de la ventana de historial del plan.

Alcancerank:readCréditosLectura en caché

Parámetros de consulta

Parámetros de consulta · GET /v1/rankings/history
NameTypeDescription
boardRequired
stringClave del ranking: daily, hourly, popular_live, gaming_daily, gaming_weekly, shopping_daily, shopping_weekly (requiere shop:read), o un ranking de liga league_a1 … league_d5.
regionOptional
stringCódigo de región ISO 3166-1 alfa-2.
Default: VN
cursorOptional
stringCursor opaco tomado de nextCursor de la página anterior.
limitOptional
integerPeriodos por página. Rango 1–24.
Default: 24
leagueTierOptional
stringFiltro por nivel de liga, A1 … D5.

Solicitud

curl "https://api.toktokdata.live/v1/rankings/history?board=daily" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Respuesta

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  }}

Errores

  • 400 Parámetro o cuerpo no válido; code indica el problema.
  • 401 Clave de API ausente o desconocida.
  • 402 La billetera de créditos del espacio de trabajo no alcanza para cubrir la llamada; resetAt indica cuándo se reinician los créditos.
  • 403 La clave no tiene el alcance, o el plan no incluye la función.
  • 429 Se superó el ritmo de solicitudes; respeta Retry-After.

Obtener un ranking oficial

GET/v1/rankings/official

Un ranking de una región, tal como lo publica TikTok. Los rankings solo se reproducen cuando la cobertura supera un umbral: lee publishable y coverage antes de mostrar las entradas. Las entradas que superan lo que el plan muestra conservan rank y score, pero vuelven con masked: true, sin identidad y con el unmaskTier que las revela. En el periodo actual, cada entrada incluye sparkline: su puntuación en cada uno de los últimos siete periodos completos, del más antiguo al más reciente, con null donde no estuvo en el ranking.

Alcancerank:readCréditosLectura en caché

Parámetros de consulta

Parámetros de consulta · GET /v1/rankings/official
NameTypeDescription
boardRequired
stringClave del ranking: daily, hourly, popular_live, gaming_daily, gaming_weekly, shopping_daily, shopping_weekly (requiere shop:read), o un ranking de liga league_a1 … league_d5.
regionOptional
stringCódigo de región ISO 3166-1 alfa-2.
Default: VN
periodOptional
"current" | "history"current es el periodo en curso; history, el último completado.
Default: current
limitOptional
integerMáximo de entradas. Rango 1–200.
Default: 200
liveOnlyOptional
"true" | "false"Solo creadores que están en vivo ahora mismo.
Default: false
leagueTierOptional
stringFiltro por nivel de liga, A1 … D5.

Solicitud

curl "https://api.toktokdata.live/v1/rankings/official?board=daily" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Respuesta

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"    }  }}

Errores

  • 400 Parámetro o cuerpo no válido; code indica el problema.
  • 401 Clave de API ausente o desconocida.
  • 402 La billetera de créditos del espacio de trabajo no alcanza para cubrir la llamada; resetAt indica cuándo se reinician los créditos.
  • 403 La clave no tiene el alcance, o el plan no incluye la función.
  • 429 Se superó el ritmo de solicitudes; respeta Retry-After.

Listar regiones cubiertas

GET/v1/rankings/regions

Regiones que tienen rankings observados en este momento, con una etiqueta para mostrar. Guárdalo en caché durante un día.

Alcancerank:readCréditosLectura en caché

Solicitud

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

Respuesta

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  }}

Errores

  • 400 Parámetro o cuerpo no válido; code indica el problema.
  • 401 Clave de API ausente o desconocida.
  • 402 La billetera de créditos del espacio de trabajo no alcanza para cubrir la llamada; resetAt indica cuándo se reinician los créditos.
  • 403 La clave no tiene el alcance, o el plan no incluye la función.
  • 429 Se superó el ritmo de solicitudes; respeta Retry-After.
¿Te resultó útil esta página?