Return YouTube Dislike: an open-source extension that returns the YouTube dislike count

Overview

Chrome Web Store Chrome Web Store Users Mozilla rating Mozilla downloads Commit rate Issues Discord License

Return YouTube Dislike

Return YouTube Dislike is an open-source extension that returns the YouTube dislike count.
Available for Chrome and Firefox as a Web Extension.
Also available for other browsers as JS Userscript.

The Story

On November 10th, 2021, Google announced that the YouTube dislike count would be removed.

Additionally, the dislike field in the YouTube API was removed on December 13th, 2021, removing any ability to judge the quality of content before watching.

What it Does

With the removal of dislike stats from the YouTube API, our backend switched to using a combination of scraped dislike stats, estimates extrapolated from extension user data.

FAQ

Why it Matters

You can learn more at our website at: returnyoutubedislike.com

API documentation

Third-party use of this open API is allowed with the following restrictions:

  • Attribution: This project should be clearly attributed with either a link to this repo or a link to returnyoutubedislike.com.
  • Rate Limiting: There are per client rate limits in place of 100 per minute and 10'000 per day. This will return a 429 status code indicating that your application should back off.

The API is accessible over the following base URL:
https://returnyoutubedislikeapi.com

List of available endpoints is available here:
https://returnyoutubedislikeapi.com/swagger/index.html

Get votes

Example to get votes of a given YouTube video ID:
/votes?videoId=kxOuG8jMIgI

{
    "id": "kxOuG8jMIgI",
    "dateCreated": "2021-12-20T12:25:54.418014Z",
    "likes": 27326,
    "dislikes": 498153,
    "rating": 1.212014408444885,
    "viewCount": 3149885,
    "deleted": false
}

None existing YouTube ID will return status code 404 "Not Found".
Wrong formed YouTube ID will return 400 "Bad Request".

Contributing

Please read the contribution guide.

Support this project!

You can support this project by donating to us on the link below:

Donate

Sponsors

Piepacker

nodetube

trig404

Peter33

Seed4.Me VPN

PocketTube

