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, v5. 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.
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
archived (bool)
Whether the video is archived or not.
available (list[Link])
Links to the archived material.
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. The structure could change at any time.
metaonly (bool)
True if only the metadata is archived. This value should not be relied on!
comments (bool)
True if the comments are archived. The meaning of False is undefined.
maybe_paywalled (bool)
True if the service might require payment.
classname (str)
The internal class name, useful for streaming mode.
Link Objects
url (str)
The URL.
contains (LinkContains)
What type of content the resource could contain. (Best effort.)
title (str)
The title (human-readable) of resource.
note (Optional[str])
Any note about that particular resource.