{"id":20931188,"url":"https://github.com/frantallukas10/youtu-get","last_synced_at":"2026-05-01T03:33:17.287Z","repository":{"id":36110666,"uuid":"221550171","full_name":"frantallukas10/youtu-get","owner":"frantallukas10","description":"youtube","archived":false,"fork":false,"pushed_at":"2023-01-06T02:21:03.000Z","size":629,"stargazers_count":1,"open_issues_count":21,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-03-25T15:09:20.047Z","etag":null,"topics":["get","id","playlist","title","youtube","ytget"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frantallukas10.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-13T20:56:58.000Z","updated_at":"2020-05-07T21:33:33.000Z","dependencies_parsed_at":"2023-01-16T14:00:27.161Z","dependency_job_id":null,"html_url":"https://github.com/frantallukas10/youtu-get","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frantallukas10%2Fyoutu-get","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frantallukas10%2Fyoutu-get/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frantallukas10%2Fyoutu-get/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frantallukas10%2Fyoutu-get/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frantallukas10","download_url":"https://codeload.github.com/frantallukas10/youtu-get/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243324507,"owners_count":20273113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["get","id","playlist","title","youtube","ytget"],"created_at":"2024-11-18T21:39:47.048Z","updated_at":"2026-05-01T03:33:12.267Z","avatar_url":"https://github.com/frantallukas10.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# youtu-get\n\nis project which can get your all name of songs and url from your youtube playlist. It returns array with name of songs and url as objects and the returned data can be save as json file. As my example, but it is optional if you define `output` variable.\n\n# [demo](https://youtu-get-demo.lukasfrantal.com)\n\n![NPM](https://img.shields.io/npm/l/youtu-get)\n![npm](https://img.shields.io/npm/v/youtu-get)\n![npm](https://img.shields.io/npm/dt/youtu-get)\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/frantallukas10/youtu-get)\n![GitHub repo size](https://img.shields.io/github/repo-size/frantallukas10/youtu-get)\n![Coverage badge](https://img.shields.io/badge/Coverage-100%25-brightgreen.svg)\n\n\u003chr\u003e\n\n## Instalation\n\n```bash\nnpm i youtu-get -g\n```\n\n## Example running:\n\n```bash\nytget id=\"PLxQ30nUCB0uNCCKBD_JW1udM7iYH27cu2\" output=\"/yourOutputPath/youtube-playlist.json\"\n```\n\n## You can use this package for your next solution like this:\n\n```js\nconst { getYoutubeInfo } = require('youtu-get');\n\nconst idPlaylist = 'PLxQ30nUCB0uNCCKBD_JW1udM7iYH27cu2';\ngetYoutubeInfo(idPlaylist).then((data) =\u003e console.log(data));\n```\n\n## If you want save output data yout can do it like this:\n\n```js\nconst { getYoutubeInfo } = require('youtu-get');\nconst path = require('path');\nconst username = require('os').userInfo().username;\n\nconst idPlaylist = 'PLxQ30nUCB0uNCCKBD_JW1udM7iYH27cu2';\n\nconst outputPath = path.resolve(\n  `/Users/${username}/Downloads/`,\n  'youtube-playlist.json'\n);\n\ngetYoutubeInfo(idPlaylist).then((data) =\u003e {\n  fs.writeFile(outputPath, JSON.stringify(data, null, 2), (err) =\u003e {\n    if (err) console.error(err);\n  });\n});\n```\n\n## If you want check your youtube playlist id before running getYoutubeInfo function you can use this:\n\n```js\nconst { getYoutubeInfo, isValidId } = require('youtu-get');\nconst path = require('path');\nconst username = require('os').userInfo().username;\n\nconst idPlaylist = 'PLxQ30nUCB0uNCCKBD_JW1udM7iYH27cu2';\nconst isValid = isValidId(id)\nconst outputPath = path.resolve(\n  `/Users/${username}/Downloads/`,\n  'youtube-playlist.json'\n);\nisValid ?\n  getYoutubeInfo(idPlaylist).then(data =\u003e {\n    fs.writeFile(outputPath, JSON.stringify(data, null, 2), err =\u003e {\n      if (err) console.error(err);\n    });\n  });\n  : console.error(`This youtube playlist id is not valid: ${idPlaylist}`);\n```\n\n## Expected incorrect result if you don't define your youtube playlist id:\n\n![Alt 1](./images/1.png)\u003cbr\u003e\n\n## Expected correct result if you defined correct your youtube playlist id without defined output path:\n\n![Alt 2](./images/2.png)\u003cbr\u003e\n\n## Expected correct result if you defined correct your youtube playlist id with defined output path:\n\n![Alt 2](./images/3.png)\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrantallukas10%2Fyoutu-get","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrantallukas10%2Fyoutu-get","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrantallukas10%2Fyoutu-get/lists"}