Apify Store
AS
Apify Store
/streamers/youtube-scraper

Scrape YouTube

YouTube crawler and video scraper. Alternative YouTube API with no limits or quotas. Extract and download channel name, likes, number of views, and number of subscribers.

liveverifiedasyncdegraded · 6.9s~30s typical
youtubevideoschannelssearch
$0.0020
per result + $0.01 call
plus $0.001 platform fee per run
Usage-based actor: event charges passed through at cost plus 25%
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /streamers/youtube-scraper for me.

Input

FieldTypeDescription
searchQueriesarrayEnter search terms just like you would enter it in YouTube's search bar.
maxResultsintegerLimit the number of videos you want to crawl. If you scrape a channel, acts as a limit for regular videos. default 0
maxResultsShortsintegerLimit the number of Shorts videos you want to crawl. default 0
maxResultStreamsintegerLimit the number of Stream videos you want to crawl. default 0
startUrlsarrayEnter a link to a <a href='https://www.youtube.com/watch?v=xObhZ0Ga7EQ' target='_blank' rel='noopener'>YouTube video</a>, <a href='https://www.youtube.com/c/Apify' target='_blank' rel='noopener'>channel</a>, <a href='https://www.youtube.com/playlist?list=PLObrtcm1Kw6PmbXg8bmfJN-o2Hgx8sidf' target='_blank' rel='noopener'>playlist</a>, <a href='https://www.youtube.com/hashtag/apify' target='_blank' rel='noopener'>hashtag</a> or <a href='https://www.youtube.com/results?search_query=crawlee' target='_blank' rel='noopener'>search results page</a>. You can also import a CSV file or Google Sheet with a list of URLs.<br><b>Note:</b> Input from <i>Search term</i> will be ignored when using this option. If you only want to scrape shorts/streams, set Maximum search results to 0, otherwise they represented number of regular videos requested default []
downloadSubtitlesbooleanIf set to true, the scraper will download subtitles for the video and convert them to .srt format.
subtitlesLanguagestring (any | en | de | es | fr | it)Language to download subtitles in.<br><b>Note:</b> <i>Download subtitles</i> must be turned on for this option to work. default "en"
subtitlesFormatstring (srt | vtt | xml | plaintext)Select in what format you want to download subtitles default "srt"
sortingOrderstring (relevance | rating | date | views)Select Youtube sorting parameter for search
dateFilterstring (hour | today | week | month | year)Select Youtube upload date filter for search
videoTypestring (video | movie)Select Youtube video type filter for search
lengthFilterstring (under4 | between420 | plus20)Select Youtube video length filter for search
isHDbooleanWill apply the HD filter for search
hasSubtitlesbooleanWill apply the Subtitles/CC filter for search
hasCCbooleanWill apply the Creative Commons filter for search
is3DbooleanWill apply the 3D filter for search
isLivebooleanWill apply the Live filter for search
isBoughtbooleanWill apply the Purchased filter for search
is4KbooleanWill apply the 4K filter for search
is360booleanWill apply the 360 degrees filter for search
hasLocationbooleanWill apply the Location filter for search
isHDRbooleanWill apply the HDR filter for search
isVR180booleanWill apply the VR180 filter for search
oldestPostDatestringOnly posts uploaded after or on this date will be scraped. Alternatively, specify how old the scraped videos should be in days. Putting <code>1 day</code> will get you only today's posts, <code>2 days</code> - yesterday's and today's, and so on. Note, that if you select this, sorting parameter will be auto-reset to NEWEST
sortVideosBystring (NEWEST | POPULAR | OLDEST)Maps to the sorting buttons on the top of the channel's 'Videos', 'Shorts' and 'Live' pages.
aiVideoDescriptionbooleanIf enabled, uses AI to generate a time-segmented description of the video, covering both visual and audio content for each segment. default false
aiVideoSummarybooleanIf enabled, uses AI to generate a concise conceptual summary of the video covering both visual and audio content. default false
saveSubsToKVSbooleanIf set to true, the scraper will save the downloaded subtitles to the key-value store. <br><b>Note:</b> <i>Download subtitles</i> must be turned on for this option to work.
preferAutoGeneratedSubtitlesbooleanIf set to true, automatically generated subtitles are preferred to user subtitles.<b> Note:</b> A subtitle language must be selected and download subtitles must be turned on for this option to work.

Call it

curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
  -H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
  -d '{"provider":"apify","endpoint":"/streamers/youtube-scraper","input":{"searchQueries":["peptide therapy"],"maxResults":20},"wait":false}'
poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."
cli
npx cracked-ai run -p apify -e /streamers/youtube-scraper -i '{"searchQueries":["peptide therapy"],"maxResults":20}' -w 120
mcp
run_tool({ provider: "apify", endpoint: "/streamers/youtube-scraper", input: {"searchQueries":["peptide therapy"],"maxResults":20}, wait: false })

Try it

Runs against your signed-in workspace balance. Sign in if you have not.