Issues
  • (Bug): NaN instead of dislikes count

    (Bug): NaN instead of dislikes count

    Browser

    Safari

    Browser Version

    15.1

    Extension or Userscript?

    Userscript

    Extension/Userscript Version

    0.6.1

    Video link where you see the problem

    https://www.youtube.com/watch?v=Hvw2cNQUuUc

    What happened?

    NaN shows after page loaded

    https://user-images.githubusercontent.com/5702943/145915706-5a99997d-0088-4496-b907-e2aefba55f8d.mov

    Here is how it looks on page refresh

    bug 
    opened by ivanosh 42
  • Integration with OpenDislikeAPI

    Integration with OpenDislikeAPI

    I am working on a project called the OpenDIslikeAPI (which I started yesterday, also happy new year). I have explained what that project will do in its README. So, I am here just to explain how it can help RYD after it's done and also how it will work with RYD.

    The project has code ready and baked, if you want you can take a look at the repo.

    Plan

    How will it work?

    Basically, the extension will make a request to its server asking about the dislikes, then the server will check if it (it refers to the video) is part of the list of videosID by known (known refers to creators signed up for OpenDislikeAPI) creators. If it gets a match, it will send my server/OpenDislikeAPI's server to get the details, then my code will check if the values are present in the cache (and fresh enough [less than 3 hrs old]), if yes then it will get it from there else it will call the youtube API with the access token asking about the API, as soon as it gets the payload, it will return it to RYD as response and asynchronously update the values in cache. This whole process should take about 200 to 500 ms (can be greater or lesser depending upon many things)

    Why do they have to trust you trust?

    Well, I have written the reasons why in the repo readme, few main reasons are that 1) I am giving them the ability to view the code, audit what's running on the server to check if it's the same code running or not 2) pinky promise.

    https://github.com/OpenDislikeAPI/Code#readme

    Who would use this?

    Well, any creator who makes good content and not free energy hoaxes will use this to connect their account to give people access to real stats, that people deserve.

    Why?

    This helps save space, time, and power. RYD's servers now no longer need to store the data of videos published by creators who already signed up with us. RYD can now do the work it was really made for, detect bad junk content for all... Also, it would reduce operational costs for RYD which is essential as currently, RYD is just dependent on donations and is also free to use (as it should be). Also, RYD can use this to sometimes verify its guesswork with real data when the creator signs up.

    Who is currently working on this?

    Only me currently.

    Want to help?

    Sure, make a PR and push it, would be happy to check it out.

    enhancement 
    opened by hrichiksite 30
  • Support for Firefox Andoid(FR)

    Support for Firefox Andoid(FR)

    Hello! Appreciate the initiative (^^)

    The extension isnt supported on Firefox for Android(cannot confirm for iOS).

    Tamper monkey isn't available for mobile either.

    Are there plans to support this extension for mobile platforms? If not, what are our options

    Thank you for this project, have a great day (^^)

    opened by VihagChaturvedi 22
  • Not working on Chrome

    Not working on Chrome

    Hi, the current version 0.0.3 is not working on chrome after installed in developer mode, but it works on Firefox. Perhaps you could check what was wrong, thanks.

    opened by Razodiac 19
  • (Bug): extension not working after clear data browser

    (Bug): extension not working after clear data browser

    Browser

    Google Chrome

    Browser Version

    Chromium v95

    Extension or Userscript?

    Extension

    Extension/Userscript Version

    0.0.0.7

    Video link where you see the problem

    extension not working after clear data browser

    What happened?

    A bug happened! extension not working after clear data browser

    bug 
    opened by PhamLa72 17
  • added a UI for a user to see if the api is online or offline

    added a UI for a user to see if the api is online or offline

    1 2

    as you can see a user can now check if the api is online for them this should help with troubleshooting going forward(as some have issues some don't) also the function only executes if the user opens the extension

    opened by thereaper90917 14
  • (Bug): No longer works

    (Bug): No longer works

    Browser

    Brave

    Browser Version

    Version 1.34.80 Chromium: 97.0.4692.71 (Official Build) (64-bit)

    Extension or Userscript?

    Extension

    Extension/Userscript Version

    v2.1.0.2

    Video link where you see the problem

    https://www.youtube.com/watch?v=8L7v3vRA65E

    What happened?

    It suddenly stopped working today. Applies to every video on youtube.

    bug 
    opened by Pentazer 13
  • (Bug): Edge shows negative dislike count

    (Bug): Edge shows negative dislike count

    Browser

    Microsoft Edge

    Browser Version

    Version 96.0.1054.62 (Official build) (64-bit)

    Extension or Userscript?

    Extension

    Extension/Userscript Version

    Version 1.1

    Video link where you see the problem

    https://www.youtube.com/watch?v=WB7s_CKGy7U

    What happened?

    I wanted to see how your database/extension would handle my most-viewed video. That video has a like:dislike ratio of 1:2 (2 likes, 4 dislikes), because where I published it, I didn't disclose that it was German, I guess 😅.

    The extension shows the dislike count as "-10", which ofc is impossible. I'd suggest you clamp that value to zero, so no negative values can be displayed.

    In Edge with the extension, not logged in: image

    In Chrome, logged into my account: image

    bug 
    opened by AntonioNoack 13
  • (Bug): Returning NAN instead of 0 for dislikes

    (Bug): Returning NAN instead of 0 for dislikes

    Browser

    Firefox

    Browser Version

    Mozilla Firefox 94.0

    Extension or Userscript?

    Extension

    Extension/Userscript Version

    1.0.0.2

    Video link where you see the problem

    https://www.youtube.com/watch?v=CP4jHWSdmpU

    What happened?

    The dislikes displayed NAN where it should display 0. nan

    bug 
    opened by KJ002 12
  • (Bug): Seems like this isn't working anymore. Not sure if youtube removed the API or if the extension just broke.

    (Bug): Seems like this isn't working anymore. Not sure if youtube removed the API or if the extension just broke.

    Browser

    Google Chrome

    Browser Version

    96.0.4664.110

    Extension or Userscript?

    Extension

    Extension/Userscript Version

    2.0.0.2

    Video link where you see the problem

    https://www.youtube.com/watch?v=PDrooC2K9so

    What happened?

    The dislike counter isn't showing the number anymore. Tried on several other videos and it still won't work.

    bug 
    opened by vizthex123 12
  • (Feature Request): Voting for YouTube users who don't have an account (or who are not logged in)

    (Feature Request): Voting for YouTube users who don't have an account (or who are not logged in)

    Extension or Userscript?

    Both

    Request or suggest a new feature!

    I don't have a Google/YouTube account—I subscribe to channels via RSS—, so I'm always logged out on YouTube. Maybe there's a way to enable voting for these users, too, i.e. send downvote & upvote statistics through the API. This would, of course, have no effect on YouTube's real server-side like & dislike counts for a video, but it could help ReturnYouTubeDislike get a more accurate ratio, especially for videos with only a few views.

    Ways to implement this!

    (?) Can't say for sure, but I assume that the extension would have to check whether a user is logged into a YouTube account or not. If he's not logged in, it would then need to load an alternate routine, i.e. replace YouTube's own like/dislike functions with in-extension voting functions. (If that's possible, it would also need to show the user whether he has already liked or disliked a video, e.g. red thumbs down, green thumbs up. Don't know how YT does that UI-wise, because I don't have an account.)

    Can you work on this?

    • [ ] Yes
    • [X] No
    enhancement 
    opened by JayBrown 0
  • (Bug): support for Serpent 52

    (Bug): support for Serpent 52

    Browser

    Serpent 52

    Browser Version

    52

    Extension or Userscript?

    Extension

    Extension/Userscript Version

    2.1.0.3

    Video link where you see the problem

    any youtube video

    What happened?

    this addon doesn't work on Serpent 52 web browser http://rtfreesoft.blogspot.com/ which is a fork of Basilisk browser, with support for Windows XP powered computers though

    screenshot-2

    bug 
    opened by andika207 3
  • "Module Not found: debug.js" when building

    opened by DivyanshByte 1
  • change text from

    change text from "DISLIKES DISABLED" to "DISLIKE"

    The text doesn't fit the UI currently if the likes/dislikes are disabled. The current UI state with this extension. Note how the DISLIKES DISABLED looks out of place.

    This fork would feel more at home here. The state of this fork. The UI looks normal now.

    opened by tacohitbox 0
  • (Feature Request): K-anonymity

    (Feature Request): K-anonymity

    Extension or Userscript?

    Both

    Request or suggest a new feature!

    Currently, the video ID is sent in plain text, allowing the operator of the backend to potentially track users' watch histories. These are known to be very valuable advertisers, so it is conceivable (though IMO unlikely) that the current operator is sharing this data with advertisers, data krakens and other immoral businesses. Users have to trust them to not do that.

    The Sponsorblock extension was faced with a similar issue and implemented K-anonymity. With a sufficiently small prefix, it allows users to request the 3rd party metadata for a video without exposing (much) information about which exact video the user is actually viewing.
    This is approach is also used in https://haveibeenpwned.com/Passwords.

    Since the back-end is closed source and couldn't be remotely assessed if it wasn't either, creating such a near-zero-trust system is beneficial to RYD and its users alike.

    Ways to implement this!

    No response

    Can you work on this?

    • [ ] Yes
    • [X] No
    enhancement 
    opened by Atemu 0
  • colorize buttons and ratio bar

    colorize buttons and ratio bar

    Resolves #218 Using user options (#387)

    I'm recreating #436 which I screwed up with rebasing. Didn't want to spam the PR with upstream commit records.

    Users can turn on colors for buttons and ratio bars separately, and choose a color scheme (like/dislike) for both. Here are the three color schemes at present:

    Capture

    opened by cyrildtm 1
  • (Feature Request): disable logging by default

    (Feature Request): disable logging by default

    Extension or Userscript?

    Userscript

    Request or suggest a new feature!

    You can disable logging by default. In order not to clog the browser console

    For example, add the Debug variable to the function cLog

    Ways to implement this!

    No response

    Can you work on this?

    • [ ] Yes
    • [ ] No
    enhancement 
    opened by raingart 0
  • (Bug): High CPU usage

    (Bug): High CPU usage

    Browser

    Opera

    Browser Version

    82.0.4227.58

    Extension or Userscript?

    Extension

    Extension/Userscript Version

    2.1.0.3

    Video link where you see the problem

    all

    What happened?

    Sometimes the extension causes one of several browser executables to take up 1/3 CPU until I close the browser. Usage jumps on its own seemingly randomly and stays high (34%) even after all tabs are closed. It usually occurs after an hour of YT usage and I have no idea what causes it. Mostly during full screen but it could be always, not sure. First noticed it about 10 days ago but only managed to pinpoint it yesterday. When I disable extension CPU usage immediately drops to 1% with all browser tabs closed. Before those 10 days everything worked fine. Maybe related to API shutdown?

    Win 7 64-bit

    bug 
    opened by NiIex 4
  • Add safari extension

    Add safari extension

    I know there is #133, but that PR seems a bit stale. This one is up to date with master, and makes use of webpack to build the safari extension.

    Note that I have only tested this on MacOS, and not iOS.

    Closes #127.

    opened by onodera-punpun 1
