Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

playdl-music-extractor

Package Overview
Dependencies
Maintainers
1
Versions
64
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

playdl-music-extractor

PlayDL Music Extractor is a Extractor/Scrapper and Helps Players to fetch data from play-dl or Custom Extractors , as Per reduces extra work and credentials

  • 3.0.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
75
increased by581.82%
Maintainers
1
Weekly downloads
 
Created
Source


PlayDL Music Extractor

About

PlayDL Music Extractor is a Extractor/Scrapper and Helps Players to fetch data from play-dl or Custom Extractors , as Per reduces extra work and credentials.

  • Auto - UserAgents Method for Ratelimit Issue ( Fixed Youtube [ 429 ] Error )
  • Supports User-Agents and Youtube Cookies for Stream and Extractor Method
  • Object-oriented , means Value returned in a structure format or Class
  • Supports Youtube , Spotify , Reverbnation , SoundCloud , Facebook Urls and Even Youtube Search
  • Delay/Buffer Timeout is max 3 seconds on tracks and 7 sec for Playlists
  • Customisable Extractors
  • Performant
  • 100% coverage of play-dl and custom extractors

Installation

Node.js 16 or newer is required.

npm install playdl-music-extractor
Example : Fetched Data with Stream and Lyrics
  Track {
    trackId: 1,
    url: 'https://www.youtube.com/watch?v=kJQP7kiw5Fk',
    videoId: 'kJQP7kiw5Fk',
    title: 'Luis Fonsi - Despacito ft. Daddy Yankee',
    description: '“Despacito” disponible ya en todas las plataformas digitales: https://UMLE.lnk.to/DOoUzFp \n' +
      '“Imposible” disponible ya en todas las plataformas digitales: https://UMLE.lnk.to/IMPOSIBLEFp\n' +
      '“Calypso” disponible ya en todas las plataformas digitales: https://UMLE.lnk.to/CLYPSFp\n' +
      'Echame La Culpa disponible ya en todas las plataformas digitales: https://UMLE.lnk.to/ELCFp\n' +
      '\n' +
      '\n' +
      'Best of Luis Fonsi / Lo mejor Luis Fonsi: https://goo.gl/KLWPSa \n' +
      'Subscribe here: https://goo.gl/nkhcGc\n' +
      'Sigue a Luis Fonsi: \n' +
      'Official Site: http://www.luisfonsi.com/ \n' +
      'Facebook: https://www.facebook.com/luisfonsi/ \n' +
      'Twitter: https://twitter.com/LuisFonsi \n' +
      'Instagram: https://www.instagram.com/luisfonsi\n' +
      '\n' +
      '#LuisFonsi #Despacito #Imposible #Calypso #EchamelaCulpa #NadaEsImposible #NothingisImpossible #LF\n' +
      '\n' +
      '\n' +
      'Music video by Luis Fonsi performing Despacito. (C) 2017 Universal Music Latino',
    author: {
      name: 'LuisFonsiVEVO',
      url: 'https://www.youtube.com/channel/UCLp8RBhQHu9wSsq62j_Md6A'
    },
    extractorModel: { orignal: 'youtube', custom: 'play-dl' },
    duration: { ms: 282000, readable: '4 Minutes 42 Seconds' },
    thumbnail: {
      Id: 'kJQP7kiw5Fk',
      url: 'https://i.ytimg.com/vi/kJQP7kiw5Fk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCuffhiAPaneh-5dnyfyvY_mDwxhQ'
    },
    channel: {
      name: 'LuisFonsiVEVO',
      Id: 'UCLp8RBhQHu9wSsq62j_Md6A',
      url: 'https://www.youtube.com/channel/UCLp8RBhQHu9wSsq62j_Md6A'
    },
    isLive: false,
    ratings: { likes: 47759879, dislikes: 0 },
    stream: {
      buffer: [Readable],
      videoUrl: 'https://www.youtube.com/watch?v=kJQP7kiw5Fk',
      type: 'webm/opus',
      duration: [Object],
      videoId: 'kJQP7kiw5Fk'
    },
    lyrics: 'Come and move that in my direction\n' +
      "So thankful for that, it's such a blessin', yeah\n" +
      'Turn every situation into heaven, yeah\n' +
      'Oh-oh, you are\n' +
      'My sunrise on the darkest day\n' +
      "Got me feelin' some kind of way\n" +
      'Make me wanna savor every moment slowly\n' +
      'You fit me tailor-made, love how you put it on\n' +
      'Got the only key, know how to turn it on\n' +
      'The way you nibble on my ear, the only words I wanna hear\n' +
      'Baby, take it slow so we can last long\n' +
      '\n' +
      'Tú, tú eres el imán y yo soy el metal\n' +
      'Me voy acercando y voy armando el plan\n' +
      'Sólo con pensarlo se acelera el pulso\n' +
      'Ya, ya me está gustando más de lo normal\n' +
      'Todos mis sentidos van pidiendo más\n' +
      'Esto hay que tomarlo sin ningún apuro\n' +
      '\n' +
      'Despacito\n' +
      'Quiero respirar tu cuello despacito\n' +
      'Deja que te diga cosas al oído\n' +
      'Para que te acuerdes si no estás conmigo\n' +
      '\n' +
      'Despacito\n' +
      'Quiero desnudarte a besos despacito\n' +
      'Firmo en las paredes de tu laberinto\n' +
      'Y hacer de tu cuerpo todo un manuscrito\n' +
      '\n' +
      'Quiero ver bailar tu pelo, quiero ser tu ritmo\n' +
      'Que le enseñes a mi boca\n' +
      'Tus lugares favoritos\n' +
      'Déjame sobrepasar tus zonas de peligro\n' +
      'Hasta provocar tus gritos\n' +
      'Y que olvides tu apellido\n' +
      'Pasito a pasito, suave suavecito\n' +
      'Nos vamos pegando, poquito a poquito\n' +
      'Cuando tú me besas con esa destreza\n' +
      'Veo que eres malicia con delicadeza\n' +
      'Pasito a pasito, suave suavecito\n' +
      'Nos vamos pegando, poquito a poquito\n' +
      'Y es que esa belleza es un rompecabezas\n' +
      "Pero pa' montarlo aquí tengo la pieza\n" +
      '\n' +
      'Despacito\n' +
      'Quiero respirar tu cuello despacito\n' +
      'Deja que te diga cosas al oído\n' +
      'Para que te acuerdes si no estás conmigo\n' +
      '\n' +
      'Despacito\n' +
      'Quiero desnudarte a besos despacito\n' +
      'Firmo en las paredes de tu laberinto\n' +
      'Y hacer de tu cuerpo todo un manuscrito\n' +
      '\n' +
      'Pasito a pasito, suave suavecito\n' +
      'Nos vamos pegando, poquito a poquito\n' +
      'Que le enseñes a mi boca\n' +
      'Tus lugares favoritos\n' +
      'Pasito a pasito, suave suavecito\n' +
      'Nos vamos pegando, poquito a poquito\n' +
      'Hasta provocar tus gritos\n' +
      'Y que olvides tu apellido\n' +
      'Despacito'
  },
