Your rating: None Average: 4.8 (46 votes)

Beta version! In this version - and every future version - you must enter your own YouTube V3 API Key, Client ID and Client Secret in order to use the application. It is a thing and a half to do, but you can follow this guide to obtain your own keys. This may have implications to your Google account, so do this at your own risk.

There is also an experimental, untested aarch64 version available.

YTPlayer is an unofficial YouTube client for SailfishOS. With it you can - you guessed it - watch YouTube videos! You can log in, like and dislike videos, subscribe and unsubscribe to channels among other things.

I forked and bundled a minimal version of youtube-dl to increase speed and increase YTPlayer user experience. YouTube now works on your old trusty Jolla Phone without any issues! At this time the update functionality is disabled; this version is bundled with youtube-dl-lite 2020.05.08.

Current versions are for SailfishOS 3.3.0 Rokua and newer. For older SailfishOS versions (tested with 2.2.1 Nurmonjoki) please download the legacy release below.



Known limitations:

  • Only 360p and 720p videos are supported
  • Some vides are available only at 360p
  • Fetching newest videos from all subscribed channels doesn't work
  • Recommened videos may not show relevant results

This version is a fork of YTPlayer by osetr, which is a fork of YTPlayer by tworaz.

Source code is available at GitHub. Pull requests and translations are welcome! Especially tweaks regarding YouTube API v3 and coping with its limitations are highly appreciated!

If you like this app and would like to support me maintaining it, you can buy my a cup of coffee!

Application versions: 
File harbour-ytplayer-0.6.9-1.armv7hl.rpm273.92 KB15/09/2019 - 14:19
File harbour-ytplayer-0.6.9-1.i486.rpm295.42 KB15/09/2019 - 14:19
File harbour-ytplayer-0.6.10-1.armv7hl.rpm274.41 KB25/09/2019 - 01:07
File harbour-ytplayer-0.6.10-1.i486.rpm295.72 KB25/09/2019 - 01:07
File harbour-ytplayer-0.6.11-1.armv7hl.rpm274.7 KB23/02/2020 - 14:54
File harbour-ytplayer-0.6.11-1.i486.rpm296.09 KB23/02/2020 - 14:54
File harbour-ytplayer-0.6.12-1.armv7hl.rpm684.44 KB25/02/2020 - 01:39
File harbour-ytplayer-0.6.12-1.i486.rpm705.2 KB25/02/2020 - 01:39
File harbour-ytplayer-0.6.13-1.armv7hl.rpm683.85 KB22/03/2020 - 00:01
File harbour-ytplayer-0.6.13-1.i486.rpm704.84 KB22/03/2020 - 00:01
File harbour-ytplayer-0.6.14-1.armv7hl.rpm697.16 KB01/06/2020 - 00:22
File harbour-ytplayer-0.6.14-1.i486.rpm729.48 KB01/06/2020 - 00:22
File harbour-ytplayer-0.6.15-1.armv7hl.rpm696.52 KB01/06/2020 - 18:38
File harbour-ytplayer-0.6.15-1.i486.rpm729.67 KB01/06/2020 - 18:38
File harbour-ytplayer-0.6.16-1.armv7hl.rpm699.91 KB11/06/2020 - 09:23
File harbour-ytplayer-0.6.16-1.i486.rpm732.38 KB11/06/2020 - 09:23
File harbour-ytplayer-0.6.17-1.aarch64.rpm1.29 MB31/01/2021 - 04:07
File harbour-ytplayer-0.6.17-1.armv7hl.rpm1.28 MB31/01/2021 - 04:07
File harbour-ytplayer-0.6.17-1.i486.rpm1.31 MB31/01/2021 - 04:07


  • Use youtube-dl instead of youtube-dl-lite for now
  • Update youtube-dl to 2021.01.24.1
  • Remove preinstalled API keys
  • Enable (require) user supplied API keys
  • Release experimental aarch64 version

Full change log can be found in GitHub.


dumol's picture

Release early, release often? I miss this one. Thanks!Later edit: Working now with the new (very awkward) Google authorisation system. Thank you! ;-]

kuba77's picture

Did you try to use Invidious API to search and play videos from Youtube? I think this is how work desktop app FreeTube.

Polecat2003's picture

Any news?

Klaas's picture

The same with Mr.Magisters app and with NewPipe. I was allowed to use it for a while and suddenly it stopped. Its Google's fault. Google is a private company, not public.

direc85's picture

Yeah, Google is making it more and more difficult to view YouTube videos outside the Android app, web page and other officially supported methods.

TBH, I would not be suprised at all if Google removed or closed the APIv3 altogether... We native Sailfish users - not to mention us developers - are in a pinch. Luckily the updated Browser is capable of displaying the videos "just fine". I guess it's fair to admit my motivation to keep fighting for a functional YTPlayer is not that high anymore, but I'm still not giving up!

akikk88's picture

Any news?

direc85's picture

I have the first functional prototype of Sailfish Secrets implemented in YTPlayer to keep the keys and IDs safe. I consider this a huge stepstone! It still needs a lot of thought and rewriting parts of the original YTPlayer code, but I'd say I'm more than halfway there.