Web Extension — A new tab page extension with material design and useful features :new: :tada:

Epiboard A new tab page adding a touch of wow and an interface following the lines of the material design. ?? ?? . You can simply and quickly access t

Alex 288 Jan 6, 2022
Simple VueJS App to Count Money

Money Counter Project setup You can use yarn or npm to run the software locally. I typically use npm. npm install Compiles and hot-reloads for develo

Clayton Errington 2 Jan 20, 2022
A chrome extension that allows a YouTube watcher to 'bookmark' different parts of a video so that they could come back to it later

A chrome extension that allows a YouTube watcher to 'bookmark' different parts of a video so that they could come back to it later. This is a personal project for fun and learning.

Brian Lin 6 Sep 8, 2021
:star2: PJ Blog is an open source blog built with Laravel and Vue.js.

?? PJ Blog is an open source blog built with Laravel and Vue.js. https://pigjian.com Special thanks to the generous sponsorship by: PJ Blog This is a

Jiajian Chan 2.8k Jan 21, 2022
Open source Web File Manager (Javascript + VueJS 2)

Media Manager Media Manager is an open source web file manager and can be a nice alternative to Wordpress Media Manager, CKFinder, KCFinder, elFinder.

IUT de Bayonne et du Pays Basque 238 Nov 9, 2021
An open source tinder desktop client built with electron and Vue.js for educational purposes

