SocialToAIStart freeConsole
POST/v1/comments"platform": "youtube"

YouTube Comments API

The comments under one video.

Get the comments under any public YouTube video and get back text, likes and reply count, as JSON over HTTP or from your AI client over MCP. A call to the YouTube Comments API costs 2 credits ($0.004 to $0.0067 depending on the pack), failed calls are free, and the response has the same format as every other call. Last tested 2026-10-31.

100 credits on sign-up, no card needed
2 creditsper call, ≈ $0.004–$0.0067
Up to 20 per pageone page per call
2026-10-31last tested
917 Bsample response, 1 item

Last updated:

Need 100 items? Send limit: 100 and one call pages for you: at most 5 pages, 10 credits. It stops once it has them or the list ends; pages it does not use are not charged, and neither are pages that fail. Reading 1,000 items comes to about 100 credits, about $0.33.

Daily watch: tell your AI “watch this daily” and this call runs by itself every day, sending only what is new: at most 62 credits a month, about $0.21. How to set it up

What you get from the YouTube Comments API.
From a recorded answer.

A recorded call returned 20 items; here is the first, field by field. Names and text are removed from the sample; the numbers are as recorded.

Lighter for your AI: the same recorded data (20 items) is about 7,450 tokens as the platform's raw JSON and about 2,777 as this interface returns it, 62% fewer (measured 2026-11-06). How it was measured

FieldIn the recorded answer
urlnull: YouTube cannot give it
textremoved from the sample
published_atnull: YouTube cannot give it
author.labelanonymous_1
metrics.likes427,000
reply_count735
content_idnull: YouTube cannot give it
parent_idnull
root_idnull

2 credits a call (≈ $0.004–$0.0067): about 1,500 calls for $10.

Easier with a ready-made tool: Comment analysis. The topics in their comments and how big each is, plus questions, buying intent and complaints.

YouTube Comments API: request and response

curl https://api.socialtoai.com/v1/comments \  -H "Authorization: Bearer $SOCIALTOAI_API_KEY" \  -H "Idempotency-Key: $(uuidgen)" \  -H "Content-Type: application/json" \  -d '{    "platform": "youtube",    "id": "dQw4w9WgXcQ"  }'
import osimport uuidimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/comments",    headers={        "Authorization": f"Bearer {os.environ['SOCIALTOAI_API_KEY']}",        # A new key for each request; the same one again retries it without paying twice.        "Idempotency-Key": str(uuid.uuid4()),    },    json={        "platform": "youtube",        "id": "dQw4w9WgXcQ",    },)print(response.json())
# Connected over MCP? Ask in plain words.Read the comments under this YouTube video: dQw4w9WgXcQ# Your AI calls the comments tool with:{  "platform": "youtube",  "id": "dQw4w9WgXcQ"}
Change the requestThe code above follows.
value
sort
Sign in to run2 creditsOpens in the Playground with these parameters after you sign in. It never runs by itself.
200 OK917 B2 credits
{  "platform": "youtube",  "status": "ok",  "items": [    {      "platform": "youtube",      "id": "…",      "ref": "…",      "approx": [        {          "field": "metrics.likes",          "kind": "approximate"        }      ],      "type": "comment",      "url": null,      "text": "…",      "published_at": null,      "author": {        "label": "anonymous_1"      },      "metrics": {        "likes": 427000      },      "reply_count": 735,      "content_id": null,      "parent_id": null,      "root_id": null    }  ],  "unavailable": ["url", "published_at", "content_id"],  "page": {    "has_more": true,    "cursor": "cur_…",    "cursor_expires_at": "2026-10-25T09:24:11.000Z"  },  "cost_credits": 2}
anonymous_1
likes 427,000replies 735

Names and text were removed from the sample; the numbers are as recorded.

Sample data1 of the 20 items recorded

YouTube Comments API parameters.
6 parameters, 1 required.

Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.

NameTypeRequiredDefaultDescription
platformstringRequired—Always "youtube" on this page.
idstringOne of these—Video ID
urlstringOne of these—Link to the video: a watch, shorts, embed, live or youtu.be link
sortstringOptional"popular"Top comments first, or newest first
"popular""latest"
reply_ofstringOptional—When given, returns the replies under one comment (2 credits).
cursorstringOptional—Pass page.cursor from the last response to get the next page.

Where to get what you send.

id

Video ID (e.g. dQw4w9WgXcQ)

Every item these return carries its ref; send it as it is:

Or send the web link: the url field of the same items.

YouTube Comments API response fields.
What YouTube cannot give is marked.

FieldTypeMeaning
items[].urlstringalways nullA link to the comment, where the platform has one.
items[].textstringThe comment itself.
items[].published_atstringalways nullWhen it was posted, ISO 8601 in UTC.
items[].author.labelstringAn anonymous label, stable within one response. Whoever wrote it is never named.
items[].metrics.likesintegerLikes.
items[].reply_countintegerHow many replies it has.
items[].content_idstringalways nullThe item the comment is under.
items[].parent_idstringThe comment it replies to directly; null for a top-level comment.
items[].root_idstringThe top-level comment its thread hangs under.
nullFields YouTube cannot give

Read null as “YouTube did not give this”, not as zero. These are always null on this call:

  • urlA link to the comment, where the platform has one.
  • published_atWhen it was posted, ISO 8601 in UTC.
  • content_idThe item the comment is under.
Other values of this call

Send the parameter and the call returns something else:

reply_ofthe replies under one comment2 credits

