Home · Docs · Endpoints · youtube/video/comment/replies
youtube/video/comment/replies — the answers under one comment
The replies to a single comment, addressed by `parent_id` — the comment's id, never the video's. Same privacy contract: no author fields at all.
The call
| Path | GET /api/v1/youtube/video/comment/replies |
|---|---|
| Catalogue id | youtube/video/comment/replies |
| Cost | 1 credit per call. A call that finds nothing costs nothing. |
| Key | Required — Authorization: Bearer hk_live_... |
Parameters (1)
| Name | In | Required |
|---|---|---|
parent_id | query | yes |
That list is the whole list, and anything else is ignored in silence. An undeclared parameter is not rejected — it produces no error, no warning and no filtering. Check a parameter against this table before assuming a narrower result came back.
What the parameter list does not tell you
⚠️ `parent_id` IS A COMMENT ID, AND THIS IS THE MISTAKE TO AVOID. The parameter is not `id` and it does not take the video id you just passed to `youtube/video/comments`. It takes the id OF THE COMMENT whose answers you want. Passing the video id does not return every reply on the video — it returns nothing useful, and the credit is spent. The name of the parameter is the warning, and it is different from every other route in this family for exactly that reason.
THE ORDER IS TWO STEPS, AND THE SECOND ONE IS PER COMMENT. First `youtube/video/comments` for the top-level thread; then one call here for each comment you actually want expanded. There is no route that returns a whole video's reply tree in one answer, because that answer is unbounded — the cost of a tree is not knowable before you fetch it, and a route whose price you cannot predict is worse than two routes whose price you can. A real call on 4 October 2026 returned 100 replies for one parent id.
THE SAME PRIVACY CONTRACT APPLIES, with nothing softened: zero author fields on all 100 replies, verified against the upstream that did carry them. Everything on the `youtube/video/comments` page about what this makes impossible holds here too.
Measured caveats (2)
The replies route takes `parent_id`, never the video `id`
`youtube/video/comment/replies` identifies its subject by the PARENT COMMENT, so the parameter is `parent_id` and it holds a comment id — not the video id you passed to `youtube/video/comments`. Passing the video id does not return the video's replies; it returns nothing useful, and the call is spent. The order is: `youtube/video/comments` for the top-level thread, then one `replies` call per comment id you actually want expanded.
Source: The declared parameter list in `lib/rotas-da-api.js` and a real production call on 4 October 2026 that returned 100 replies for one parent comment id.
The comment routes carry no author fields at all
`youtube/video/comments` and `youtube/video/comment/replies` return the comment text and its counters and NOTHING identifying who wrote it — no handle, no display name, no avatar, no channel id. This is a deliberate narrowing, not a gap in the upstream: the official API offers those fields and we drop them before they reach you. A comment is a published sentence; the person who wrote it did not publish a profile by writing it. If your use case needs the author, these two routes are the wrong source and will stay that way.
Source: Real production calls on 4 October 2026 — 100 comments and 100 replies, checked field by field against the upstream Google Data API v3 response, which did carry the author fields we removed.
Why there is no success body on this page
The 200 body for this endpoint is not transcribed here. Reading it needs a client key, and there is no client key on the machine these pages were built from — internal keys exist only as hashes, by design. An example we never received would look exactly like one we did, so instead of composing one, the response shape is documented field by field on the schema pages below. Those are generated from the contract and tested against it in both directions; an invented example would be tested by nothing.
Response shapes (2)
PostsEnvelope— Every posts endpoint answers with this envelope. Eight fields, all required: you can read `success` and `credits_used` without checking whether they came.ApiError— Every 4xx and 5xx from the API carries this object. The `error` value is a stable string you can branch on; the extra fields appear only for the errors that have something to report.
Error codes (8)
Every one of them carries the same body shape: ApiError. The error value is a stable string you can branch on — branch on that, never on the message text.
400 · 401 · 402 · 404 · 405 · 451 · 503 · 502
Machine-readable
This endpoint is in /openapi.json (OpenAPI 3.1), with its cost on the operation itself. If you are generating a client, use the spec rather than this page — and note that the spec is filtered by what is switched on right now, so it is the better answer to "can I call this today".
The other 18 endpoint pages
archive/trends · archive/movers · archive/coverage · profile/history · youtube/channel · pinterest/boards · bluesky/post · tiktok/post · tiktok/search_suggestions · tiktok/video_screen_text · tiktok/post_transcript · youtube/video · youtube/channel/videos · youtube/playlist · youtube/channel/shorts · youtube/channel/lives · youtube/channel/playlists · youtube/video/comments