---
title: "YouTube Comments API"
method: GET
path: "/v1/youtube/comments"
tags: ["YouTube"]
---

# YouTube Comments API

`GET /v1/youtube/comments`

## Request

- Base URL: `https://api.captapi.com`
- URL: `https://api.captapi.com/v1/youtube/comments`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Get comments on any YouTube video — text, author, likes, and truncated publishedTimeApprox from the relative label, with cursor pagination (nextCursor + hasMore).

The YouTube Comments API lets you pull comments with author, text, likes, and replies for YouTube comments with a single REST call. No OAuth, no infrastructure to maintain, and no platform SDKs — send the request, get clean structured JSON back. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d.

Docs: https://captapi.com/apis/youtube-comments

## Query parameters

- `url` string, required
- `limit` integer
- `cursor` string
- `cache` boolean

## Response `200`

Success. The data object for this endpoint.

- object
  - `success` unknown, required
  - `data` object, required
    - `url` string: Canonical URL of the item.
    - `videoId` string: Platform video ID.
    - `totalReturned` integer: Number of items returned in this response.
    - `totalComments` integer: The video's total number of comments, across all pages.
    - `nextCursor` string: Cursor to pass for the next page of results. May be null when the platform does not expose deep pagination (e.g. some Facebook Ad Library searches).
    - `hasMore` boolean: Whether more results are available beyond this page. When true, pass nextCursor to fetch the next page.
    - `comments` object[]
      - `id` string: Id of this comments item.
      - `author` string: Author name or handle.
      - `authorChannelId` string: Author channel id. Example: "UCBR8-60-B28hp2BmDPdntcQ".
      - `authorAvatarUrl` string: Profile picture URL of the person who wrote the comment.
      - `authorIsVerified` boolean: Whether the author is verified.
      - `authorIsChannelOwner` boolean: Whether the author owns the channel.
      - `text` string: Text content.
      - `likeCount` integer: Like count as an integer. Compact UI labels ("727K") are expanded here; see likeCountText for the original string.
      - `replyCount` integer: How many replies this comment has. Use Comment Replies with this comment's id to fetch them.
      - `hasCreatorHeart` boolean: Whether the creator hearted the comment.
      - `publishedTimeText` string: Original relative publish label from the platform when an exact timestamp was not available (e.g. "1 year ago").
      - `publishedTimeApprox` string: Approximate ISO-8601 derived from publishedTimeText, truncated to the label's precision (day/hour/minute). Not an observed instant — see publishedTimeIsApproximate.
      - `publishedTimeIsApproximate` boolean: true when publishedTimeApprox was derived from a relative label rather than an absolute timestamp YouTube exposed.

## Other responses

- `400`: Bad request: wrong platform URL, unknown endpoint, or an invalid parameter value. Not billed.
- `401`: Missing, invalid or revoked API key. Not billed.
- `402`: Not enough credits for this request. Not billed.
- `404`: The resource does not exist or is not public. Not billed.
- `422`: A required parameter is missing or has the wrong type. Not billed.
- `429`: Rate limit reached. Wait for Retry-After seconds. Not billed.
- `502`: The platform could not be reached or returned nothing usable. Retryable, not billed. 503 and 504 use the same envelope.

---

[API](https://skmtc.dev/captapi/apis/captapi-api.md) · [All operations](https://skmtc.dev/captapi/apis/captapi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/captapi/apis/captapi-api/revisions/c9b9ac5ff1bd?raw)
