Ú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
/v1/rankings/historyPeriodos completados de un ranking, del más reciente al más antiguo, dentro de la ventana de historial del plan.
Parámetros de consulta
| Name | Type | Description |
|---|---|---|
boardRequired | string | Clave 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 | string | Código de región ISO 3166-1 alfa-2. Default: VN |
cursorOptional | string | Cursor opaco tomado de nextCursor de la página anterior. |
limitOptional | integer | Periodos por página. Rango 1–24. Default: 24 |
leagueTierOptional | string | Filtro por nivel de liga, A1 … D5. |
Solicitud
curl "https://api.toktokdata.live/v1/rankings/history?board=daily" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Respuesta
{ "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
400Parámetro o cuerpo no válido;codeindica el problema.401Clave de API ausente o desconocida.402La billetera de créditos del espacio de trabajo no alcanza para cubrir la llamada;resetAtindica cuándo se reinician los créditos.403La clave no tiene el alcance, o el plan no incluye la función.429Se superó el ritmo de solicitudes; respetaRetry-After.
Obtener un ranking oficial
/v1/rankings/officialUn 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.
Parámetros de consulta
| Name | Type | Description |
|---|---|---|
boardRequired | string | Clave 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 | string | Có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 | integer | Máximo de entradas. Rango 1–200. Default: 200 |
liveOnlyOptional | "true" | "false" | Solo creadores que están en vivo ahora mismo. Default: false |
leagueTierOptional | string | Filtro por nivel de liga, A1 … D5. |
Solicitud
curl "https://api.toktokdata.live/v1/rankings/official?board=daily" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Respuesta
{ "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
400Parámetro o cuerpo no válido;codeindica el problema.401Clave de API ausente o desconocida.402La billetera de créditos del espacio de trabajo no alcanza para cubrir la llamada;resetAtindica cuándo se reinician los créditos.403La clave no tiene el alcance, o el plan no incluye la función.429Se superó el ritmo de solicitudes; respetaRetry-After.
Listar regiones cubiertas
/v1/rankings/regionsRegiones que tienen rankings observados en este momento, con una etiqueta para mostrar. Guárdalo en caché durante un día.
Solicitud
curl "https://api.toktokdata.live/v1/rankings/regions" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Respuesta
{ "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
400Parámetro o cuerpo no válido;codeindica el problema.401Clave de API ausente o desconocida.402La billetera de créditos del espacio de trabajo no alcanza para cubrir la llamada;resetAtindica cuándo se reinician los créditos.403La clave no tiene el alcance, o el plan no incluye la función.429Se superó el ritmo de solicitudes; respetaRetry-After.