{"id":19812185,"url":"https://github.com/lbbo/node-netflix2","last_synced_at":"2025-09-02T10:39:00.168Z","repository":{"id":51994862,"uuid":"60739703","full_name":"LBBO/node-netflix2","owner":"LBBO","description":"A client library to access the not-so-public Netflix Shakti API.","archived":false,"fork":false,"pushed_at":"2022-12-08T20:46:42.000Z","size":176,"stargazers_count":67,"open_issues_count":11,"forks_count":24,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-08-19T01:37:17.776Z","etag":null,"topics":["hacktoberfest","hacktoberfest2020"],"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/LBBO.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":"2016-06-09T00:22:48.000Z","updated_at":"2025-07-02T13:29:40.000Z","dependencies_parsed_at":"2023-01-25T07:15:30.962Z","dependency_job_id":null,"html_url":"https://github.com/LBBO/node-netflix2","commit_stats":null,"previous_names":["genderquery/node-netflix2"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/LBBO/node-netflix2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LBBO%2Fnode-netflix2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LBBO%2Fnode-netflix2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LBBO%2Fnode-netflix2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LBBO%2Fnode-netflix2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LBBO","download_url":"https://codeload.github.com/LBBO/node-netflix2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LBBO%2Fnode-netflix2/sbom","scorecard":{"id":81315,"data":{"date":"2025-08-11","repo":{"name":"github.com/LBBO/node-netflix2","commit":"1fc4978c31def2002ecafc8e8973f75eb1819d83"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":6,"reason":"Found 6/10 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"19 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-6chw-6frg-f759","Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-rp65-9cf3-cjxr","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-15T05:56:24.401Z","repository_id":51994862,"created_at":"2025-08-15T05:56:24.401Z","updated_at":"2025-08-15T05:56:24.401Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273272233,"owners_count":25075973,"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","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["hacktoberfest","hacktoberfest2020"],"created_at":"2024-11-12T09:29:13.187Z","updated_at":"2025-09-02T10:39:00.114Z","avatar_url":"https://github.com/LBBO.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# netflix2\n\nA client library to access the not-so-public Netflix Shakti API.\n\n## Installation\n```bash\nnpm install netflix2\n```\n\n## Usage\nAll functions take standard Node callbacks:\n```javascript\nfunction callback (error, result) {}\n```\n\n### Initialization\n```javascript\nvar Netflix = require('netflix2')\nvar netflix = new Netflix()\n```\nor\n```javascript\nvar netflix = require('netflix2')()\n```\n\n### Login\nYou must call `login` before using any of the other below functions. This will set cookies, API endpoints, and the authURL that must used to make API calls.\n```javascript\nvar credentials = {\n  email: 'youremail@example.com',\n  password: 'yourpassword'\n}\nnetflix.login(credentials, callback)\n```\n\n### Browse\nBrowse movies: pass the genre (id), which page number (if more are available) and how many items per page to display along with the callback for the result.\n```javascript\n/**\n * Browse movies, to simply get all films use Category ID 34399\n *\n * @param genreId The Netflix Category ID, Like https://www.netflix.com/browse/genre/34399\n * @param page The content is paged, this is the page number.\n * @param perPage How many items do you want per page?\n * @param callback Function to be called when the request is finished.\n */\nnetflix.browse(genreId, page, perPage, function (error, result) {\n  if(error){\n    console.error(error);\n  } else {\n    console.log(JSON.stringify(result));\n  }\n})\n```\n\n### Get Profiles\n```javascript\nnetflix.getProfiles(function (error, profiles) {\n  profiles === [\n    {\"firstName\":\"Lana\", \"guid\":\"BLRHT3T5WVF5TLL6VDX2Z2NA2E\", ...},\n    {\"firstName\":\"Danielle\", \"guid\":\"CPPS2FVBJVBNJPRKNBYHEWC524\", ...},\n    ...\n  ]\n})\n```\n\n### Switch Profile\nFunctions like `getRatingHistory` and `getRatingHistory` operate in the context of the current profile. Use `switchProfile` to change the current profile. Find the profile GUID using `getProfiles` above.\n```javascript\nnetflix.switchProfile(guid, callback)\n```\n\n### Get Rating History\n```javascript\nnetflix.getRatingHistory(function (error, ratings) {\n  ratings === [\n    {\"title\":\"Futurama\",\"movieID\":70153380,\"yourRating\":4.0, ...},\n    {\"title\":\"Super Troopers\",\"movieID\":60022689,\"yourRating\":4.0, ...},\n    ...\n  ]\n})\n```\n\n### Get Viewing History\n```javascript\nnetflix.getViewingHistory(function (error, result) {\n  if(error){\n    console.error(error);\n  } else {\n    console.log(JSON.stringify(result));\n  }\n})\n```\n\n### Hide Viewing History\n\nHide a single episode / a movie or an entire series from viewing activity\n\n```javascript\n// Hide single episode / movie\nnetflix.hideSingleEpisodeFromViewingHistory(movieID, function (error, result){\n  if(error){\n    console.error(error);\n  } else {\n    console.log(JSON.stringify(result));\n  }\n})\n\n// Hide entire series\nnetflix.hideEntireSeriesFromViewingHistory(movieID, function (error, result){\n  if(error){\n    console.error(error);\n  } else {\n    console.log(JSON.stringify(result));\n  }\n})\n```\n\n### Hide complete Viewing History\n\nHide the complete viewing history.\n**Note:** this may not always reset the viewing history per series\n\n```javascript\n/**\n * Hides ALL viewing history: this may not always reset the viewing history per series (**no UNDO!**)\n * use hideEntireSeriesFromViewingHistory passing the movieID to reset that series' history back\n * to the first episode\n */\n netflix.hideAllViewingHistory(function (error, result){\n  if(error){\n    console.error(error);\n  } else {\n    console.log(JSON.stringify(result));\n  }\n})\n```\n\n### Set Video Rating\nOn Netflix, users used to rate videos with stars. Then Netflix switched over to thumbs and now some users don't even\nknow about the stars. You can set both types of ratings by using these two functions:\n```javascript\nnetflix.setStarRating(movieID, rating, callback)\nnetflix.setThumbRating(movieID, rating, callback)\n```\n\n### Get Active Profile\n```javascript\nnetflix.getActiveProfile(function (error, result){\n  if(error){\n    console.error(error);\n  } else {\n    console.log(JSON.stringify(result));\n  }\n})\n```\n\n### Get Avatar URL\n```javascript\nconsole.log(netflix.getAvatarUrl(avatarName, size));\n```\n\n### Set Avatar Name\n```javascript\nnetflix.setAvatar(avatarName, callback);\n```\n\n## Warning\n\nUse of this software may constitute a breach in the [Netflix Terms of\nUse](https://help.netflix.com/legal/termsofuse) and/or the [End User License\nAgreement](https://help.netflix.com/legal/eula). Use at your own risk.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbbo%2Fnode-netflix2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flbbo%2Fnode-netflix2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbbo%2Fnode-netflix2/lists"}