# Video Comments

<p>Fetch one page of the comment thread of a Rumble video with authors, scores, dates and nested replies. One request performs one upstream lookup and is billed once, so it returns a single page: request the next <code>offset</code> to continue the thread, as its own separately billable request. Advance <code>offset</code> by the <code>count</code> of the previous page and stop when a page comes back empty: <code>has_more</code> is a hint that can outlive the data, never a count to walk on. The platform returns fewer comments than the total it states on the video, so the response always reports the number returned alongside the stated total.</p>

- **Documentation:** [https://scrappa.co/docs/rumble-api/rumble_video_comments](https://scrappa.co/docs/rumble-api/rumble_video_comments)
- **API group:** Rumble API
- **Endpoint:** `GET https://scrappa.co/api/rumble/videos/comments`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `video_id` | string | No | <p>Numeric video identifier.</p> |
| `url` | string | No | <p>Canonical video URL containing the numeric identifier. Used when video_id is omitted.</p> |
| `offset` | integer | No | <p>Comments to skip. Add <code>count</code> to the previous <code>offset</code> to reach the next page, and stop when a page comes back empty rather than on <code>has_more</code>.</p> |
| `limit` | integer | No | <p>Comments per page, up to 25.</p> |

## Example response

```json
{
    "meta": {
        "attempts": 1,
        "duration_ms": 512,
        "endpoint_family": "video.comments"
    },
    "count": 1,
    "limit": 25,
    "offset": 0,
    "comments": [
        {
            "id": "619167278",
            "date": "2026-08-15T09:04:00+00:00",
            "user": {
                "id": "_cAJd8aSdbX8",
                "slug": "example-user",
                "type": "channel",
                "thumb": "https://rumble.com/embed/ajd8asdbx8/thumbnail.jpg",
                "title": "example-user",
                "badges": [],
                "badge_type": null,
                "verified_badge": false
            },
            "comment": "Example comment body.",
            "deleted": false,
            "replies": [],
            "modified": null,
            "reply_id": null,
            "is_pinned": false,
            "user_vote": 0,
            "permissions": {
                "editable": false,
                "deletable": false
            },
            "rumble_votes": {
                "score": 128,
                "votes": 140,
                "user_vote": 0,
                "num_votes_up": 138,
                "num_votes_down": 10
            },
            "comment_score": 128
        }
    ],
    "has_more": true,
    "video_id": "446942776",
    "comments_stated": 39,
    "comments_returned": 1
}
```

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