direc85's picture

My youtube-dl-lite repository was taken down by RIAA using DMCA, but luckily I had a backup of it. Took some time to dig it up, though...

I'm trying to get the update done soon, but no ETA... Things pour in left and right at the moment!

dumol's picture

Thanks! Missing your app, to be honest...

direc85's picture

Hello everybody! Sorry for the absence, let's just say life got in my way...

I'll start looking into providing your own API keys, and for some reason, it really looks like that the original API key (which was so old that it had a ridiculous quota) just doesn't work anymore - or the usage is so high, that it gets used up very quickly. I have no way to tell.

Edit 1: This doesn't look good. I tried my previous credentials, and it has a daily quota of 0 queries - can't use those even for testing. Then I created a new project, created the keys, and it also has a daily quota of 0 queries, rendering the whole APIv3+OAuth2 approach useless! I don't know what's going on, but it really, REALLY looks like Google is blocking users from YouTube using this approach. If anyone has any details about this, please help me out.

Edit 2: Okay, I created again a new project, and now I have the default quota of 10000 units per day. Go figure... So, it looks like the approach could still work, so it's all in the implementation now.

akikk88's picture

Coming any update to fix app?

richarpad's picture

Hi Guys - am a new sfos user.

I can confirm ytplayer not usable.

Running it in CLI indeed does confirm API key limit exceeded.

I tried compiling using SDK, but could not get it to compile (hoping i could put in my own API key etc)

Keenly awaiting an update to this project. :)



TMavica's picture

Not working anymore, no subscription, catalog found, search function no working too

dumol's picture

Hey, thanks for this, donated... Looking forward to support for own API keys at runtime!

direc85's picture

Thanks! I think I have some time for it in a week or two..!

lxmx's picture

I was getting random search failures with no results. Checked the logs and saw 403: quotaExceeded errors. Wonder if you've encountered these.

direc85's picture

Once you hit the quota, the only way out is to wait until until the daily limit resets. This also witnesses the popularity of the app, yay!

I will implement a way to let the user know without log digging that the quota has been met.

I will also implement a method to use different API credentials instead of the internal ones. That relieves the pressure of the default account quota by letting people use their own quota instead. But that's not going to happen this week at least.

lxmx's picture

Another option could be rotating through API keys. I mean, lowering the API limit from 1 mln hits to 10k hits on the YouTube site is really prohibitive. And asking each user to register as a developer isn't great UX and a privacy concern.

direc85's picture

Rotating API keys is not allowed by terms of usage. Also you have to login again when the key changes. What's more, 1M quota points divided to 10k hits per user results in 100 users, and I think YTPlayer has more daily users than that. So, I think a "hard" limit of 10k/user is very acceptable - even more so because it would be voluntary.

TMavica's picture

Now click every page, it show a blank page except watch recently page

TMavica's picture

Yes. It loaded, but clicked recommendation, it came out with lastest video

TMavica's picture

Now recommendation shows 'latest video'

direc85's picture

Does the content load? Because I did the change to fix the empty view in my device... If there's content, ther must be something wrong with my device...

Edit: Something's funny in my XA2 I did this testing with. I'll revert the change.

kevencopeland's picture

Recommendations do not load

Bsingleto's picture

Yeah, your right. The recommendations do not load. I prefer the Utube player because it plays my youtube subscriptions from recently uploaded.

I think this app/program does a real disservice when you click SUBSCRIPTIONS, it loads all of your subbed to channels. But when you do a 'pull down' under your subscriptions to 'Latest' , it has the nerve to show you trending videos instead of the LATEST of Your Own Subscriptions Feed.!. i dont want to watch youtube trending. i want to watch what i am subscribed too.

Lastest/trending is so useless. I want to watch what im subscribed to which is a carefully currated list of over one thousand subbed channels.

Please update My Subscriptions to Latest of Only My Subscriptions. Please,....

direc85's picture

Thanks for the feedback.

You are correct; fetching latest subscribed videos feature is embarrassingly broken, but this is because of changes in YouTube API. This is to make third party apps (like YTPlayer) less usable. It's in Googles intrest to have users only use the official app, since it shows ads - YTPlayer does not.

AFAIK there is no simple method to just fetch the latest videos from your subscribed channels. There is little I can do to fix it (without exeeding quota by performing massive amounts of searches, so at this point I consider it unfixable). I think I'll disable the menu entry in the next release to lessen confusion - but as always, suggestions, workarounds and PRs for fixing the issue are welcome.

daniloplay's picture

eu não consigo instalar nada no meu nokia n9

direc85's picture

Esta aplicação móvel é para Sailfish. N9 é coisa diferente. (Google Translate, yay!)

TMavica's picture

It still very slow to find the source and buffering

direc85's picture

Thanks for feedback!

Finding the source is slow because of both the script startup and YouTube, so there's nothing more I can really do. Buffering (and media streaming) are done using Qt assets, and that is only slow because of YouTube.

How about seeking within the video once the playback starts? That should work the same way at least - to me, seeking is very fast (and was before this version, too).