YouTube API

YouTube Channel community posts API

List a YouTube channel's community posts by handle or channel ID with cursor pagination (text, likes, image, publish time).

$1.20/1k req, pay per request, no subscription.

What the API returnedposts[0]
{
"id": "UgkxD3f7A9qLmZ2opQ",
"url": "https://www.youtube.com/post/UgkxD3f7A9qLmZ2opQ",
"content": "New upload drops Friday at 9am PT. It's the biggest build we've done all year, hope you like tiny houses on wheels.",
"image": "https://i.ytimg.com/gen_204/driftline_community_friday.jpg",
"likeCount": 4820,
"publishedTime": "2 days ago",
"createdUtc": 1758844800,
"channelId": "UCz9dR2vQmL4KfTbHnA7wXeA",
... 3 more fields
}
Uptime
100.00%
30d · 37 calls
Requests
37
30d · weekly, last 12 wks
Response
0.9s
median · 30d

Pricing and providers

YouTube Channel community posts API pricing: one API, 2 interchangeable providers

The cheapest provider serves first. If it fails, the next one takes over in the same call.

You pay
$12.00
$1.20/1k req, only for what you use. No monthly plan.
Your first 83 requests are free with the $0.10 starting balance.

Try it

Get YouTube channel community posts in one request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.

This sample shows 15 of 16 fields. See every field

{
  "found": true,
  "data": {
    "nextCursor": "Eg0SC0RyaWZ0bGluZTFAgAEB",
    "posts": [
      {
        "id": "UgkxD3f7A9qLmZ2opQ",
        "url": "https://www.youtube.com/post/UgkxD3f7A9qLmZ2opQ",
        "content": "New upload drops Friday at 9am PT. It's the biggest build we've done all year, hope you like tiny houses on wheels.",
        "image": "https://i.ytimg.com/gen_204/driftline_community_friday.jpg",
        "likeCount": 4820,
        "publishedTime": "2 days ago",
        "createdUtc": 1758844800,
        "channelId": "UCz9dR2vQmL4KfTbHnA7wXeA",
        "channelTitle": "Driftline Studio",
        "channelHandle": "driftlinestudio",
        "images": [
          "https://i.ytimg.com/gen_204/driftline_community_friday.jpg"
        ]
      },
      {
        "id": "UgkxA1b2C3dEfGh",
        "url": "https://www.youtube.com/post/UgkxA1b2C3dEfGh",
        "content": "Poll: should the next build be a rooftop deck or a fold out workshop? Comment your vote below.",
        "image": "https://i.ytimg.com/gen_204/driftline_poll_deck_vs_workshop.jpg",
        "likeCount": 1930,
        "publishedTime": "5 days ago",
        "createdUtc": 1758585600,
        "channelId": "UCz9dR2vQmL4KfTbHnA7wXeA",
        "channelTitle": "Driftline Studio",
        "channelHandle": "driftlinestudio"
      },
      {
        "id": "UgkxZ7yX8wVuTsR",
        "url": "https://www.youtube.com/post/UgkxZ7yX8wVuTsR",
        "content": "Thank you for 500k subscribers! Never thought a channel about building tiny houses would grow like this.",
        "image": "https://i.ytimg.com/gen_204/driftline_500k_thumb.jpg",
        "likeCount": 12400,
        "publishedTime": "1 week ago",
        "createdUtc": 1758326400,
        "channelId": "UCz9dR2vQmL4KfTbHnA7wXeA",
        "channelTitle": "Driftline Studio",
        "channelHandle": "driftlinestudio",
        "images": [
          "https://i.ytimg.com/gen_204/driftline_500k_thumb.jpg",
          "https://i.ytimg.com/gen_204/driftline_500k_crew.jpg"
        ]
      }
    ]
  }
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

One request, one response shape.

Every field you send and every field you get back, each with a real example.

Last verified 2026-10-31 · uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • channelIdstring

    YouTube channel ID.

  • cursorstring

    Continuation token from a previous response for pagination.

  • handlestring

    @driftlinestudio

    YouTube channel handle.

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

datadata
  • nextCursorstring

    Eg0SC0RyaWZ0bGluZTFAgAEB

    Opaque cursor for the next page of posts, or null when this lane has no more. Pass it back as cursor to continue.

each postdata.posts[]

Populated whenever the provider has data for the entity.

  • channelHandlestring

    driftlinestudio

    The publishing channel's @handle, without the leading @.

  • channelIdstring

    UCz9dR2vQmL4KfTbHnA7wXeA

    YouTube channel ID of the channel that published the post.

  • channelTitlestring

    Driftline Studio

    Display name of the channel that published the post.

  • contentstring

    New upload drops Friday at 9am PT. It's the biggest build we've done all year, hope you like tiny houses on wheels.

    Populated whenever the provider has data for the entity.

  • createdUtcnumber

    1758844800

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • idstring

    UgkxD3f7A9qLmZ2opQ

    Populated whenever the provider has data for the entity.

  • imagestring

    https://i.ytimg.com/gen_204/driftline_community_friday.jpg

  • imagesstring[]

    URLs of every image attached to the post.

  • likeCountinteger

    4820

  • publishedTimestring

    2 days ago

    Populated whenever the provider has data for the entity.

  • urlstring

    https://www.youtube.com/post/UgkxD3f7A9qLmZ2opQ

    Populated whenever the provider has data for the entity.

top level
  • foundboolean

    true

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

You get back. Named, typed fields in the same shape whichever source answers.

FAQ

About the YouTube Channel community posts API

The AnyAPI YouTube Channel community posts API returns YouTube channel community posts data as normalized JSON from one POST call to /v1/run/youtube.channel_community_posts. List a YouTube channel's community posts by handle or channel ID with cursor pagination (text, likes, image, publish time). AnyAPI routes each request across 2 sources and falls back automatically when one fails. It costs from $1.20 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of YouTube channel community posts calls through AnyAPI succeeded, with a median response time of 0.9 seconds across 37 measured calls.

It costs from $1.20 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

List a YouTube channel's community posts by handle or channel ID with cursor pagination (text, likes, image, publish time). The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 100.0% of YouTube channel community posts calls through AnyAPI succeeded, with a median response time of 0.9 seconds across 37 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required, which covers 83 YouTube Channel community posts calls at $0.0012 each.

AnyAPI asks the next of its 2 sources in the same request, cheapest first, so one source going down does not fail your call.

Send a POST request to https://api.getanyapi.com/v1/run/youtube.channel_community_posts with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.