Youtube Community Posts Scraper
Pricing
from $3.99 / 1,000 results
Youtube Community Posts Scraper
YouTube Community Posts Scraper extracts community posts, text, images, videos, polls, timestamps, engagement metrics, channel details, and other public data from YouTube. Automate audience research, content analysis, competitor monitoring, engagement tracking, and social media insights.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
ScraperForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
YouTube Community Posts Scraper — Text, Images, Polls & Engagement from the Community Tab
Extract YouTube community posts from any channel: post text, attached images, video thumbnails, poll choices, like and comment counts, publication time, author and a direct post link.
Up to 10,000 posts per channel, bulk channel input, and results written to the dataset as each post is scraped.
What is YouTube Community Posts Scraper?
The community tab is the part of YouTube most analytics tools ignore. It is where channels talk to their audience between uploads — announcements, questions, memes, and polls that produce genuine audience research for free.
This Actor reads that tab. Give it channel URLs in either format (youtube.com/@Handle or youtube.com/channel/UC…) and it collects the posts with their attachments and engagement, streaming rows into your dataset as it goes.
The field worth highlighting is pollChoices. When a channel runs a poll, you get the options back — which means you can read what a creator's audience actually chose, an audience-research signal that is otherwise invisible in bulk.
What data can you extract?
| Field | Description |
|---|---|
postId | Community post identifier |
text | Full post text |
publishedTime | When it was posted |
likeCount | Likes on the post |
commentCount | Comments on the post |
pollChoices | Poll options, when the post is a poll |
images | Attached image URLs |
videoThumbnail | Thumbnail when the post attaches a video |
attachmentType | What kind of attachment the post carries |
author | Channel name |
authorUrl | Channel URL |
channelId | YouTube channel ID |
sourceUrl | Source reference for the post |
Why teams scrape community posts
For audience research
Polls are the standout. A creator asking their audience which format they prefer is running your research for you, and pollChoices captures the options at scale across many channels.
For competitor monitoring
Community posts often carry announcements before they appear in a video — launches, collaborations, schedule changes. Monitoring the tab is an early-warning system.
For creator and influencer vetting
Engagement on community posts is a good proxy for how connected an audience really is. A channel with a million subscribers and a hundred likes per post has a distribution problem, not an audience.
For content planning
The community tab shows which topics a creator's audience responds to in text form — cheaper to test than a video.
For social listening
Channels in your category post about industry news here, often more candidly than in produced video.
For engagement benchmarking
Comparing likes and comments per post across channels of similar size gives you a realistic benchmark for your own community tab.
How to scrape community posts step by step
- Collect the YouTube channel URLs you want —
youtube.com/@ChannelNameoryoutube.com/channel/UC…both work. - Paste them into Channel URLs, one per line or comma-separated.
- Set Max posts per channel (1–10,000). Start at 10 for a quick check.
- (Optional) Enable a proxy for higher volume.
- Click Start, then export the Output tab as JSON (recommended) or CSV.
⬇️ Input
Example input
{"channelUrls": ["https://www.youtube.com/@MrBeast","https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA"],"maxPosts": 200}
Input reference
| Field | Type | Default | Description |
|---|---|---|---|
channelUrls | array | — (required) | YouTube channel URLs. Both youtube.com/@ChannelName and youtube.com/channel/UC… formats are supported. One per line or comma-separated; add as many channels as you like. |
maxPosts | integer | 10 | Maximum community posts per channel, from 1 to 10,000. Small values for a quick test; larger values pull more history or the full community tab. |
proxy | object | no proxy | Optional. Runs without a proxy by default. Select an Apify proxy group or supply a custom URL for higher volume — and if the chosen proxy is blocked, the Actor switches to Apify RESIDENTIAL automatically and keeps going. |
⬆️ Output
Example output — text post with image
{"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA","postId": "UgkxABCDEFGHIJKLMNOPQRSTUVWXYZ","author": "Example Channel","authorUrl": "https://www.youtube.com/@examplechannel","text": "New video drops Friday. Any guesses what it's about? 👀","publishedTime": "2 days ago","likeCount": 48210,"commentCount": 3120,"pollChoices": [],"images": ["https://yt3.ggpht.com/…"],"videoThumbnail": null,"attachmentType": "image","sourceUrl": "https://www.youtube.com/post/UgkxABCDEFGHIJKLMNOPQRSTUVWXYZ"}
Example output — poll
{"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA","postId": "UgkxPOLL1234567890","author": "Example Channel","text": "Which should we cover next?","publishedTime": "1 week ago","likeCount": 12840,"commentCount": 902,"pollChoices": ["Long-form documentary", "Short tutorials", "Live Q&A"],"images": [],"attachmentType": "poll"}
Illustrative values — a live run returns current YouTube data.
Usage recipes
Monitor competitors' announcements
{"channelUrls": ["https://www.youtube.com/@competitorone","https://www.youtube.com/@competitortwo"],"maxPosts": 50}
Save as a Task, attach a daily Schedule, and deduplicate on postId for an announcements feed.
Harvest poll results across a niche
Run several channels in your category and filter the export for rows where pollChoices is not empty. You now have a set of audience-preference questions — and the options creators thought worth asking — for free.
Benchmark community engagement
Compare likeCount and commentCount per post across channels of similar size to see what normal looks like before judging your own numbers.
Find the highest-engagement post types
Group by attachmentType and compare average engagement. Image posts, polls and text-only posts behave very differently.
Full historical pull
{"channelUrls": ["https://www.youtube.com/@examplechannel"],"maxPosts": 10000}
How does this compare to YouTube's official API?
The YouTube Data API does not expose community posts at all. There is no endpoint for the community tab — not for your own channel, and not for anyone else's. The API covers videos, playlists, channels and comments, and stops there.
That makes scraping the public community tab the only available route to this data, which is exactly what this Actor does.
Integrate and automate
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_API_TOKEN>")run = client.actor("scraperforge/youtube-community-posts-scraper").call(run_input={"channelUrls": ["https://www.youtube.com/@MrBeast"],"maxPosts": 100,})for p in client.dataset(run["defaultDatasetId"]).iterate_items():kind = "POLL" if p.get("pollChoices") else p.get("attachmentType") or "text"print(kind, "|", p["likeCount"], "likes |", (p.get("text") or "")[:70])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_API_TOKEN>' });const run = await client.actor('scraperforge/youtube-community-posts-scraper').call({channelUrls: ['https://www.youtube.com/@MrBeast'],maxPosts: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
REST API
curl -X POST "https://api.apify.com/v2/acts/scraperforge~youtube-community-posts-scraper/runs?token=<YOUR_APIFY_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"channelUrls":["https://www.youtube.com/@MrBeast"],"maxPosts":100}'
n8n, Make, Zapier and AI agents
Call the Actor from n8n, Make, Zapier or an MCP-capable agent — for example, a workflow that alerts you when a monitored channel posts an announcement.
Schedules and webhooks
Attach a Schedule for continuous monitoring and deduplicate on postId, then route results with webhooks or the Google Sheets / Airtable / Slack integrations.
Pricing and what you are charged for
Pay-per-event: a small Actor-start charge plus a charge per post row delivered. maxPosts is per channel, so your ceiling is maxPosts × number of channels.
Current rates are on the Pricing tab of this Actor's page, and Apify shows an estimate before and during every run. Residential proxy traffic, when the automatic switch kicks in, is billed separately by the platform.
Limits, reliability and blocking
- Not every channel has a community tab. It requires the channel to have enabled it; channels without one return no posts, which is a correct result rather than an error.
maxPostsis per channel, so five channels at 200 each can return up to 1,000 rows.publishedTimeis relative ("2 days ago"), as YouTube displays it — not an absolute timestamp. Record your run time if you need exact dating.- Poll vote counts are not published by YouTube on the public tab, so
pollChoicesgives you the options, not the results. - Image and thumbnail URLs point at YouTube's CDN and can change.
- Proxy escalation is automatic — if your chosen proxy is blocked, the Actor switches to Apify Residential and continues rather than failing.
- Community history is finite. Very old posts may become unreachable regardless of your limit.
- Default run options are 4 GB memory and a 1-hour timeout; raise the timeout for large multi-channel runs.
Is it legal to scrape YouTube community posts?
This Actor collects publicly visible community posts — the same content any visitor can read on a channel's community tab without logging in. It does not log in, subscribe, or access private data.
Post text and images belong to the channels that published them, and channel names are personal data in the case of individual creators. Use the data for research and analysis, credit and link where you reference posts, and comply with YouTube's Terms of Service and GDPR or comparable regulations.
❓ Frequently asked questions
Do I need a YouTube API key?
No — and the Data API could not do this anyway, since it has no community-posts endpoint.
Which channel URL formats work?
Both youtube.com/@ChannelName and youtube.com/channel/UC…. You can mix them in one run.
Why did a channel return no posts?
It probably has no community tab enabled, or has never posted there. That is a valid outcome, not a failure.
Do I get poll results?
You get the poll options in pollChoices. YouTube does not publish vote counts on the public tab, so results are not available to anyone scraping it.
Is publishedTime an exact date?
No — it is YouTube's relative label ("2 days ago"). Note your run time if precise dating matters.
How many posts can I collect?
Up to 10,000 per channel, subject to how far back the community tab goes.
Do I need a proxy?
Not to start. If your chosen proxy is blocked, the Actor switches to Apify Residential automatically and keeps scraping.
Can I get comments on community posts?
Comment counts, not comment text.
Which export format should I use?
JSON — pollChoices and images are arrays. CSV works if you only need text and engagement.
🔗 Related scrapers
- Youtube Transcript Scraper — the video side of the same channels, as text.
- 🎬 YouTube Channel Email Scraper — contact details for the channels you monitor.
- 🎬 YouTube Email Scraper — creator contacts discovered by keyword.
- ❤️💬 Instagram Likes Scraper with Comments — audience engagement on another platform.
Browse the full collection on the ScraperForge profile.
💬 Feedback
Need absolute timestamps, comment text, or a custom community-monitoring pipeline? Open an issue on the Issues tab of this Actor.