Limon Monte
Limon Monte

Reputation: 54429

YouTube API: detect that the video is age-restricted

As per docs:

contentDetails.contentRating.ytRating

A rating that YouTube uses to identify age-restricted content.

But that doesn't seem to work as documented, here's the example: https://www.youtube.com/watch?v=IUc0wyae-WI

API response:

{
  "items": [
    {
      "id": "U9x_WdDwATA",
      "contentDetails": {
        "contentRating": {},
      },
    }
  ]
}

Notice that contentRating.ytRating isn't set which means that the video doesn't have age-restriction according to API.

But actually it's not the case: https://www.youtube.com/embed/IUc0wyae-WI?hl=en

This video is age-restricted and only available on YouTube. Learn more Watch on YouTube

Where's my mistake? Or is it the bug in YouTube API v3?

Upvotes: 4

Views: 2276

Answers (1)

Daniil Loban
Daniil Loban

Reputation: 4381

try to find playabilityStatus:

enter image description here

see for more details: Use the YouTube API to check if a video is embeddable

This is undocumented API existing for long time, so exploring it is up to developer. I am aware of "status" (ok/fail), "errorcode" (100 and 150 in my practice), "reason" (string description of error). I am getting duration ("length_seconds") this way because oEmbed does not provide this information (strange, but true) and I can hardly motivate every employer to get keys from youTube to use official API

Upvotes: 1

Related Questions