Tips/Base Information :
  • Track Data is instance of Track Class and you can also retrieve Stream Data or Lyrics by getStream(...args) and getLyrics()
  • Stream will be Processed through Official "play-dl" Npm Package
  • Besides Official Use of play-dl Package , You can retrieve data from facebook,deezer,reverbnation and vimeo (soon)
Methods :
  • new playdl.streamExtractor() OR playdlQuick.streamExtractor()
  • new playdl.softExtractor() OR playdlQuick.softExtractor()
  • new playdl.exec() OR playdlQuick.exec()
Option's Scheme :
declare type secretTokens = {
  spotify: {
    client_id: string | number;
    client_secret: string | number;
    refresh_token: string | number;
    market: string | "US";
  };
  soundcloud: { client_id: string | number };
};

declare type fetchOptions = {
  tokens: secretTokens;
  fetchLimit: number;
  streamQuality: string;
  rawCookies: string;
  userAgents: string[];
};

declare type __scrapperOptions = {
  fetchLyrics: boolean | "true";
  eventReturn: { metadata: any };
  ratelimit: number;
  ignoreInternalError: boolean | "true";
  fetchOptions: fetchOptions;
  streamDownload: boolean | "false";
};

declare type extractorData = {
  playlist: boolean;
  tracks: Array<Track>;
};
Code Examples :
  • Common JS
  • ES Modern
Code Snippet :
const { playdl } = require("playdl-music-extractor");

const quickHandler = new playdl();

quickHandler.on("tracks", (...eventData) => console.log(eventData));

new Promise(async (resolve, reject) => {
  resolve(
    quickHandler.softExtractor("Despacito", {
      fetchOptions: { fetchLimit: 1 },
    })
  );
  resolve(
    quickHandler.streamExtractor(
      "https://open.spotify.com/track/1SOClUWhOi8vHZYMz3GluK?si=3c010c9df65a4552",
      {
        fetchOptions: { fetchLimit: 1 },
      },
      "tracks"
    )
  );
  resolve(
    quickHandler.exec("Despacito", {
      fetchOptions: { fetchLimit: 1 },
    })
  );
});
Some Minor Usages :
Raw Cookies option :
playdl.exec("Despacito", {
  fetchOptions: {
    rawCookies:
      "xxx-youtubeCookies-from-network-inspect-of-youtubeHomePage-xxx",
  },
});
User Agents option :
playdl.exec("Despacito", {
  fetchOptions: {
    userAgents: [
      "Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion",
    ],
  },
});

Contributing

Before creating an issue, please ensure that it hasn't already been reported/suggested, and double-check the ReadMe.md

Help

If you don't understand something in the ReadMe.md , you are experiencing problems, or you just need a gentle nudge in the right direction, please don't hesitate to join our official Support Server.

Keywords

FAQs

Package last updated on 16 Jun 2022

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc