YouTubes API sucks

I’m used to the fact that “Big established Internet Company” does not automatically mean their APIs are any good.

HOWEVER for “Big established Internet and Software Company” – read YouTube/Google this is still rather unpleasantly surprising. Now YouTube is a MASSIVE media platform that gets millions of videos uploaded every day and you would assume that there is a plethora of tools to help you do that. You’d be wrong. Seriously, there is a handful – at best – tools out there that upload YouTube Videos that are actually useful.

Intrigued and disappointed by the lack of tools I set out to create my own and on that journey I suddenly understood why only a selected few made it that far. It is not that no one else took the journey, it’s just that they never got anywhere. Because not only is the way hard and rocky but the backpack Google gives you weighs a metric ton and the included map seems to be for a different planet.

Follow me and I’ll lay bare the snake pit that is YouTubes API and Googles API Client.

  • Lightweight it’s not
    I admit this is a relatively minor gripe, but adding the Youtube API client will probably weight in at SEVERAL times the size of your Application.
  • How about some features
    The API omits some features that I’d not call minor.  For example Monetisation. Like… really? You decide to expose the ability to set where we filmed it but not the ability to make money from it? Or the message that is sent out when we release a Video? If I were to design a YouTube API the ability to monetize would be right behind the ability to upload.
    And if you can’t give us this why not use the defaults you can set for your uploads?! Seriously, you won’t expose it trough your API and your API ignores the defaults you can set for your uploads. So everyone planning on making an application to manage uploads has to go though some terrible hacks, like intercepting the cookie and then send web requests as if we did it in the YT Dashboard.
  • You impose a quota and it’s non negotiable
    While I understand the need to somehow limit your API usage, I feel like the part where you say: “Click here to request a higher Quota” and then redirect me to a site where you say you don’t do quota requests is a bit dickish.
    As it stands, all users of my application together can upload ~20.000 videos a day. Which is a fair number that I have no clue if I will ever exceed. But I’d argue that my work is something that helps your creators be more efficient and I have to work with the same limits as… let’s say a bot that uses your API to scrape the data from videos. Only that my requests are costly and I can make 20.000 of them, while the bot can do 10.000.000 (a number I took from your calculator). Not entirely fair, is it?
  • You simply do not care for the API
    As of the time of writing there are 3696 open issues for the API, and while I am absolutely sure not all of them are relevant or actual issues that number is amazing. It shows that nobody is actually working on them. Looking through some of the highly starred issues I sees answers from the Google Team, promising a patch for something… two years ago. I know that this is probably a herculean task but one of the biggest Internet companies should have it’s shit together. And I understand that YouTube is not a really profitable endeavour for Google but not giving us tools to make it better is not helping them.

Well that is it. Maybe YouTube will fix it’s API at some point.