Scrape public YouTube Community posts from channel URLs and handles. Collect post text, post URLs, relative publish times, likes, comments, image links, poll metadata, and timestamps in a clean Apify dataset.
What does YouTube Community Posts Scraper do?
YouTube Community Posts Scraper extracts public posts from the Posts tab of YouTube channels. It is designed for teams that need structured Community updates without manually opening every channel.
- ✅ Track creator announcements
- ✅ Monitor brand and competitor updates
- ✅ Collect public engagement metrics
- ✅ Export posts to JSON, CSV, Excel, or API
- ✅ Support channel URLs and @handles
Who is it for?
Social media and creator marketing teams
Use the scraper to monitor creator announcements, campaign teasers, audience polls, sponsor reminders, and recurring post engagement across a curated list of channels.
Brand, PR, and social listening teams
Track public Community posts from competitors, media brands, product teams, or industry creators so updates can be reviewed in one structured feed.
Influencer and talent intelligence teams
Compare how creators use Community posts, which formats receive visible engagement, and when channels announce launches, events, or merch drops.
Agencies and reporting teams
Build repeatable client reports from public YouTube activity. Export a dataset instead of copying posts manually into spreadsheets.
Data engineers and automation builders
Seed dashboards, alerts, enrichment jobs, and internal monitoring systems with normalized post records from selected public channels.
Why use this scraper?
Community posts are often where creators publish announcements, polls, teasers, event reminders, merch drops, and audience questions. This actor turns those public updates into a structured dataset that is easier to filter, store, enrich, and integrate with other tools.
What data can you extract?
| Field | Description |
|---|---|
channelUrl |
Normalized YouTube Posts tab URL |
channelHandle |
Public channel handle when available |
channelName |
Channel display name |
postId |
YouTube Community post ID |
postUrl |
Direct post URL |
text |
Post text and linked text |
publishedAtText |
Relative publish time shown by YouTube |
publishedAt |
Reserved ISO timestamp field when available |
likeCount |
Public like count parsed as a number |
commentCount |
Public comment count parsed as a number |
imageUrls |
Public image URLs attached to the post |
pollOptions |
Public poll options and visible percentages |
isPoll |
Whether the post appears to contain a poll |
scrapedAt |
ISO timestamp for the scrape |
How to use it
- Open the actor on Apify.
- Add one or more YouTube channel URLs or handles.
- Set the maximum number of posts per channel.
- Choose whether to include images and poll options.
- Run the actor.
- Download the dataset or connect it to your workflow.
Input
The main input is channelUrls. You can enter full channel Posts tab URLs, channel URLs, or public handles.
{
"channelUrls": [
"https://www.youtube.com/@YouTube/posts",
"@Google"
],
"maxPostsPerChannel": 10,
"includeImages": true,
"includePollOptions": true
}
Input options
| Input | Type | Description |
|---|---|---|
channelUrls |
array | YouTube channel URLs, /posts URLs, /community URLs, or @handles |
maxPostsPerChannel |
integer | Maximum public Community posts to save per channel |
includeImages |
boolean | Include public image URLs from post attachments |
includePollOptions |
boolean | Include public poll option text and visible percentages when available |
proxyConfiguration |
object | Optional Apify proxy configuration for blocked or regional workloads |
Output
Each dataset item represents one public Community post.
{
"channelUrl": "https://www.youtube.com/@YouTube/posts",
"channelHandle": "@YouTube",
"channelName": "YouTube",
"postId": "Ugkx...",
"postUrl": "https://www.youtube.com/post/Ugkx...",
"text": "Example public Community post text",
"publishedAtText": "4 hours ago",
"likeCount": 1200,
"commentCount": 239,
"imageUrls": [],
"pollOptions": [],
"isPoll": false,
"scrapedAt": "2026-07-03T21:26:06.636Z"
}
Example channel inputs
{
"channelUrls": [
"@YouTube",
"@Google",
"https://www.youtube.com/@TeamYouTube/community",
"https://www.youtube.com/@NASA/posts"
],
"maxPostsPerChannel": 5
}
Tips for best results
- Use the
/poststab URL when you have it. - Handles such as
@YouTubeare supported. - Keep the first run small while validating a new channel list.
- Some channels may not have public Community posts.
- Engagement values are public counts displayed by YouTube.
- Use a channel list with multiple active channels for recurring monitoring.
Images and polls
When includeImages is enabled, the actor saves public image URLs from post attachments. When includePollOptions is enabled, the actor saves visible public poll options and vote percentages when YouTube exposes them.
Limits
The actor only extracts public channel Community posts. It does not log in, bypass private data, scrape private members-only posts, or access data hidden behind account permissions.
Data quality
The actor normalizes channel inputs, parses compact public counts such as 1.2K, and records a scrape timestamp for each item. Fields that YouTube does not publicly expose may be null or empty arrays.
Integrations
Use the dataset with Google Sheets, Airtable, Make, Zapier, Slack alerts, dashboards, BI tools, and enrichment pipelines. Common workflows include daily channel monitoring, influencer campaign tracking, competitor content reporting, and campaign launch alerts.
Workflow ideas
- Send new Community posts from selected creators to Slack.
- Build a weekly influencer monitoring spreadsheet.
- Compare visible engagement by channel and post type.
- Archive public announcements before a campaign launch.
- Enrich posts with your own creator categories in a downstream workflow.
API usage with Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/youtube-community-posts-scraper').call({
channelUrls: ['https://www.youtube.com/@YouTube/posts'],
maxPostsPerChannel: 10,
});
console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClient
client = ApifyClient('MY_APIFY_TOKEN')
run = client.actor('fetch_cat/youtube-community-posts-scraper').call(run_input={
'channelUrls': ['https://www.youtube.com/@YouTube/posts'],
'maxPostsPerChannel': 10,
})
print(run['defaultDatasetId'])
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~youtube-community-posts-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"channelUrls":["https://www.youtube.com/@YouTube/posts"],"maxPostsPerChannel":10}'
MCP usage
Connect the actor to Apify MCP at https://mcp.apify.com/?tools=fetch_cat/youtube-community-posts-scraper and ask Claude to monitor selected public YouTube channels, summarize new Community posts, or compare post engagement across creators.
Claude Code setup:
claude mcp add apify-youtube-community-posts https://mcp.apify.com/?tools=fetch_cat/youtube-community-posts-scraper
Claude Desktop JSON setup:
{
"mcpServers": {
"apify-youtube-community-posts": {
"url": "https://mcp.apify.com/?tools=fetch_cat/youtube-community-posts-scraper"
}
}
}
Example prompts:
- "Run the YouTube Community Posts Scraper for these five channels and summarize the latest announcements."
- "Find public Community posts with more than 1,000 likes from my channel list."
- "Export the scraped posts into a campaign monitoring table."
Scheduling
Schedule the actor daily, weekly, or before campaign reporting windows. For monitoring use cases, store the dataset in Apify or export it to your database so you can compare new posts with earlier runs.
Troubleshooting
If a channel returns no items, confirm that the channel has a public Posts tab. Some channels do not use Community posts or may show content differently by region.
If engagement fields are empty, YouTube may not expose the count for that post or channel at the time of scraping.
If a channel URL fails, try the channel handle or the direct /posts tab URL.
Legality
This actor extracts publicly available YouTube pages. Use it responsibly, respect YouTube terms, and avoid collecting or processing personal data without a lawful basis.
Support
If a public channel with visible Community posts does not return data, share the run URL and input so the issue can be reproduced.