Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To get a video thumbnail from a link, identify the hosting service, resolve the link to the provider’s video ID or oEmbed endpoint, and read the thumbnail image URL from the returned metadata. YouTube exposes thumbnail URLs through its Data API; Vimeo returns one directly from oEmbed. For other sites, try oEmbed discovery and then the page’s Open Graph og:image metadata. A link alone does not guarantee that a thumbnail is public or available.

Choose the right method for the video host

Host or page type First method to try What you get Important constraint
YouTube YouTube Data API videos.list with part=snippet and the video ID Available image URLs, dimensions and sizes under snippet.thumbnails An API key or appropriate authorization is required; available sizes vary by video.
Vimeo Vimeo oEmbed request with the complete video URL thumbnail_url and its dimensions Unlisted links need their complete URL, including the privacy token.
Another provider or an unknown page Provider oEmbed endpoint or page-head oEmbed discovery; then Open Graph Often thumbnail_url or og:image, if exposed There is no universal endpoint or guarantee that the publisher exposes an image.

Use the provider’s metadata interface when you need the video’s actual thumbnail. A screenshot of the page is a different output: it captures what is rendered in a browser, rather than retrieving the thumbnail image field.

Get a YouTube thumbnail from a link

The YouTube Data API returns thumbnail variants in snippet.thumbnails. Documented keys include default, medium, high, standard, and maxres; some videos also expose fhd, qhd, or uhd. Do not assume a particular key exists. Select the largest usable image actually present in the response, using its dimensions where available.

1. Extract the video ID

Common YouTube watch links place the ID in the v query parameter, as in https://www.youtube.com/watch?v=VIDEO_ID. A short link such as https://youtu.be/VIDEO_ID places it in the path. Embed links also contain the ID in the path. Treat these as distinct URL formats and validate that an ID was actually found before making the request; do not pass the full page URL as the API’s id.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Social Thumbnail Maker - Channel Art
  • Select from a dozen templates for the most suitable one, to start your work.
  • Our work is also suitable for banner and channel art as well as intor maker and outra maker.
  • - Powerful and tunning text design presets.
  • You can access thousands of beautiful text design presets, which you won't get from any other thumbnail App.
  • Dozens of fonts , font colors and special font effects available for use. Including pretty cool font presets.

2. Request thumbnail metadata

Send a GET request to https://www.googleapis.com/youtube/v3/videos with part=snippet, id=VIDEO_ID, and an API key or appropriate authorization. For example, with an API key stored in an environment variable:

curl -G "https://www.googleapis.com/youtube/v3/videos" 
  --data-urlencode "part=snippet" 
  --data-urlencode "id=VIDEO_ID" 
  --data-urlencode "key=$YOUTUBE_API_KEY"

In the JSON response, inspect the first item’s snippet.thumbnails object. Each returned size has a URL and may include width and height. If no item is returned, or the request reports videoNotFound, the video may be deleted, inaccessible, or the ID may be malformed. Do not treat a missing maxres entry as an API failure; use another returned size.

3. Use the image URL

Use the chosen thumbnail URL as the image source in your application, subject to YouTube’s applicable terms. If your UI needs a minimum size, compare the returned dimensions and fall back to the next available variant rather than constructing a URL from a presumed naming pattern. If you store URLs, refresh metadata when you need current values instead of relying indefinitely on a hard-coded image path.

Rank #2
Thumbnail, Cover, Posts & Channel Art Maker
  • - Channel Art for Youtube
  • - Ad Pages for Facebook
  • - Cover for Facebook
  • - Posts for Instagram
  • - Cover for YouTube

Get a Vimeo thumbnail from a link

Vimeo’s oEmbed endpoint returns thumbnail_url, thumbnail_width, and thumbnail_height, and may also return thumbnail_url_with_play_button. It can also provide the title, duration, and embed HTML. The endpoint is https://vimeo.com/api/oembed.json; pass the video URL as its URL-encoded url parameter.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Request it with cURL

curl -G "https://vimeo.com/api/oembed.json" 
  --data-urlencode "url=https://vimeo.com/VIDEO_ID"

For an unlisted video, pass the complete unlisted URL, including its extra privacy token. Omitting that part can prevent Vimeo from resolving the video. Vimeo supports regular video, showcase, channel, group, and On Demand URL forms, but privacy and access settings still apply.

Use the returned fields

Parse the JSON and read thumbnail_url rather than guessing a thumbnail URL from the video ID. Use the dimensions to decide whether the returned image suits your layout. The play-button variant is optional, so handle its absence. For private or domain-restricted videos, public oEmbed access may not be enough; the requesting domain or authenticated API access may be required. Vimeo documents private-video oEmbed considerations at Use oEmbed with private videos.

Rank #3
Thumbnail Maker: Youtube Thumbnail & Banner Maker
  • Simple, accessible and beginner-friendly app
  • Select suitable dimensions for thumbnail or banner
  • Different categories of attractive backgrounds
  • Customization by adding text, overlay, and stickers
  • Different brands to make thumbnail more attractive

Find a thumbnail on an unknown video page

There is no single thumbnail lookup endpoint that works for every video URL. Providers may implement oEmbed, advertise their oEmbed endpoint in the page head, expose Open Graph metadata, or expose none of these. A practical resolver tries those sources in order and reports which one supplied the result.

Try oEmbed first

The oEmbed standard provides a way to request an embeddable representation of a resource and defines thumbnail_url as a possible image field. A provider may publish a direct oEmbed endpoint. Alternatively, fetch the page HTML and look for a discovery link whose type is application/json+oembed. Use the discovered endpoint and pass the original page URL in the parameter its provider specifies. The endpoint and parameter conventions are provider-specific, so do not assume that Vimeo’s endpoint works for another host.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Fall back to Open Graph