Compared with the TikTok Comments API, this call does not give posted at.

Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format

YouTube Comments API: paging and billing.

One call returns a page of up to 20 items. When page.has_more is true, send page.cursor back as cursor for the next page; each page costs 2 credits and a cursor works for 30 minutes.
A call that runs and finds nothing is a successful call: status is "empty", items is empty, and it costs 2 credits.
On this call YouTube cannot tell a video that does not exist from one with no data: both come back as empty, and both are charged.

5 calls per second per key, 20 after a purchase; going over is not charged. Rate limits

A failed call costs 0 credits and is never retried on its own. Error codes

“Last tested” above is the last day a real call of this interface succeeded. Each call reads from the platform, and fetched_at in the answer is when it was read. The same request sent again with the same key within 5 minutes is a replay (replayed: true): 0 credits, and the answer as first read.

Once connected over MCP, these questions use the YouTube Comments API.

  1. Read the comments under this YouTube video: dQw4w9WgXcQ
    comments {"platform":"youtube","id":"dQw4w9WgXcQ"}
    2 credits
  2. Read the comments under this YouTube video: dQw4w9WgXcQ, with sort set to latest.
    comments {"platform":"youtube","id":"dQw4w9WgXcQ","sort":"latest"}
    2 credits
  3. Search YouTube for videos about "meteor shower", then for the first 3: read the comments under this YouTube video.
    search {"platform":"youtube","query":"meteor shower"}comments {"platform":"youtube","id":"<ref>"} × 3
    8 credits

Give this to your AI.
Copy it into Claude or ChatGPT.

How to connect
Prompt
Use the SocialToAI MCP server (https://mcp.socialtoai.com/mcp) for this: Read the comments under this YouTube video: dQw4w9WgXcQCall the comments tool with {"platform":"youtube","id":"dQw4w9WgXcQ"}. Needed: id, url; optional: sort (popular, latest).For many items pass limit (limit=100 is at most 5 pages) and one call pages for you; each page costs 2 credits and unused pages are not charged.Before you start, work out how many credits it will take in all and ask me; call it only after I agree.If SocialToAI is not connected yet, tell me how to connect it; never ask me to paste a key into the chat.Answer with a link to every item you used, and tell me how many credits it cost.

Paste it into a chat once SocialToAI is connected over MCP. There is no key in it: Claude and ChatGPT sign in, other clients send a key in a header.

These ready-made tools call it when they run.

brand-buzz
Brand buzz

How people feel about it on each platform, what comes up most, and the posts behind it

comment-insights
Comment analysis

The topics in their comments and how big each is, plus questions, buying intent and complaints

account-watch
Account snapshot

What each one posted lately, and which posts beat its usual numbers

creator-card
Creator profile

Their accounts on other platforms, the numbers on each, and how sure the match is

Work scenarios that use it.

brand-monitoring
Brand monitoring

Your AI tells you what people say about a brand: the share of each attitude, what they praise and what they complain about, with the posts behind each point.

product-research
Product research

Your AI reads what people say about a product category in threads and posts, and comes back with the complaints and wishes that keep coming up, each with the post it came from.

comment-sentiment-research
Comment research

Your AI reads the comments under the posts you choose and tells you the topics and their shares, the questions people ask and the overall mood, with quotes.

The same call on other platforms.

All platforms and prices
POST/v1/comments{ "platform": "youtube", "id": "dQw4w9WgXcQ" }2 creditsper call
Change one word in the request: platform. The response keeps the same shape.

Read next.

YouTube official API: access, prices and limits

What its own API allows, who can use it and what it costs, with sources.

YouTube transcript API

The full transcript of any public video, by link.

Comments API, every platform

Which platforms give comments, how many a page, at what price.

How to analyze video comments with AI, and keep the original words

what comments say, with original words: the tool or your AI, price per platform, a recorded answer

YouTube MCP server

Let your AI read YouTube.

YouTube Comments API: questions.
Short answers.

All YouTube data APIs
Do I need a YouTube account or YouTube's own API access?
No. You only need a SocialToAI key. The call returns content and account information publicly visible on YouTube; you never sign in to YouTube or apply for anything there.
Can I get the replies under one comment?
Yes: send reply_of in the request. That call costs 2 credits.
What does one call cost in dollars?
2 credits: $0.0067 at 300 credits per dollar (purchases from $10), $0.004 at 500 per dollar (from $200). Credits never expire and there is no subscription. 100 free credits on sign-up, no card.
Am I charged when a call fails or finds nothing?
A failed call costs 0 credits and is never retried on its own. A call that runs and finds nothing is a successful call: status is "empty" and it costs 2 credits.
How much does one call return?
One call returns a page of up to 20 items. When page.has_more is true, send page.cursor back as cursor for the next page; each page costs 2 credits and a cursor works for 30 minutes.
Is there a rate limit?
5 calls a second per key, 20 a second after your first purchase. A request over the limit is told how long to wait and is not charged.
How do I use it from Claude, ChatGPT or Cursor?
Yes. In Claude or ChatGPT, add the MCP address https://mcp.socialtoai.com/mcp as a custom connector, sign in with the code we email you and press Allow; there is no key to paste. In Claude Code, run one command, type /mcp, pick socialtoai and sign in; Codex and Cursor sign in too, with their steps on the connect page. Then ask in plain words and your AI calls comments for you.
Start free · 100 credits

Your AI is one URL away
from all of social media.

100 credits on sign-up, no card needed