YouTube Scraper
Pricing
Pay per usage
YouTube Scraper
Search YouTube by keyword and collect video metadata, comments, and threaded replies. No YouTube API key required. Export structured results to JSON, CSV, or Excel.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Hapy Co
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Search YouTube by keyword and collect video metadata, comments, and threaded replies. Start with search queries, video URLs, or video IDs. No YouTube Data API key or YouTube login is required.
Use the results for brand monitoring, customer feedback research, competitor research, and content analysis. Search covers multiple channels, including third-party channels.
Quick start
- Enter a search query or video URLs.
- Set video, comment, and reply limits.
- Keep residential proxies enabled for larger runs.
- Start the Actor.
- Open the results or export them as JSON, CSV, or Excel.
Start with a small run:
{"searchQueries": ["wireless headphones review"],"maxResultsPerSearch": 5,"maxVideos": 5,"maxComments": 20,"maxReplies": 10,"maxItems": 200,"maxRequests": 300,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
For known videos, replace searchQueries with videoUrls. Watch URLs, Shorts URLs, youtu.be URLs, and 11-character video IDs are supported. English, Arabic, and other Unicode queries are supported. Query language does not filter comment language.
Results
The default dataset contains two record types:
| Type | Contents |
|---|---|
video | ID, URL, title, description, channel details, available dates, duration, engagement, thumbnails, and matching queries. |
comment | ID, text, author details, engagement, source publication text, and video details. Replies also have isReply: true and parentCommentId. |
Use the Overview, Videos, Comments, and Replies views to select result columns. These views do not filter rows. Use type and isReply to identify record types. Optional values can be null. Missing dates and counts are not invented. publishedTimeText preserves source text such as “2 weeks ago”; it is not an exact timestamp.
The key-value store contains:
OUTPUT: final collection report, limits, request counts, and errors.PROGRESS: outcomes saved after each video.SEARCH: queries and discovered video IDs when keyword search is used.STATE: search, completed videos, and cumulative request limits used when the same run resumes.RAW_*: website responses saved before parsing.
A stopped run can have partial dataset rows and no final report. Check run status and the report before treating collection as complete.
Limits and coverage
- Search uses YouTube's video search index. It does not guarantee every spoken keyword mention.
- Transcripts, captions, channel enumeration, and media downloads are not supported.
- Enter up to 25 queries or 1,000 known video URLs per input. Search discovery has no fixed video count ceiling.
- Set a count limit to
0for no count limit:maxVideos,maxResultsPerSearch,maxItems,maxComments,maxReplies, andmaxRequests. Collection stops when results end or the two-hour run limit is reached. Checkpoints are saved before shutdown. - Top-level comments and replies have separate per-video limits.
maxRepliesis a total per video, not per thread. DisableincludeCommentRepliesto skip replies. - Set
commentsSortBytonewestortop. Collection stops at the configured limits. - Deleted, private, restricted, or unavailable content may fail to load. YouTube can block requests or change its website.
- Larger direct runs can encounter IP blocks. Residential proxies are recommended.
- Resurrect the same interrupted run to resume from its checkpoints. Completed videos are skipped, saved dataset rows are deduplicated, and the request and item limits still apply. A new run starts a new collection.
- To split a large collection, set
maxVideosPerBatch. A paused segment hasresumeAvailable: trueinOUTPUTand a failed run status to keep incomplete collection visible. Resurrect it to collect the next segment. The Actor does not automatically start more paid segments. - Empty comments pages are recorded as unavailable. Individual video errors appear in
OUTPUTas warnings. Fatal errors, paused segments, and runs where every attempted collection fails retain a failed status. - Use 1 GB for larger runs. The default timeout is two hours. More memory does not increase this collector's concurrency.
API and scheduling
Use the API tab for authenticated request examples. Run the Actor by name, hapyco/youtube-scraper, or its Actor ID. Apify tasks and schedules can repeat the configured input. Keep API credentials in authorization headers.
Pricing
This Actor has no additional Actor fee, per-result fee, or monthly rental. You pay Apify's standard resource charges, including compute, proxies, storage, and data transfer. Residential proxy traffic can be the main cost. The Pricing tab is the source of truth for current charges. Start with a small collection and limit videos, comments, replies, and requests to control usage.
Support
Use the Issues tab. Include the run ID, expected result, and observed result. Remove credentials and private information before sharing examples.