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 example
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 settings
| Setting | JSON key | Type / default | Description |
|---|---|---|---|
| Channel URLs or handles | channelUrls |
array | YouTube channel URLs, /posts URLs, /community URLs, or @handles. Required. |
| Maximum posts per channel | maxPostsPerChannel |
integer, default 10 |
Maximum public Community posts to save for each channel; choose 1–500. |
| Include image URLs | includeImages |
boolean, default true |
Save public image URLs from post attachments when available. |
| Include poll options | includePollOptions |
boolean, default true |
Save public poll option text and visible percentages when available. |
| Proxy configuration | proxyConfiguration |
object, default disabled | Optional Apify proxy configuration for blocked or regional workloads. |
Output example
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"
}
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
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);
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'])
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
Report a bug from the Actor page if a public channel with visible Community posts does not return data or the output looks wrong. Include:
- Apify run URL or ID
- Input JSON
- Expected output
- Actual output
- One reproducible public URL or channel handle
Do not include private account information.
Privacy and data handling
This Actor runs with Apify limited permissions and only processes data needed for the documented run. It uses content lookup inputs and public posts, profiles, videos, comments, or channel metadata needed for the requested output to produce the output dataset and sends requests to public Youtube Community Posts pages/endpoints; results are stored in Apify run storage for your account. FetchCat does not use your inputs or outputs for advertising, does not use them for model training, and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.