
Research
/Security News
npm Author Qix Compromised via Phishing Email in Major Supply Chain Attack
npm author Qix’s account was compromised, with malicious versions of popular packages like chalk-template, color-convert, and strip-ansi published.
innertube.js
Advanced tools
A lightweight library to interact with YouTube API using InnerTube.
npm install innertube.js
const InnerTube = require('innertube.js');
async function example() {
const yt = new InnerTube();
try {
// Get video player information
const playerInfo = await yt.player({ videoId: 'dQw4w9WgXcQ' });
// Search with filters
const videoSearch = await yt.search({
query: 'JavaScript tutorials',
filter: 'video' // 'video', 'channel', 'playlist', or 'all'
});
// Pagination using continuation token
if (videoSearch.continuation) {
const nextPage = await yt.search({
query: 'JavaScript tutorials',
filter: 'video',
continuation: videoSearch.continuation
});
}
// Browse recommendations
const browseResults = await yt.browse({ browseId: 'FEwhat_to_watch' });
// Get video comments
const comments = await yt.getComments({ videoId: 'dQw4w9WgXcQ' });
// Get video captions
const captions = await yt.getCaptions({ videoId: 'dQw4w9WgXcQ' });
// YTMusic features
const ytmSearch = await yt.ytmSearch({
query: 'The Weeknd',
filter: 'song'
});
const lyrics = await yt.ytmGetLyrics('MPREb_4pL8gzRtw1p');
const moods = await yt.ytmGetMoodCategories();
} catch (error) {
console.error(error);
}
}
yt.search({
query: string, // Search query
filter?: string, // Optional: 'video', 'channel', 'playlist', 'all'
continuation?: string // Optional: continuation token for pagination
})
yt.player({
videoId: string // YouTube video ID
})
yt.browse({
browseId: string, // Browse ID
continuation?: string // Optional: continuation token for pagination
})
yt.next({
videoId: string, // Video ID for related content
continuation?: string // Optional: continuation token for pagination
})
yt.getPlaylist({
playlistId: string, // YouTube playlist ID
continuation?: string // Optional: continuation token for pagination
})
yt.getChannel({
channelId: string, // YouTube channel ID
params?: string, // Optional: additional parameters
continuation?: string // Optional: continuation token for pagination
})
yt.getComments({
videoId: string, // YouTube video ID
continuation?: string // Optional: continuation token for pagination
})
yt.getCaptions({
videoId: string // YouTube video ID
})
yt.ytmSearch({
query: string, // Search query
filter?: string, // Optional: 'song', 'video', 'album', 'artist', 'playlist', 'all'
continuation?: string // Optional: continuation token for pagination
})
yt.ytmBrowse({
browseId: string, // Browse ID
continuation?: string // Optional: continuation token for pagination
})
yt.ytmGetHomeData() // Get YouTube Music home page data
yt.ytmGetArtist(channelId) // Get artist data
yt.ytmGetAlbum(browseId) // Get album data
yt.ytmGetPlaylist(playlistId) // Get playlist data
yt.ytmGetLyrics(videoId) // Get song lyrics
yt.ytmGetSong(videoId) // Get song details
yt.ytmGetMoodCategories() // Get mood categories
yt.ytmGetMoodPlaylists(moodId) // Get playlists for a specific mood
MIT
FAQs
A lightweight library to interact with YouTube API using InnerTube.
The npm package innertube.js receives a total of 12 weekly downloads. As such, innertube.js popularity was classified as not popular.
We found that innertube.js demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
npm author Qix’s account was compromised, with malicious versions of popular packages like chalk-template, color-convert, and strip-ansi published.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.