Automatically likes all songs in a playlist
// ==UserScript==
// @name Youtube.music Playlist liker
// @namespace http://tampermonkey.net/
// @version 2025-09-03
// @description Automatically likes all songs in a playlist
// @author TheOnlyWayUp, mousa-aljasem, T-TaaN
// @match https://music.youtube.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com
// @grant GM_registerMenuCommand
// @license MIT
// ==/UserScript==
(function() {
'use strict';
let logging = true;
let timer = 0;
GM_registerMenuCommand("Like this playlist", () =>
{
const songs = document.getElementsByTagName("ytmusic-responsive-list-item-renderer");
log(`Found ${songs.length} songs.`);
var i = 1;
Array.from(songs).forEach((song, index) => {
setTimeout(() => {
const likeButton = song.querySelector("#button-shape-like button");
const songInfo = song.getElementsByTagName('a'); // 0 == Song Title, 1 == Artist, 2 == Album
if (logging) console.log(i, songInfo[1].innerHTML, "-", songInfo[0].innerHTML, "- isLiked:", likeButton.getAttribute("aria-pressed"))
if (likeButton.getAttribute("aria-pressed") === "false") {
likeButton.click();
log("liked");
}
i++;
if (i > songs.length) {
log("------------ COMPLETE ------------");
}
}, index * timer)
})
})
function log(message) {
if (logging)
console.log(message)
}
})();