JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 905
  • Score
    100M100P100Q96197F
  • License GPL-3.0

YouTube Music API

Package Exports

  • ytmusic-api
  • ytmusic-api/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ytmusic-api) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

YTMusic API

License Languages Top Language Commit Activity Last commit

YouTube Music API (Unofficial) is a YouTube Music data scraper. It comes with TypeScript support API for return types. The NPM package can be found here

Full documentation is available here.

Motivation

I used to use youtube-music-api as my youtube music api data scraper. I liked looking into the source code of how it works but it never made sense to me. I also didn't like that there were no TypeScript annotations for the return types of methods. Because of this, I decided to build my own version of a youtube music api with TypeScript annotations, testing and written in a way I can understand.

Features

  • TypeScript Support for data return types
    • Data from YouTube can be inconsistent but YTMusic API has been tested and the data matches the TypeScript types 95% of the time
  • Scrape information directly from YouTube Music API
    • Search Suggestions
    • Songs
    • Videos
    • Artists
    • Albums
    • Playlists

Credits

A lot of the credit should go to youtube-music-api. I build this package as a refactored and tested version of youtube-music-api with TypeScript annotations

Testing

YTMusic API's data return types are tested with Mocha. To run the tests, run the command

$ npm run test

Built with

  • TypeScript
    • @types/mocha
    • @types/node
    • @types/tough-cookie
    • typescript
  • Axios
    • axios
  • Tough Cookie
    • tough-cookie
  • Mocha
    • mocha
    • mocha.parallel
    • ts-mocha
  • VuePress
    • @vuepress/plugin-search
    • vuepress
  • Miscellaneous
    • validate-any