Youtube Thumbnail Downloader Open Source
Pricing
Pay per usage
Youtube Thumbnail Downloader Open Source
Free Open Source YouTube thumbnail downloader — download high-quality thumbnails from any YouTube video. Supports HD (1280x720), SD, and all standard resolutions. Works with watch, shorts, and share links.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Epic Scrapers
Maintained by CommunityActor stats
1
Bookmarked
13
Total users
2
Monthly active users
14 days ago
Last modified
Categories
Share
YouTube Thumbnail Downloader: save thumbnails from video URLs at up to 1280x720
YouTube Thumbnail Downloader takes a list of YouTube video URLs and saves each thumbnail as a JPG file in the run's key-value store. Every saved image also gets a dataset row with its size, dimensions and a public download link. It is for creators, designers, marketers and researchers who need the actual image files, not just links.
- Five resolutions.
maxresdefault(1280x720),sddefault(640x480),hqdefault(480x360),mqdefault(320x180) anddefault(120x90). Pick one or several per video. - All common URL formats. Watch,
youtu.be, Shorts, embed and legacy/v/links. Unrecognised URLs are logged and skipped. - Missing sizes are skipped, not saved as junk. YouTube serves a small grey placeholder when a size doesn't exist. The actor detects it and saves nothing for that size, so request several resolutions to get whichever exist.
- Predictable file names. Files are saved as
<prefix><videoId>_<resolution>.jpg, and the prefix is configurable. - Free to use, no login. No YouTube account, API key or browser. You pay only standard Apify platform usage.
Scope: This actor downloads thumbnails for URLs you provide. It does not search. To find videos by keyword and list their thumbnails, use YouTube Thumbnail Search Scraper. For transcripts or comments, see YouTube Transcript Scraper and YouTube Comments Scraper.
What can you do with YouTube Thumbnail Downloader?
| Goal | How |
|---|---|
| Bulk download thumbnails | Paste many URLs in startUrls and open the key-value store for the images. |
| Get the best available size | Request maxresdefault and hqdefault together. Older videos often lack the largest size. |
| Link images in a sheet | Export publicDownloadUrl from the dataset to Google Sheets or Airtable. |
| Organise files per project | Set filenamePrefix so each run's files are easy to tell apart. |
| Check image weight | Use bytes, width and height to filter or compare sizes. |
How it compares
| What you need | YouTube Thumbnail Downloader | Manual right-click save | Single-video web tools |
|---|---|---|---|
| Many videos at once | Yes | One at a time | Usually one at a time |
| Several sizes per video | Yes | Manual | Varies |
| Metadata and file links | Dataset row per image | None | None |
| Automation | Schedule and API | No | Rarely |
Input
{"startUrls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" },{ "url": "https://youtu.be/dQw4w9WgXcQ" }],"resolutions": ["maxresdefault", "hqdefault"],"filenamePrefix": "youtube-thumbnail-"}
| Field | Type | Description |
|---|---|---|
startUrls | array | Video URLs. Required. |
resolutions | array | Any of maxresdefault, sddefault, hqdefault, mqdefault, default. Default ["maxresdefault"]. |
filenamePrefix | string | Prefix for key-value store file names. Default youtube-thumbnail-. |
Output
One dataset row per saved image:
{"videoId": "dQw4w9WgXcQ","sourceUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","resolution": "maxresdefault","thumbnailUrl": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg","width": 1280,"height": 720,"bytes": 65324,"contentType": "image/jpeg","keyValueStoreKey": "youtube-thumbnail-dQw4w9WgXcQ_maxresdefault.jpg","publicDownloadUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/youtube-thumbnail-dQw4w9WgXcQ_maxresdefault.jpg","fetchedAt": "2026-06-22T08:26:59.755Z"}
widthandheightare the standard size for that resolution key, not read from the file.contentTypeis alwaysimage/jpeg.- A video and resolution with no real image produces no row.
Track thumbnails over time with scheduled runs
Running the same input again and comparing is where most of the value is. Apify can run the actor for you on a schedule and send the results wherever you need them.
1. Save your input as a task
Open the actor, set your input, then click Save as a new task. A task is a saved input you can run again with one click or on a schedule.
2. Schedule the task
In Apify Console, go to Schedules, click Create new, choose how often to run (for example daily at 06:00 in your time zone), and add your task. See Schedules and How to create a schedule.
Watch how to schedule an Actor:
Or schedule a saved task:
Common schedules:
| Use case | Frequency | Cron expression |
|---|---|---|
| Archive a competitor's thumbnails | Weekly (Monday) | 0 6 * * 1 |
| Catch thumbnail swaps (A/B tests) | Daily | 0 6 * * * |
3. Send the results to a spreadsheet
Connect Google in the task's Integrations tab to save every run to Google Sheets or Google Drive automatically:
4. Compare runs
Every row has videoId, resolution and fetchedAt:
- Thumbnail changes: compare
bytesfor the samevideoIdandresolutionbetween runs. A different size usually means a new image. - Archive history: keep each run's files and use
fetchedAtto date them. - Coverage: check which
resolutionvalues appear pervideoId.
FAQ
How many thumbnails can I download per run?
The code sets no limit. Large runs take longer, since each image is fetched one after another.
Why is there no row for a video or size?
Either the URL wasn't recognised, or YouTube has no image at that size. Ask for several resolutions to get at least one.
Do I need a proxy, login or API key?
No. Images come from YouTube's public image servers at i.ytimg.com.
Can I search by keyword?
Use YouTube Thumbnail Search Scraper, then pass the video URLs here.
Is it legal?
Thumbnails are public, but they belong to their creators. You are responsible for following YouTube's Terms of Service and copyright law when you reuse them.
Cost
The actor is free to use. You pay only the standard Apify platform usage for the run, which is small because it makes plain HTTP requests with no browser.
Related Actors
- YouTube Thumbnail Search Scraper: find videos by keyword and list their thumbnails.
- YouTube Transcript Scraper: get video transcripts.
- YouTube Comments Scraper: collect video comments.
Support
Found a bug or need a feature? Open an issue in the Issues tab and include the run ID and your input.
This actor is not affiliated with, endorsed by or sponsored by YouTube or Google LLC. All trademarks belong to their owners.