Endpoints
3 endpoints return comments on Rumble, TikTok and YouTube.
Schema
Every endpoint above returns an array of these objects as data, with a page object. The standard meta comes with every response.
| Field | Type | Description |
|---|---|---|
platform | string | Platform ID (tiktok, youtube, …). |
id | string | Platform-native comment ID (string; Reddit without t1_). |
post_id | string | ID of the post commented on (equals post.id). |
parent_id | string or null | ID of the comment this replies to; null for top-level comments. |
url | string (uri) or null | Permalink, when the platform has one. |
text | string | Comment body as plain text. |
author | object | The commenting account. |
author.id | string or null | Platform-native account ID; null when only the handle is known. |
author.username | string or null | Handle without the @; null when the account has none. |
author.display_name | string or null | Display name shown on the profile. |
author.url | string (uri) or null | Canonical profile URL. |
author.avatar_url | string (uri) or null | Profile picture URL. Platform CDN URLs can expire within hours. |
author.is_verified | boolean or null | Platform verification badge; null where the platform has no badge. |
published_at | string (date-time) or null | When the comment was posted, RFC 3339 UTC. Where the platform shows only a relative time ("3 weeks ago"), the latest time that label allows (the fetch time minus the stated amount), listed in approximate_fields. |
edited_at | string (date-time) or null | When the comment was last edited, RFC 3339 UTC; null when never edited or when the platform marks edits without a time (see is_edited). |
is_edited | boolean or null | The comment was edited after posting (the platform's edited mark); null when the platform does not say. |
is_pinned | boolean or null | Pinned by the post's author. |
is_liked_by_author | boolean or null | Liked or hearted by the post's author. |
is_by_post_author | boolean or null | Written by the post's author (the creator's own comment, marked as such by the platform). |
metrics | object | Counts at fetch time; null = hidden or not exposed, 0 = zero. |
metrics.like_count | integer or null | Likes or upvotes; never negative. |
metrics.reply_count | integer or null | Direct replies. |
platform_specific | object | Fields only this platform has, under its ID (platform_specific.<platform>); each null when unknown. |
platform_specific.tiktok | object or null | TikTok's own comment fields. |
platform_specific.tiktok.language | string or null | The comment's language as TikTok detected it, an ISO 639-1 code (en, fr); null when TikTok could not tell (emoji, a name) or does not say. |
platform_specific.rumble | object or null | Rumble's own comment fields. |
platform_specific.rumble.dislike_count | integer or null | Thumbs-down votes on the comment. Exact below 1,000; from 1,000 Rumble shows a label such as "1.31K", taken to be cut to three significant digits as Rumble's other counts are (not checked against an exact count), and listed in approximate_fields. |
platform_specific.rumble.author_badges | string[] | The badges Rumble shows beside the commenter's name, by their label as Rumble writes it (seen: Verified, Admin, Moderator, Supporter, Supporter+, Supporter++, Sub, Locals Supporter; new labels may appear). [] when none. |
approximate_fields | string[] | JSON paths of values rounded by the platform or parsed from display text. A list path (external_links) means the list may be incomplete. [] when all exact. |
unknown_fields | string[] | JSON paths of lists whose [] means unknown rather than none (a source that cannot see them); null already means unknown for every other field. [] when every list is known. |
platformstringPlatform ID (tiktok, youtube, …).
idstringPlatform-native comment ID (string; Reddit without t1_).
post_idstringID of the post commented on (equals post.id).
parent_idstringnullableID of the comment this replies to; null for top-level comments.
urlstring urinullablePermalink, when the platform has one.
textstringComment body as plain text.
authorobjectThe commenting account.
ShowHide 6 child fields
idstringnullablePlatform-native account ID; null when only the handle is known.
usernamestringnullableHandle without the @; null when the account has none.
display_namestringnullableDisplay name shown on the profile.
urlstring urinullableCanonical profile URL.
avatar_urlstring urinullableProfile picture URL. Platform CDN URLs can expire within hours.
is_verifiedbooleannullablePlatform verification badge; null where the platform has no badge.
published_atstring date-timenullableWhen the comment was posted, RFC 3339 UTC. Where the platform shows only a relative time ("3 weeks ago"), the latest time that label allows (the fetch time minus the stated amount), listed in approximate_fields.
edited_atstring date-timenullableWhen the comment was last edited, RFC 3339 UTC; null when never edited or when the platform marks edits without a time (see is_edited).
is_editedbooleannullableThe comment was edited after posting (the platform's edited mark); null when the platform does not say.
is_pinnedbooleannullablePinned by the post's author.
is_liked_by_authorbooleannullableLiked or hearted by the post's author.
is_by_post_authorbooleannullableWritten by the post's author (the creator's own comment, marked as such by the platform).
metricsobjectCounts at fetch time; null = hidden or not exposed, 0 = zero.
ShowHide 2 child fields
like_countintegernullableLikes or upvotes; never negative.
reply_countintegernullableDirect replies.
platform_specificobjectFields only this platform has, under its ID (platform_specific.<platform>); each null when unknown.
ShowHide 2 child fields
tiktokobjectnullableTikTok's own comment fields.
ShowHide 1 child field
languagestringnullableThe comment's language as TikTok detected it, an ISO 639-1 code (en, fr); null when TikTok could not tell (emoji, a name) or does not say.
rumbleobjectnullableRumble's own comment fields.
ShowHide 2 child fields
dislike_countintegernullableThumbs-down votes on the comment. Exact below 1,000; from 1,000 Rumble shows a label such as "1.31K", taken to be cut to three significant digits as Rumble's other counts are (not checked against an exact count), and listed in approximate_fields.
author_badgesstring[]The badges Rumble shows beside the commenter's name, by their label as Rumble writes it (seen: Verified, Admin, Moderator, Supporter, Supporter+, Supporter++, Sub, Locals Supporter; new labels may appear). [] when none.
approximate_fieldsstring[]JSON paths of values rounded by the platform or parsed from display text. A list path (external_links) means the list may be incomplete. [] when all exact.
unknown_fieldsstring[]JSON paths of lists whose [] means unknown rather than none (a source that cannot see them); null already means unknown for every other field. [] when every list is known.
Item errors
Besides the request-level errors every endpoint can return, comment endpoints return:
| Code | HTTP | Retry | Meaning | What to do |
|---|---|---|---|---|
not_found | 404 | No | The item does not exist or was deleted. | Check the URL or ID; do not retry. |
private_or_unavailable | 403 | No | The item exists but is private, age- or region-gated, or requires a login to view. It shares 403 with forbidden (which is about the key): branch on the code. | Only public items can be fetched; do not retry. |
not_found, private_or_unavailable (see error codes).