If there is no usable oEmbed result, inspect the HTML head for <meta property="og:image" content="...">. Resolve a relative image URL against the page’s final URL. This is a page preview image, not necessarily a frame from the video or the exact thumbnail used by the player. If the page has no og:image, a provider-specific API or authenticated access may be needed; there may be no public thumbnail to retrieve.

Python example for a Vimeo URL

This small script demonstrates URL-encoding the link, checking the HTTP status, and reading the returned image URL and dimensions. Replace the example with the complete video URL you are allowed to access.

import requests

video_url = "https://vimeo.com/VIDEO_ID"
response = requests.get(
    "https://vimeo.com/api/oembed.json",
    params={"url": video_url},
    timeout=20,
)
response.raise_for_status()
data = response.json()

thumbnail = data.get("thumbnail_url")
if not thumbnail:
    raise ValueError("The oEmbed response did not include thumbnail_url")

print("Thumbnail:", thumbnail)
print("Dimensions:", data.get("thumbnail_width"), "x", data.get("thumbnail_height"))

For a general resolver, keep provider-specific parsing separate: identify the host, extract an ID only when that provider’s URL format is understood, call its metadata endpoint, and normalize the result into a structure such as URL, width, height, and source. If those steps fail, try discovered oEmbed and then Open Graph. Return an explicit “not available” result rather than silently inventing a URL.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your goal is a visual capture of the video page rather than the provider’s actual thumbnail file, ScreenshotNeo can return a webpage screenshot via one request. It is a screenshot API, not a YouTube or Vimeo thumbnail-metadata lookup; use the provider methods above when you need the thumbnail URL itself. The API accepts a page URL and can return PNG, JPEG, WebP, or PDF. See the ScreenshotNeo documentation for request options and response details.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Thumbnail Maker
  • 1. Pick a background from GALLERY, COLOR PALLETE or TRANSPARENT.
  • 2. You can add Text and stickers.
  • 3. You can apply filters
  • 4. You can change canvas size
curl -G "https://api.screenshotneo.com/v1/shot" 
  -d access_key=YOUR_API_KEY 
  --data-urlencode url=https://vimeo.com/VIDEO_ID 
  -o video-page.webp

ScreenshotNeo removes known cookie and consent banners, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the page verdict and billing status in headers. Its MCP server offers take_screenshot, get_page_info, and capture_pdf tools for AI agents. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Sign up for the free plan.

Common problems and fixes

  • YouTube returns no thumbnail size you expected: inspect the returned keys and dimensions. Several sizes are available only for some videos; choose the best size present.
  • YouTube reports videoNotFound or returns no matching item: verify the ID parsed from the URL and check whether the video is deleted or inaccessible. A malformed ID should be handled as an error, not as an empty thumbnail.
  • YouTube rejects the request: check that the request includes part=snippet, a video ID, and valid API credentials. Handle authorization and API errors separately from a valid response with no usable size.
  • Vimeo does not resolve an unlisted video: pass the full unlisted link with its privacy token, not a shortened or reconstructed URL.
  • Vimeo content is private or domain-restricted: public oEmbed may not be authorized for that video. Use an allowed requesting domain or an authenticated Vimeo API workflow where your access permits it.
  • oEmbed or Open Graph returns no image: the provider or publisher may not expose one to your request. Try the provider’s documented API or stop with a clear unavailable result instead of guessing.
  • A stored thumbnail URL stops working: image URL structures can change. Vimeo advises retrieving current thumbnail links through its API when appropriate; avoid treating a copied URL as permanent.
  • The image works in a browser but not in your application: check your application’s image loading and cross-origin constraints, and follow the host’s rules. If you need to persist or proxy the file, first confirm that your use and distribution are allowed.

Reliability, caching, and permitted use

Metadata requests are generally preferable to scraping a player page because the provider returns structured fields intended for this purpose. Still, a successful metadata response does not promise a permanent image URL or the largest possible resolution. Cache results only for a period appropriate to your application, refresh them when stale, and handle missing fields and request failures independently. Respect provider terms, rate limits, copyright, and hotlinking rules. Downloading or proxying a thumbnail is not automatically permitted merely because its URL is public.

Frequently Asked Questions

Does a video URL contain the thumbnail image?

Usually not in a form you should rely on. Resolve the link through the host’s metadata API or oEmbed response and use the returned image field.

Can I get a thumbnail from a video page that has no oEmbed or Open Graph image?

Not through a universal public method. You may need the host’s own API or authorization, and some pages expose no retrievable thumbnail.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Is a screenshot of a video page the same as its thumbnail?

No. A screenshot captures the rendered page; a thumbnail is an image URL supplied by the video provider or page metadata.

Quick Recap

Bestseller No. 1
Social Thumbnail Maker - Channel Art
Social Thumbnail Maker - Channel Art
Select from a dozen templates for the most suitable one, to start your work.; - Powerful and tunning text design presets.
Bestseller No. 2
Thumbnail, Cover, Posts & Channel Art Maker
Thumbnail, Cover, Posts & Channel Art Maker
- Channel Art for Youtube; - Ad Pages for Facebook; - Cover for Facebook; - Posts for Instagram
Bestseller No. 3
Thumbnail Maker: Youtube Thumbnail & Banner Maker
Thumbnail Maker: Youtube Thumbnail & Banner Maker
Simple, accessible and beginner-friendly app; Select suitable dimensions for thumbnail or banner
$7.00
Bestseller No. 5
Thumbnail Maker
Thumbnail Maker
1. Pick a background from GALLERY, COLOR PALLETE or TRANSPARENT.; 2. You can add Text and stickers.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.