Flamme An open source cross-platform Tinder desktop client built with Electron and Vue.js for educational purposes. With analytical inspection of dail

Ali Bardakci 129 Oct 15, 2021
An Open Source Static Site CMS Built With Love & Vue.

Saleina CMS A CMS for static site generators. Give non-technical users a simple way to edit and add content to any site built with a static site gener

Saleina 26 Dec 28, 2021
The open source Vue.js frontend (mobile and cordova app) for the argentinian carpooling application: Carpoolear

Carpoolear frontend Español Carpoolear es la primera aplicación argentina de Facebook que permite a los usuarios de dicha red social compartir viajes

STS Rosario 68 Dec 7, 2021
A Marvelous Open Source Status Page System

⚠️ WARNING: This the branch for the next planned version (v1): it's unstable and under active development. For the latest stable version, go to the ma

Julio Marquez 2.6k Jan 19, 2022
Open source rostering ASP.NET Core. MVC app with Vue.js & Vuetify frontend.

RosterWebApp Open source rostering web application which allows the rostering of employees/teams to work sessions with appointed and overtime hours. I

Jake Gough 20 Nov 9, 2021
🛍️ A Full Vue Store-Front open Source Templet.

Vue Store-Front Templete An E-commerce templete made with bootstrap4 and Vue/Vuex/Vue-router. Development/Producation Setup # Open the project folder

null 77 Jan 20, 2022
Open source time tracking, invoicing & expenses management for freelancers

Zeithub Introduction Zeithub is an open source time tracking, invoicing & expenses management for freelancers. Installation cp example.env .env docker

null 53 Jan 3, 2022
A free and open source code snippets manager for developers.

massCode The second version in beta stage is available in the v2 branch, builds are available in the releases A free and open source code snippets man

Anton Reshetov 1.9k Jan 16, 2022
Free and open source text-to-speech software

Electron + vue + ElementUI + js开发的文字转语音软件 使用帮助: 采用阿里云语音合成引擎 官网地址:https://ai.aliyun.com/nls/tts 一、设置应用秘钥 1.找到路径:src\views\Convert\api\alibaba.js 2.修改代码

Larry 724 Jan 19, 2022
The First Open-Source Laravel Vue headless CMS (PWA dashboard + CRUD + API generator & more) for more productivity !

The First Open-Source Laravel Vue headless PWA CMS. PWA dashboard + CRUD + API generator & more. Try live demo Badaso is a open-source Laravel Vue hea

Uasoft 544 Jan 23, 2022
The Open Source Firebase Alternative with GraphQL

Nhost is a modern open-source Firebase alternative with the same developer experience on the backend as Netlify and Vercel on the frontend.

Nhost 1.4k Jan 24, 2022
A pure open source and cross platforms Math Formulates OCR tool based on the Electron.

MathFX ?? MathFX(Preview) A pure open source and cross platforms Math Formulates OCR tool based on the Electron. ?? Platform ✔ Win 10 [Supported] ?? M

Creator SN 8 Dec 30, 2021
Official Cycle Planet repo, an open source and non-profit network of long distance cyclers and those who want to host them.

Cycle Planet App This is the repo for the official Cycle Planet platform. The platform is (soon) open source and free to use, which can be used to: Ho

Cycle Planet 7 Dec 11, 2021
Toko is an Open Source Jamstack e-commerce solution powered by NuxtJS (Front-End) and Directus (CMS).

Toko is an Open Source Jamstack e-commerce solution powered by NuxtJS (Front-End) and Directus (CMS). Toko focuses on four key points: Performances to give users fast loading time, low data consumption to improve the eco-conception, SEO-friendly content, and modern design templates.

Florian 17 Jan 4, 2022