YouTube · Guide

How to get YouTube comments

TL;DR
To get YouTube comments, sign up for a free Captapi key, then send one GET request to /v1/youtube/comments with your input. You get clean JSON back in seconds for 2 credits per call — no OAuth, scraping or platform SDKs. Get comments on any YouTube video — text, author, likes, and timestamp, with cursor pagination (nextCursor + hasMore). Flat 2 credits per call.

How to get YouTube comments (step by step)

  1. 1

    Get a free API key

    Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.

  2. 2

    Call the YouTube Comments API

    Send an authenticated GET request to /v1/youtube/comments with your input. No OAuth, no scraping setup.

  3. 3

    Read the JSON response

    Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.

Code example

curl "https://api.captapi.com/v1/youtube/comments?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ" \
  -H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."

What the response looks like

{
  "success": true,
  "data": {
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "videoId": "dQw4w9WgXcQ",
    "totalReturned": 5,
    "totalComments": 2446085,
    "nextCursor": "Eg0SC2RRdzR3OVdnWGNRGAYyJSIRIgtkUXc0dzlXZ1hjUTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D",
    "hasMore": true,
    "comments": [
      {
        "id": "Ugzge340dBgB75hWBm54AaABAg",
        "author": "@YouTube",
        "authorAvatarUrl": "https://yt3.ggpht.com/3s6evpqAiDU9tQR4sC2siJippbH2RWVPnwHgyl4V0th2iuQz0VDQZbUhQBGmsxLYo-mjG6TqZQ=s88-c-k-c0x00ffffff-no-rj",
        "authorIsVerified": true,
        "authorIsChannelOwner": false,
        "text": "can confirm: he never gave us up",
        "likeCount": 274000,
        "replyCount": 961,
        "hasCreatorHeart": true,
        "publishedTimeText": "1 year ago"
      },
      {
        "id": "UgyBphvOZuIgdVHgFvx4AaABAg",
        "author": "@Neouss",
        "authorAvatarUrl": "https://yt3.ggpht.com/GEhF3wh6dcR36TBui5D4TxzcMAjZXtUdo4neBfxJnbNMpqvbThH31zYQnB9QH-7PeydlKc4ueA=s88-c-k-c0x00ffffff-no-rj",
        "authorIsVerified": false,
        "authorIsChannelOwner": false,
        "text": "MuffinJuice sent me here",
        "likeCount": 1200,
        "replyCount": 260,
        "hasCreatorHeart": true,
        "publishedTimeText": "18 hours ago"
      },
      {
        "id": "UgyEnXfdC-umwvTt8JF4AaABAg",
        "author": "@Oatman69",
        "authorAvatarUrl": "https://yt3.ggpht.com/ghenbV7T5VMOA3iqp3PThC82exqcu7iVng_iWNx1Ujak72Ti4oZZ_XzSVzIrfk9arP1XrFtnZA=s88-c-k-c0x00ffffff-no-rj",
        "authorIsVerified": false,
        "authorIsChannelOwner": false,
        "text": "Gonna flag this for nudity so I can rick roll the YouTube staff",
        "likeCount": 561000,
        "replyCount": 670,
        "hasCreatorHeart": true,
        "publishedTimeText": "6 years ago"
      },
      {
        "id": "Ugxzbv_ZeZXNRcfwsSF4AaABAg",
        "author": "@candycake9531",
        "authorAvatarUrl": "https://yt3.ggpht.com/ytc/AIdro_mEO82VrM8XtyGrBUkJgbAYgpAmDpUZixd1QvK9kyA=s88-c-k-c0x00ffffff-no-rj",
        "authorIsVerified": false,
        "authorIsChannelOwner": false,
        "text": "Is everyone going to ignore the fact that Rick Astley looks like a twelve year old boy but has a uniquely deep voice?",
        "likeCount": 288000,
        "replyCount": 635,
        "hasCreatorHeart": true,
        "publishedTimeText": "6 years ago"
      },
      {
        "id": "UgyOBSJT7Ca0h-XMMQ54AaABAg",
        "author": "@Aubslovesredbull",
        "authorAvatarUrl": "https://yt3.ggpht.com/3qSnEkftXN9c1oU3e7lh106XqMKEG1_sYJ8G_PznBozt1qyMcJYS7E0aHBAU1c0FktK9x-w7p5k=s88-c-k-c0x00ffffff-no-rj",
        "authorIsVerified": false,
        "authorIsChannelOwner": false,
        "text": "MUFFIN JUICE RICK ROLLED ME",
        "likeCount": 94,
        "replyCount": 3,
        "hasCreatorHeart": true,
        "publishedTimeText": "18 hours ago"
      }
    ]
  }
}

Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.

Request parameters

NameTypeRequiredDescription
urlstring YesPublic YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.
limitintegerNoMax items to return (default 50, max 500). Billed per result.
cursorstringNoPagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.
cachebooleanNoSet true to serve from the 24h response cache. Default false — always fetch fresh data.

Frequently asked questions

What does the YouTube Comments API do?

The YouTube Comments API lets you pull comments with author, text, likes, and replies from a public YouTube video using one GET request to /v1/youtube/comments. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the YouTube Comments API cost?

Each successful call costs 2 credits. Pass cache=true to serve from the 24h shared cache (0 credits on hit); default is always fresh. Failed or empty results are never charged.

Do I need a YouTube API key or OAuth?

No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.

Is the YouTube Comments API suitable for production use?

Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h shared cache (0 credits on hit); default is always fresh. Use it for analytics, monitoring, and content automation.

Ready to get YouTube comments?

Start free with 100 credits — no credit card required.

Get your free API key