YouTube Video Finder

Search several resources for archived YouTube video and metadata


API Documentation

Please note: The API can be used to embed this site into your own code. If you just want to search for a video, return to the homepage.

Call: GET /api/:version/:videoid
Accepted query string parameters: includeRaw (set to include the rawraw field), stream (stream service objects as they are processed, rather than all at the end)

Current versions available: v2, v3, v4. Documentation below only applies to the latest version.

Changelog
Fields (non-streamed mode)
id (str)
The interpreted video ID.
status (str)
bad.id if invalid ID.
keys (list[YouTubeService])
An array with all the server responses. THIS IS DIFFERENT THAN BEFORE! Before, this would be an array of strings. You'd use the strings as keys. Now, this array has the data directly!
api_version (int)
The API version. Breaking API changes are made by incrementing this.
verdict (dict)
The verdict of the response. Has video, metaonly, and comments field, that are set to true if any archive was found where that was saved. Also has human_friendly field that has a simple verdict that can be used by people.
Streaming protocol

A stream of JSONL: one json object followed by a newline, then the next, etc. The order of what is sent:

NOTE: In both cases, the rawraw field is only set if you set the includeRaw parameter. Example: /api/v4/dQw4w9WgXcQ?includeRaw=true. Please only enable this if you have to, as it will slow down loading.
Service Objects
Changelog
archived (bool)
Whether the video is archived or not.
available (Optional[str])
A link to the archived material if it can be produced; null otherwise.
capcount (int)
The number of captures. Currently deprecated - the capture count sent may or may not be the true number of captures. However, it will always be a positive non-zero number if the video is archived.
error (Optional[str])
An error message if an error was encountered; otherwise, null.
lastupdated (int)
The timestamp the data was retrieved from the server. Used internally to expire cache entries.
name (str)
The name of the service. Used in the UI.
note (str)
A footnote about the service. This could be different depending on conditions. For example, the Internet Archive has an extra passage if the item is dark. Used in the UI.
rawraw (Any)
The data used to check whether the video is archived on that particular service. For example, for GhostArchive, it would be the HTTP status code.
metaonly (bool)
True if only the metadata is archived. This value should not be relied on!
comments (bool)
True if the comments are archived. This value should not be relied on!
maybe_paywalled (bool)
True if the service might require payment.
classname (str)
The internal class name, useful for streaming mode.