Wiki page: https://en.wikipedia.org/wiki/Invidious
Website: https://invidious.io/
API docs: https://docs.invidious.io/api/
By sending requests to Invidious API, you can get various information about YouTube videos, such as title, description, subtitles, available formats, direct links, and much more.
#include "JSON.au3"
;URL for sorted JSON list of API instances
Const $INVAPI_INSTANCE_LIST_URL = "https://api.invidious.io/instances.json?sort_by=type,api,users"
;Get list of API instances
$sResponse = BinaryToString(InetRead($INVAPI_INSTANCE_LIST_URL))
;Parse response and get first URL from list
$sFirstInstanceURL = (_JSON_Parse($sResponse)[0])[1].uri
;API request
Const $TEST_YOUTUBE_VIDEO_ID = "aqz-KE-bpKQ"
$sResponse = BinaryToString(InetRead($sFirstInstanceURL & "/api/v1/videos/" & $TEST_YOUTUBE_VIDEO_ID & "?fields=videoId,title,description"))
;Parse response and output it
$JsonData = _JSON_Parse($sResponse)
MsgBox(64, "Info", _
"Video ID: <" & ($JsonData).videoId & ">" & @CRLF & @CRLF & _
"Title: <" & ($JsonData).title & ">" & @CRLF & @CRLF & _
"Description: <" & ($JsonData).description & ">")
For this example I used AspirinJunkie's JSON UDF.