I'd suggest allowing users to provide a YouTube Data API v3 key for obtaining metadata, it should be much quicker and allow for more compatibility. The only missing piece is a director picture but that's just about it.
Example request:
GET https://www.googleapis.com/youtube/v3/videos?part=snippet%2CcontentDetails%2Cstatistics&id=QASbw8_0meM&fields=items(contentDetails%2Fduration%2Csnippet(channelTitle%2Cdescription%2CpublishedAt%2Cthumbnails%2Fmaxres%2Ctitle))&key={YOUR_API_KEY}
This should provide the majority of data required and gets around age-gating issues.
{
"items": [
{
"snippet": {
"publishedAt": "2012-07-17T01:10:25.000Z",
"title": "10 hour timer",
"description": "10 hour timer (with 5 beeps at the end).\n➜ INSTAGRAM https://instagram.com/the16thcavern",
"thumbnails": {
"maxres": {
"url": "https://i.ytimg.com/vi/QASbw8_0meM/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "The 16th Cavern"
},
"contentDetails": {
"duration": "PT10H5S"
}
}
]
}
I'd suggest allowing users to provide a YouTube Data API v3 key for obtaining metadata, it should be much quicker and allow for more compatibility. The only missing piece is a director picture but that's just about it.
Example request:
This should provide the majority of data required and gets around age-gating issues.
{ "items": [ { "snippet": { "publishedAt": "2012-07-17T01:10:25.000Z", "title": "10 hour timer", "description": "10 hour timer (with 5 beeps at the end).\n➜ INSTAGRAM https://instagram.com/the16thcavern", "thumbnails": { "maxres": { "url": "https://i.ytimg.com/vi/QASbw8_0meM/maxresdefault.jpg", "width": 1280, "height": 720 } }, "channelTitle": "The 16th Cavern" }, "contentDetails": { "duration": "PT10H5S" } } ] }