RoomScope

Last updated

Videos

Videos and comments of stored creators.

Every operation authenticates with an API key (Authorization: Bearer <key>) and errors use the shared envelope described in Errors. Generated from the API's OpenAPI document.

List a creator's videos

GET/v1/creators/{uid}/videos

Videos stored for the creator, newest first, with play, like and comment counts.

Scopecontent:readCreditsCached read

Path parameters

Path parameters of GET /v1/creators/{uid}/videos
NameTypeDescription
uidRequired
stringCreator handle without @ (linh.live) or numeric TikTok user id.

Request

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

Response

200 OK
{  "data": {    "uniqueId": "linh.live",    "tiktokUserId": "990000000000000001",    "videos": [      {        "videoId": "7990000000000000001",        "tiktokUserId": "990000000000000001",        "uniqueId": "linh.live",        "description": "Video 1",        "createTime": "2026-10-31T10:51:44.935Z",        "coverUrl": null,        "durationSeconds": null,        "playCount": 10000,        "diggCount": 1000,        "commentCount": 100,        "shareCount": null,        "collectCount": null,        "firstSeenAt": "2026-11-01T10:51:45.590Z",        "lastRefreshedAt": "2026-11-01T10:36:44.935Z"      },      {        "videoId": "7990000000000000002",        "tiktokUserId": "990000000000000001",        "uniqueId": "linh.live",        "description": "Video 2",        "createTime": "2026-10-30T10:51:44.935Z",        "coverUrl": null,        "durationSeconds": null,        "playCount": 20000,        "diggCount": 2000,        "commentCount": 200,        "shareCount": null,        "collectCount": null,        "firstSeenAt": "2026-11-01T10:51:45.591Z",        "lastRefreshedAt": "2026-11-01T10:36:44.935Z"      }    ]  },  "provenance": {    "observedAt": "2026-11-01T10:36:44.935Z",    "freshness": "near_realtime",    "source": "public_creator_content",    "coverageStatus": "observed",    "methodologyVersion": "content-v1"  }}

Errors

  • 400 Invalid parameter or body; code names the problem.
  • 401 Missing or unknown API key.
  • 402 The workspace's credit wallet cannot cover the call.
  • 403 The key lacks the scope, or the plan does not include the feature.
  • 429 Request rate exceeded; honour Retry-After.

Get a video

GET/v1/videos/{video_id}

One stored video with its counters.

Scopecontent:readCreditsCached read

Path parameters

Path parameters of GET /v1/videos/{video_id}
NameTypeDescription
video_idRequired
stringTikTok video id.

Request

curl "https://api.roomscope.io/v1/videos/7400000000000000001" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Response

200 OK
{  "data": {    "video": {      "videoId": "7990000000000000001",      "tiktokUserId": "990000000000000001",      "uniqueId": "linh.live",      "description": "Video 1",      "createTime": "2026-10-31T10:51:44.935Z",      "coverUrl": null,      "durationSeconds": null,      "playCount": 10000,      "diggCount": 1000,      "commentCount": 100,      "shareCount": null,      "collectCount": null,      "firstSeenAt": "2026-11-01T10:51:45.590Z",      "lastRefreshedAt": "2026-11-01T10:36:44.935Z",      "history": []    }  },  "provenance": {    "observedAt": "2026-11-01T10:36:44.935Z",    "freshness": "near_realtime",    "source": "public_creator_content",    "coverageStatus": "observed",    "methodologyVersion": "content-v1"  }}

Errors

  • 400 Invalid parameter or body; code names the problem.
  • 401 Missing or unknown API key.
  • 402 The workspace's credit wallet cannot cover the call.
  • 403 The key lacks the scope, or the plan does not include the feature.
  • 429 Request rate exceeded; honour Retry-After.

List comments of a video

GET/v1/videos/{video_id}/comments

Stored comments; pass parentCommentId for the replies of one comment.

Scopecontent:readCreditsCached read

Path parameters

Path parameters of GET /v1/videos/{video_id}/comments
NameTypeDescription
video_idRequired
stringTikTok video id.

Query parameters

Query parameters of GET /v1/videos/{video_id}/comments
NameTypeDescription
parentCommentIdOptional
stringReturn the replies of this comment.
cursorOptional
stringOpaque cursor from nextCursor of the previous page.
limitOptional
integerComments per page.

Request

curl "https://api.roomscope.io/v1/videos/7400000000000000001/comments" \  -H "Authorization: Bearer $ROOMSCOPE_API_KEY"

Response

200 OK
{  "data": {    "videoId": "7400000000000000001",    "parentCommentId": null,    "comments": [      {        "commentId": "7400000000000100001",        "text": "See you at 9pm!",        "diggCount": 42,        "replyCount": 3,        "createTime": "2026-10-31T13:05:00Z",        "authorUniqueId": "fan.one"      }    ],    "nextCursor": null,    "hasMore": false  },  "provenance": {    "observedAt": "2026-11-01T10:36:44.935Z",    "freshness": "near_realtime",    "source": "public_video_comments",    "coverageStatus": "observed",    "methodologyVersion": "comments-v1"  }}

Errors

  • 400 Invalid parameter or body; code names the problem.
  • 401 Missing or unknown API key.
  • 402 The workspace's credit wallet cannot cover the call.
  • 403 The key lacks the scope, or the plan does not include the feature.
  • 429 Request rate exceeded; honour Retry-After.
Was this page helpful?