Comments Extractor — YouTube + Reddit, One Schema (+AI)
Pricing
from $2.70 / 1,000 comment-results
Comments Extractor — YouTube + Reddit, One Schema (+AI)
Extract YouTube and Reddit comments into one normalized schema with author, text, likes, dates, direct URLs, and optional sentiment and intent flags. Run with video or post URLs. Pricing: $0.0027 per returned comment on Free.
Pricing
from $2.70 / 1,000 comment-results
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Features
Share
Multi Platform YouTube and Reddit Comments Extractor
You get comments from YouTube videos and Reddit posts in one normalized row format, for $0.0027 per returned comment on the Free plan. You need only an Apify account; YouTube runs through Apify Proxy, and the only key is an optional one for AI tags.
- Add optional
sentimentandflaglabels to each comment whenenrichCommentsistrue. - Compare audience feedback across selected YouTube videos and Reddit posts.
- Export comment text, authors, engagement, dates, and direct URLs for content or audience analysis.
- Schedule recurring runs for comment monitoring.
What you get
The Actor returns one row per comment from the input YouTube videos and Reddit posts. YouTube uses likes, while Reddit uses the comment score in the normalized likes field. A field is null when the source does not provide the value.
| Field | Type | Description | Values or notes |
|---|---|---|---|
platform | string | Source platform | youtube or reddit |
content_url | string | Source video or post URL | Input content URL; null when the source does not provide it |
comment_id | string | ID of the comment | YouTube comment ID; always null for Reddit rows |
comment_url | string | Direct comment URL | Link to the individual comment; null when the source does not provide it |
author | string | Comment author | Normalized author value; null when the source does not provide it |
author_url | string | Author profile URL | Available when present; otherwise null |
text | string | Comment text | Extracted comment body; null when the source does not provide it |
likes | number | Likes (YouTube) or score (Reddit) | YouTube like count or Reddit comment score; null when the source does not provide it |
reply_count | number | Number of replies to the comment | Always null |
posted_at | ISO 8601 string | Comment posting date | Reddit: ISO 8601 date; always null for YouTube rows |
sentiment | string | AI sentiment label | positive, neutral, or negative when enrichment is on; null when it is off |
flag | string | AI intent flag | spam, lead, complaint, or none when enrichment is on; null when it is off |
scraped_at | ISO 8601 string | Extraction timestamp | ISO 8601 timestamp of the extraction; present in the sample row |
When enrichComments is true, the Actor adds sentiment and flag to each returned row. When it is false, both fields are null.
Sample output
One row from a YouTube-only run with enrichComments set to false, so sentiment and flag are null.
{"platform": "youtube","content_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","comment_id": "UgwPwTibxdgqCHZxktd4AaABAg","comment_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&lc=UgwPwTibxdgqCHZxktd4AaABAg","author": "@bdr8823","author_url": "https://www.youtube.com/channel/UCdi6tGxvFvTRGe-7dAn7m7w","text": "My algebra teacher said that this was a link to the test answers","likes": 71,"reply_count": null,"posted_at": null,"sentiment": null,"flag": null,"scraped_at": "2026-11-08T09:03:04.924372+00:00"}
Pricing
You pay only for the events listed below. This Actor does not use the Pay per event + usage option, so the platform usage of your runs (compute, proxy traffic and storage) is not billed to you separately.
| Event | Plan | Price | Condition |
|---|---|---|---|
apify-actor-start | Free plan | $0.00005 per event | Charged once per GB of run memory, with a minimum of one event |
apify-default-dataset-item | Free plan | $0.0027 per event | One per returned comment |
comment-result has no price, so the buyer is not charged for it.
Example on the Free plan: 1,000 x $0.0027 = $2.70 for comments; 10,000 x $0.0027 = $27.00. Each run adds one actor-start event.
The Apify Free plan includes $5 of monthly platform credit; the $5 credit covers 1,851 results after one actor-start event.
How to use
- Add YouTube video URLs or bare 11-character YouTube video IDs to
youtubeUrls. - Add Reddit post URLs in the
/comments/<id>/format toredditUrls. - Set
maxCommentsPerContentto the number of comments to request per video or post. - Choose whether to enable
enrichComments, and optionally provide your own OpenAI-compatible key and model override. - Keep the default Apify Proxy configuration for the YouTube path and use the Arctic Shift API for Reddit comments.
- Start the run and inspect the normalized dataset rows, including direct comment URLs and optional AI fields.
- Repeat the run through Apify Schedules, using daily as a starting point for comment monitoring.
{"youtubeUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"redditUrls": [],"maxCommentsPerContent": 50,"enrichComments": false,"aiModel": "","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Export the dataset as JSON or CSV, or read it through the Apify dataset API.
Input parameters
| Parameter | What it does | Default |
|---|---|---|
youtubeUrls | Array of full YouTube video URLs or bare 11-character video IDs to process | Empty when omitted |
redditUrls | Array of Reddit post URLs containing /comments/<id>/ | Empty when omitted |
maxCommentsPerContent | Number of comments to request per video or post (1–1000). Reddit returns at most 100 per post and YouTube stops after 5 comment pages, so higher values do not return more | 50 |
enrichComments | Adds sentiment and flag to each returned comment | false |
openaiApiKey | Optional secret OpenAI-compatible key for the AI pass; provider charges are paid directly by the key owner. When empty, the Actor uses its built-in or deterministic classifier | Empty |
aiModel | Overrides the AI tagging model when an API key is available | Empty; gpt-4o-mini is used when a key is available |
proxyConfiguration | Apify Proxy configuration used for YouTube; the Arctic Shift API is used for Reddit | Apify Proxy with the RESIDENTIAL group |
Limits and edge cases
| Condition | What you see | What to do |
|---|---|---|
| Both URL arrays are empty or omitted | The run output contains {"error":"no_input"} | Provide at least one YouTube video URL or Reddit post URL |
| A YouTube URL or ID cannot be parsed | The item is skipped and a warning is logged | Use a full supported YouTube URL or a bare 11-character video ID |
| A content fetch raises an error | A warning is logged for that item and processing continues with other input items; rows are pushed after the URL loops and optional enrichment | Check the input URL and run again if needed |
| No comments are extracted from the input items | The run output contains {"error":"empty"} | Check that the source content has accessible comments and review the run logs |
maxCommentsPerContent is above the source cap | Reddit returns at most 100 comments per post; YouTube stops after 5 comment pages | Expect fewer rows than the value you set; run several posts or videos for more volume |
| An AI classification batch fails | That batch falls back to deterministic sentiment and flag values rather than stopping enrichment | Review the returned values |
To see how many comments a given URL returns, run it once with a small maxCommentsPerContent and count the dataset rows.
FAQ
How much does it cost to scrape YouTube and Reddit comments?
You pay $0.0027 per returned comment on the Free plan plus the actor-start event; see Pricing.
What happens if the run returns an empty result?
If no comments are extracted, the run sets the output to {"error":"empty"}. Check that the submitted YouTube or Reddit URL is valid and that the source content has accessible comments.
Do I need an OpenAI API key for sentiment and intent tagging?
No; an OpenAI-compatible key is optional.
Why might YouTube comments not be returned?
Check the video URL and proxy configuration if comments are not returned.
Is scraping this public data legal?
The Actor extracts public comments from YouTube through its comment endpoint and from Reddit through the Arctic Shift API. Source terms and applicable law depend on your use case, so review the relevant terms and legal requirements for your intended use.