YouTube Community Posts Scraper avatar

YouTube Community Posts Scraper

Pricing

from $0.12 / 1,000 item extracteds

Go to Apify Store
YouTube Community Posts Scraper

YouTube Community Posts Scraper

Scrape public YouTube Community posts, polls, images, videos, and engagement from channel Posts tabs. Export clean creator updates.

Pricing

from $0.12 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape public YouTube Posts / Community tab updates from creator channels.

Use this actor to collect channel announcements, launch posts, polls, image posts, video shares, and engagement signals that do not appear in normal video or comment exports.

What does YouTube Community Posts Scraper do?

YouTube Community Posts Scraper extracts public posts from a channel's Posts or Community tab.

It saves each post as a structured dataset row.

The actor works with public channel pages and does not require your YouTube login.

It is designed for monitoring creator updates at scale.

Who is it for?

  • 📣 Social media teams tracking creator announcements
  • 🎬 YouTube agencies monitoring client channels
  • 🧠 Competitive intelligence teams watching launch posts
  • 🗳️ Research teams collecting poll options and audience prompts
  • 📰 Journalists following creator/community updates
  • 🛍️ E-commerce teams watching influencer promotions

Why use this actor?

Community posts are often where creators announce launches, polls, giveaways, collaborations, delays, and audience requests.

Those updates can be missed if you only scrape videos, Shorts, comments, or transcripts.

This actor focuses on the channel Posts surface.

What data can you extract?

FieldDescription
channelNameYouTube channel name
channelHandleChannel handle when available
channelIdChannel browse ID
channelUrlCanonical channel URL
postIdYouTube post ID
postUrlDirect post URL
textPost text
publishedTimeRelative publish time shown by YouTube
voteCountLike/vote count when exposed
commentCountComment count when exposed
attachmentTypenone, image, video, poll, quiz, multi_image, or unknown
imageUrlsImage URLs found in the post
videoUrlLinked YouTube video URL when present
pollOptionsPoll/quiz options when present
scrapedAtISO scrape timestamp

How much does it cost to scrape YouTube community posts?

The actor uses pay-per-event pricing.

A small start event is charged once per run.

A post event is charged for each saved community post.

Formula-derived pricing from cloud validation starts at about $0.03 per 1,000 saved posts on the Starter/BRONZE tier before higher-tier discounts.

Actual cost depends on the number of posts saved and the Apify plan tier used for the run.

Input

Provide one or more public YouTube channel URLs.

Examples:

{
"startUrls": [
{ "url": "https://www.youtube.com/@MrBeast" },
{ "url": "https://www.youtube.com/@Google" }
],
"maxItems": 20,
"languageCode": "en",
"countryCode": "US"
}

Input fields

startUrls

Channel URLs to scrape.

You can use handle URLs, /channel/... URLs, /posts URLs, or legacy /community URLs.

maxItems

Maximum posts to save across all channels.

Use a low number for the first run.

languageCode

YouTube web language context.

Default: en.

countryCode

YouTube web country context.

Default: US.

Output example

{
"channelName": "MrBeast",
"channelHandle": null,
"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"channelUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA",
"postId": "Ugkx...",
"postUrl": "https://www.youtube.com/post/Ugkx...",
"text": "WE HIT HALF A BILLION SUBSCRIBERS ❤️",
"publishedTime": "1 day ago",
"voteCount": 904000,
"commentCount": 39000,
"attachmentType": "image",
"imageUrls": ["https://yt3.ggpht.com/..."] ,
"videoUrl": null,
"pollOptions": [],
"scrapedAt": "2026-06-14T08:22:12.533Z"
}

How to run

  1. Open the actor on Apify.
  2. Add one or more YouTube channel URLs.
  3. Keep maxItems small for a test run.
  4. Start the actor.
  5. Export results as JSON, CSV, Excel, XML, or RSS.

Tips for best results

  • Use channel home URLs such as https://www.youtube.com/@MrBeast.
  • Use /channel/UC... URLs when you already have channel IDs.
  • Increase maxItems only after a small test run succeeds.
  • Some channels may not have public posts.
  • Very old posts may require additional pagination time.

Integrations

You can connect the dataset to:

  • Google Sheets for social monitoring
  • Slack or Discord alerts for new creator announcements
  • BI dashboards for campaign tracking
  • CRM enrichment workflows for influencer teams
  • LLM pipelines for announcement classification

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/youtube-community-posts-scraper').call({
startUrls: [{ url: 'https://www.youtube.com/@MrBeast' }],
maxItems: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/youtube-community-posts-scraper').call(run_input={
'startUrls': [{'url': 'https://www.youtube.com/@MrBeast'}],
'maxItems': 20,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~youtube-community-posts-scraper/runs?token=MY-APIFY-TOKEN' \
-H 'Content-Type: application/json' \
-d '{"startUrls":[{"url":"https://www.youtube.com/@MrBeast"}],"maxItems":20}'

MCP usage

Use this actor through Apify MCP when working in Claude Code or Claude Desktop.

MCP tool URL:

https://mcp.apify.com/?tools=automation-lab/youtube-community-posts-scraper

Claude Code setup:

$claude mcp add apify https://mcp.apify.com/?tools=automation-lab/youtube-community-posts-scraper

Claude Desktop JSON config:

{
"mcpServers": {
"apify-youtube-community-posts": {
"url": "https://mcp.apify.com/?tools=automation-lab/youtube-community-posts-scraper"
}
}
}

Example prompts:

  • "Scrape the latest YouTube posts for these creator channels."
  • "Find community posts that mention launches or giveaways."
  • "Monitor these channels and summarize new poll questions."

Data quality notes

YouTube exposes some values as relative text.

For example, publishedTime may be 1 day ago.

Engagement counts may be compacted on YouTube and normalized to numbers when possible.

Limitations

The actor only extracts public posts.

It does not access private members-only posts.

It does not log in as a YouTube user.

It does not scrape post comments; use a dedicated YouTube comments scraper for that workflow.

Legality

This actor extracts publicly visible web data.

You should use the data responsibly, respect applicable laws, and follow YouTube's terms and your own compliance requirements.

Do not scrape private, personal, or access-restricted content.

FAQ

The actor is intended for public channel posts only. Review your use case, jurisdiction, and compliance obligations before collecting or storing data.

Does it scrape members-only posts?

No. The actor does not log in and does not access members-only, private, or age-gated content.

Troubleshooting

The actor returned no posts

The channel may not have public Posts/Community tab content, or the URL may not be a channel URL.

Try the channel home URL and a small maxItems value.

A field is null

YouTube does not expose every field for every post.

Text-only posts have no images.

Image posts may not link a video.

Poll options only appear for poll or quiz posts.

Changelog

0.1

Initial build.

HTTP-first extraction from public YouTube channel Posts tabs.

Support

If a run fails, include the run ID and the input you used when asking for help.

Small reproducible inputs are the fastest to debug.

Privacy

The actor does not ask for your YouTube credentials.

It does not store browser cookies from your account.

It only requests public channel pages.

Performance

The actor is HTTP-first and uses low memory by default.

Pagination continues until maxItems is reached or YouTube has no more continuation pages.

Use one channel and maxItems: 10.

Review the dataset.

Then increase volume for production monitoring.

Production workflow

Run the actor on a schedule.

Compare new postId values against your previous dataset.

Send alerts when post text matches campaign, product, launch, giveaway, or competitor keywords.