RoomScope

Última atualização

Criadores

Perfis de criadores armazenados, alterações, grafo de seguidores e análises.

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.

Buscar criadores

GET/v1/creators

Trecho do nome de usuário ou do nome de exibição, sem diferenciar maiúsculas de minúsculas, com os mais seguidos primeiro. Um q vazio percorre o conjunto armazenado.

Escopocreator:readCréditosLeitura em cache

Parâmetros de query

Parâmetros de query · GET /v1/creators
NameTypeDescription
qOptional
stringNome de usuário (com ou sem @) ou parte do nome de exibição.
limitOptional
integerNúmero máximo de resultados. Faixa 1–100.
Default: 20

Requisição

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

Resposta

200 OK
{  "data": {    "query": "linh.live",    "results": [      {        "tiktokUserId": "990000000000000001",        "uniqueId": "linh.live",        "displayName": "Linh Live",        "region": "VN",        "avatarUrl": null,        "followerCount": 123456,        "verified": true      }    ]  },  "provenance": {    "observedAt": "2026-11-01T10:36:44.935Z",    "freshness": "near_realtime",    "source": "public_creator_profile",    "sourceKind": "derived",    "coverageStatus": "observed",    "methodologyVersion": "creators-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 o perfil de um criador

GET/v1/creators/{uid}

O perfil público armazenado e o histórico recente dos seus contadores.

Escopocreator:readCréditosLeitura em cache

Parâmetros de caminho

Parâmetros de caminho · GET /v1/creators/{uid}
NameTypeDescription
uidRequired
stringNome de usuário do criador sem @ (linh.live) ou ID numérico de usuário do TikTok.

Requisição

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

Resposta

200 OK
{  "data": {    "creator": {      "tiktokUserId": "990000000000000001",      "uniqueId": "linh.live",      "secUid": null,      "displayName": "Linh Live",      "region": "VN",      "language": null,      "signature": "Daily LIVE from Hanoi",      "avatarUrl": null,      "followerCount": 123456,      "followingCount": 321,      "awemeCount": 3,      "totalFavorited": 9876543,      "favoritingCount": null,      "verified": true,      "customVerify": null,      "enterpriseVerifyReason": null,      "instagramId": null,      "youtubeChannelId": null,      "twitterId": null,      "firstSeenAt": "2026-10-02T10:51:44.935Z",      "lastRefreshedAt": "2026-11-01T10:36:44.935Z",      "history": []    }  },  "provenance": {    "observedAt": "2026-11-01T10:36:44.935Z",    "freshness": "near_realtime",    "source": "public_creator_profile",    "sourceKind": "derived",    "coverageStatus": "observed",    "methodologyVersion": "creators-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.

Analisar os vídeos de um criador

GET/v1/creators/{uid}/analysis

Relatório de engajamento calculado apenas a partir dos vídeos armazenados: totais, medianas e frequência de publicação.

Escopocreator:readCréditosLeitura em cache

Parâmetros de caminho

Parâmetros de caminho · GET /v1/creators/{uid}/analysis
NameTypeDescription
uidRequired
stringNome de usuário do criador sem @ (linh.live) ou ID numérico de usuário do TikTok.

Requisição

curl "https://api.toktokdata.live/v1/creators/linh.live/analysis" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Resposta

200 OK
{  "data": {    "creator": {      "tiktokUserId": "990000000000000001",      "uniqueId": "linh.live",      "displayName": "Linh Live",      "avatarUrl": null,      "region": "VN",      "verified": true,      "followerCount": 123456,      "followingCount": 321,      "awemeCount": 3,      "totalFavorited": 9876543,      "firstSeenAt": "2026-10-02T10:51:44.935Z",      "lastRefreshedAt": "2026-11-01T10:36:44.935Z"    },    "sample": {      "videosAnalyzed": 3,      "oldestVideoAt": "2026-10-29T10:51:44.935Z",      "newestVideoAt": "2026-10-31T10:51:44.935Z",      "spanDays": 2,      "shareOfCatalog": 1    },    "engagement": {      "totalPlays": 60000,      "totalLikes": 6000,      "totalComments": 600,      "totalShares": 0,      "avgPlays": 20000,      "medianPlays": 20000,      "avgLikes": 2000,      "avgComments": 200,      "avgShares": 0,      "engagementRate": 0.11,      "likeRate": 0.1,      "commentRate": 0.01,      "shareRate": 0,      "viewsPerFollower": 0.162    },    "cadence": {      "postsPerWeek": 7,      "avgDaysBetweenPosts": 1,      "longestGapDays": 1,      "busiestWeekday": 4,      "postsByWeekday": [        0,        0      ]    },    "topByPlays": [      {        "videoId": "7990000000000000003",        "description": "Video 3",        "createTime": "2026-10-29T10:51:44.935Z",        "playCount": 30000,        "diggCount": 3000,        "commentCount": 300,        "shareCount": null,        "engagementRate": 0.11      },      {        "videoId": "7990000000000000002",        "description": "Video 2",        "createTime": "2026-10-30T10:51:44.935Z",        "playCount": 20000,        "diggCount": 2000,        "commentCount": 200,        "shareCount": null,        "engagementRate": 0.11      }    ],    "topByEngagement": [      {        "videoId": "7990000000000000001",        "description": "Video 1",        "createTime": "2026-10-31T10:51:44.935Z",        "playCount": 10000,        "diggCount": 1000,        "commentCount": 100,        "shareCount": null,        "engagementRate": 0.11      },      {        "videoId": "7990000000000000002",        "description": "Video 2",        "createTime": "2026-10-30T10:51:44.935Z",        "playCount": 20000,        "diggCount": 2000,        "commentCount": 200,        "shareCount": null,        "engagementRate": 0.11      }    ],    "audience": null,    "growth": null,    "limits": [      {        "code": "thin-video-sample",        "message": "Only 3 video(s) analysed — too few to describe the account's typical performance."      },      {        "code": "single-observation",        "message": "This account has been observed only once, so no follower growth can be shown yet."      }    ]  },  "provenance": {    "observedAt": "2026-11-01T10:36:44.935Z",    "freshness": "near_realtime",    "source": "derived_creator_analysis",    "sourceKind": "derived",    "coverageStatus": "partial",    "methodologyVersion": "analysis-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.

Listar alterações de perfil

GET/v1/creators/{uid}/changes

Alterações de nome de usuário, nome, bio e verificação observadas ao longo do tempo, das mais recentes às mais antigas.

Escopocreator:readCréditosLeitura em cache

Parâmetros de caminho

Parâmetros de caminho · GET /v1/creators/{uid}/changes
NameTypeDescription
uidRequired
stringNome de usuário do criador sem @ (linh.live) ou ID numérico de usuário do TikTok.

Parâmetros de query

Parâmetros de query · GET /v1/creators/{uid}/changes
NameTypeDescription
limitOptional
integerNúmero máximo de alterações. Faixa 1–200.
Default: 50

Requisição

curl "https://api.toktokdata.live/v1/creators/linh.live/changes" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Resposta

200 OK
{  "data": {    "tiktokUserId": "990000000000000001",    "uniqueId": "linh.live",    "changes": []  },  "provenance": {    "observedAt": "2026-10-02T10:51:44.935Z",    "freshness": "stale",    "source": "public_creator_profile",    "sourceKind": "derived",    "coverageStatus": "partial",    "methodologyVersion": "creators-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.

Listar os seguidores de um criador

GET/v1/creators/{uid}/followers

Seguidores armazenados, no mesmo formato da lista de seguidos.

Escopocreator:readCréditosLeitura em cache

Parâmetros de caminho

Parâmetros de caminho · GET /v1/creators/{uid}/followers
NameTypeDescription
uidRequired
stringNome de usuário do criador sem @ (linh.live) ou ID numérico de usuário do TikTok.

Parâmetros de query

Parâmetros de query · GET /v1/creators/{uid}/followers
NameTypeDescription
cursorOptional
stringCursor opaco obtido do nextCursor da página anterior.
limitOptional
integerEntradas por página.

Requisição

curl "https://api.toktokdata.live/v1/creators/linh.live/followers" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Resposta

200 OK
{  "data": {    "tiktokUserId": "990000000000000001",    "uniqueId": "linh.live",    "direction": "following",    "entries": [],    "nextCursor": null,    "hasMore": false,    "totalReported": null,    "storedCount": 0,    "isPrivate": false  },  "provenance": {    "observedAt": "2026-11-01T11:18:49.084Z",    "freshness": "stale",    "source": "public_follow_graph",    "sourceKind": "derived",    "coverageStatus": "not-covered",    "methodologyVersion": "follow-list-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.

Listar as contas que um criador segue

GET/v1/creators/{uid}/following

Grafo de seguidos armazenado. Contas privadas retornam isPrivate: true e nenhuma entrada.

Escopocreator:readCréditosLeitura em cache

Parâmetros de caminho

Parâmetros de caminho · GET /v1/creators/{uid}/following
NameTypeDescription
uidRequired
stringNome de usuário do criador sem @ (linh.live) ou ID numérico de usuário do TikTok.

Parâmetros de query

Parâmetros de query · GET /v1/creators/{uid}/following
NameTypeDescription
cursorOptional
stringCursor opaco obtido do nextCursor da página anterior.
limitOptional
integerEntradas por página.

Requisição

curl "https://api.toktokdata.live/v1/creators/linh.live/following" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Resposta

200 OK
{  "data": {    "tiktokUserId": "990000000000000001",    "uniqueId": "linh.live",    "direction": "following",    "entries": [],    "nextCursor": null,    "hasMore": false,    "totalReported": null,    "storedCount": 0,    "isPrivate": false  },  "provenance": {    "observedAt": "2026-11-01T11:18:49.084Z",    "freshness": "stale",    "source": "public_follow_graph",    "sourceKind": "derived",    "coverageStatus": "not-covered",    "methodologyVersion": "follow-list-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 os top presenteadores de um criador

GET/v1/creators/{uid}/gifters

Presenteadores das salas LIVE do criador nos últimos 7 ou 30 dias, por diamantes: quantidade de presentes, sessões, último presente e o criador da última sala em que enviaram presentes. Lido das sessões que a RoomScope registrou, por isso a cobertura é sempre partial. Exige o plano Pro ou superior.

Escopogifter:readCréditosLeitura em cache

Parâmetros de caminho

Parâmetros de caminho · GET /v1/creators/{uid}/gifters
NameTypeDescription
uidRequired
stringNome de usuário do criador sem @ (linh.live) ou ID numérico de usuário do TikTok.

Parâmetros de query

Parâmetros de query · GET /v1/creators/{uid}/gifters
NameTypeDescription
windowOptional
"7d" | "30d"7d ou 30d.
Default: 7d
limitOptional
integerNúmero máximo de linhas. Faixa …–100.
Default: 20

Requisição

curl "https://api.toktokdata.live/v1/creators/linh.live/gifters" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Resposta

200 OK
{  "data": {    "creatorUid": "7012345678901234567",    "uniqueId": "linh.live",    "window": "7d",    "gifters": [      {        "gifterUserId": "6987001122334455667",        "gifterUniqueId": "minh.fan",        "gifterNickname": "Minh",        "avatarUrl": null,        "diamondTotal": 18450,        "giftCount": 312,        "sessions": 4,        "lastGiftAt": "2026-11-02T15:41:07.512Z",        "lastRoomCreator": "linh.live"      }    ]  },  "provenance": {    "observedAt": "2026-11-02T15:41:07.512Z",    "freshness": "historical",    "source": "platform_observed_gifter_events",    "sourceKind": "derived",    "coverageStatus": "partial",    "methodologyVersion": "gifters-observed-v1",    "window": {      "from": "2026-10-27T04:00:00.000Z",      "to": "2026-11-03T04:00:00.000Z",      "label": "7d"    }  }}

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 os insights de um criador

GET/v1/creators/{uid}/insights

Histórico de nomes de usuário, diamantes diários dos últimos 30 dias (mais recentes primeiro), snapshots diários da liga e a sala LIVE do criador. liveExact é true quando a pontuação do dia foi lida no reinício do ranking; caso contrário, liveScore é a maior pontuação lida naquele dia. observedCoins conta os diamantes que a RoomScope registrou nas sessões de LIVE do criador. Um nome de usuário que mudou continua sendo resolvido pelo histórico de aliases.

Escopocreator:readCréditosLeitura em cache

Parâmetros de caminho

Parâmetros de caminho · GET /v1/creators/{uid}/insights
NameTypeDescription
uidRequired
stringNome de usuário do criador sem @ (linh.live) ou ID numérico de usuário do TikTok.

Requisição

curl "https://api.toktokdata.live/v1/creators/linh.live/insights" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Resposta

200 OK
{  "data": {    "creator": {      "uid": "6990000000000000001",      "uniqueId": "linh.live"    },    "aliases": [      {        "uniqueId": "linh.live",        "firstSeenAt": "2026-10-12T09:15:02.118Z",        "lastSeenAt": "2026-11-01T14:02:41.530Z"      },      {        "uniqueId": "linh.official",        "firstSeenAt": "2026-09-30T11:40:19.004Z",        "lastSeenAt": "2026-10-12T08:55:47.912Z"      }    ],    "daily": [      {        "boardDay": "2026-10-31",        "countryCode": "VN",        "tiktokScore": 184250,        "observedCoins": 171932,        "liveScore": 184250,        "liveExact": true,        "leagueClass": "B2"      },      {        "boardDay": "2026-10-30",        "countryCode": "VN",        "tiktokScore": 97410,        "observedCoins": null,        "liveScore": 97410,        "liveExact": false,        "leagueClass": "B2"      }    ],    "league": [      {        "day": "2026-10-31",        "leagueClass": "B2",        "leagueRank": 14,        "leagueCountry": "VN",        "followers": 412880      }    ],    "roomOwner": {      "roomId": "7432000000000000001",      "ownerUid": "6990000000000000001",      "ownerUniqueId": "linh.live",      "claimantUid": null,      "reason": "claim_confirmed",      "checkedAt": "2026-11-01T14:00:03.221Z"    }  },  "provenance": {    "observedAt": "2026-11-01T14:02:41.530Z",    "freshness": "near_realtime",    "source": "creator_analytics",    "sourceKind": "derived",    "coverageStatus": "observed",    "methodologyVersion": "creator-analytics-v1",    "window": {      "from": "2026-10-02T14:02:41.530Z",      "to": "2026-11-01T14:02:41.530Z",      "label": "30d"    }  }}

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 o melhor horário para entrar ao vivo

GET/v1/insights/best-time

Diamantes e horas-presenteador das sessões de LIVE registradas de uma região nos últimos windowDays dias, por dia da semana (0 = segunda-feira) e hora UTC. Recalculado diariamente; cells fica vazio enquanto nada tiver sido registrado para a região.

Escopocreator:readCréditosLeitura em cache

Parâmetros de query

Parâmetros de query · GET /v1/insights/best-time
NameTypeDescription
regionOptional
stringCódigo de região ISO 3166-1 alpha-2.
Default: VN

Requisição

curl "https://api.toktokdata.live/v1/insights/best-time" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Resposta

200 OK
{  "data": {    "region": "VN",    "windowDays": 28,    "computedAt": "2026-11-01T01:00:04.870Z",    "cells": [      {        "weekday": 0,        "hour": 12,        "diamonds": 418230,        "gifterHours": 1874      },      {        "weekday": 0,        "hour": 13,        "diamonds": 652910,        "gifterHours": 2410      },      {        "weekday": 0,        "hour": 14,        "diamonds": 701455,        "gifterHours": 2689      }    ]  },  "provenance": {    "observedAt": "2026-11-01T01:00:04.870Z",    "freshness": "near_realtime",    "source": "creator_analytics",    "sourceKind": "derived",    "coverageStatus": "observed",    "methodologyVersion": "creator-analytics-v1",    "window": {      "from": "2026-10-04T01:00:04.870Z",      "to": "2026-11-01T01:00:04.870Z",      "label": "28d"    }  }}

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 a presença em LIVE por hora

GET/v1/insights/presence

Por hora, quantos dos criadores ranqueados e monitorados da região estavam ao vivo, do mais antigo ao mais recente.

Escopocreator:readCréditosLeitura em cache

Parâmetros de query

Parâmetros de query · GET /v1/insights/presence
NameTypeDescription
regionOptional
stringCódigo de região ISO 3166-1 alpha-2.
Default: VN
hoursOptional
integerQuantas horas para trás. Faixa 1–168.
Default: 48

Requisição

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

Resposta

200 OK
{  "data": {    "region": "VN",    "hours": 48,    "points": [      {        "hourStart": "2026-11-01T12:00:00.000Z",        "liveCreators": 214,        "trackedCreators": 1630      },      {        "hourStart": "2026-11-01T13:00:00.000Z",        "liveCreators": 251,        "trackedCreators": 1642      },      {        "hourStart": "2026-11-01T14:00:00.000Z",        "liveCreators": 268,        "trackedCreators": 1655      }    ]  },  "provenance": {    "observedAt": "2026-11-01T14:05:01.402Z",    "freshness": "near_realtime",    "source": "creator_analytics",    "sourceKind": "derived",    "coverageStatus": "observed",    "methodologyVersion": "creator-analytics-v1",    "window": {      "from": "2026-10-30T14:05:01.402Z",      "to": "2026-11-01T14:05:01.402Z",      "label": "48h"    }  }}

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?