Thumbnail URL API

Pass any YouTube video ID or URL and get back a JSON response with all available thumbnail resolutions. Free, no API key needed - works with fetch, curl, or any HTTP client.

Try it

Response
200 OK
{ "ok": true, "videoId": "<your-video-id>", "thumbnails": [ { "quality": "maxresdefault", "url": "…" } ] }

Endpoint

GET https://youtube-thumb-nail-download.com/api/?v={videoId}

Query Parameters

Param Type Description
v string YouTube video ID (11 characters) or full video URL
url alias string Alternative to v - accepts any YouTube URL format
id alias string Alternative to v

Response Schema

ok
boolean
true on success, false if the video ID could not be parsed
videoId
string
The extracted 11-character YouTube video ID
thumbnails
array<Thumbnail>
All 5 resolutions, ordered from largest to smallest

Thumbnail Object

quality
string
YouTube filename key, e.g. maxresdefault
label
string
Human-readable label, e.g. Maximum Resolution
width / height
number
Expected pixel dimensions (actual image may differ for older videos)
url
string
Direct img.youtube.com URL - publicly accessible, no auth needed

Usage Examples

JavaScript - Fetch
const videoId = 'dQw4w9WgXcQ'; const res = await fetch( `https://youtube-thumb-nail-download.com/api/?v=${videoId}`, { headers: { Accept: 'application/json' } } ); const data = await res.json(); console.log(data.thumbnails); // → [{ quality: 'maxresdefault', url: '…', width: 1280, height: 720 }, …]
cURL
curl "https://youtube-thumb-nail-download.com/api/?v=dQw4w9WgXcQ"
Python - Requests
import requests res = requests.get( "https://youtube-thumb-nail-download.com/api/", params={"v": "dQw4w9WgXcQ"}, headers={"Accept": "application/json"}, ) data = res.json() for thumb in data["thumbnails"]: print(f"{thumb['label']}: {thumb['url']}")
Tip: Programmatic clients (curl, fetch, etc.) automatically receive JSON. Browsers visiting this URL see this documentation page instead. You can also force JSON in a browser by adding &format=json to the URL. The maxresdefault resolution may not exist for older videos; fall back to hqdefault in that case.