{"id":16202560,"url":"https://github.com/polymeilex/node-myanimelist","last_synced_at":"2025-07-07T05:34:51.329Z","repository":{"id":32119527,"uuid":"131637800","full_name":"PolyMeilex/node-myanimelist","owner":"PolyMeilex","description":" Node-MyAnimeList is a small promise based package for downloading information from MyAnimeList","archived":false,"fork":false,"pushed_at":"2024-03-14T20:31:32.000Z","size":3983,"stargazers_count":25,"open_issues_count":6,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-21T09:06:18.928Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PolyMeilex.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-30T19:29:20.000Z","updated_at":"2024-05-02T11:24:49.000Z","dependencies_parsed_at":"2024-06-19T19:04:42.489Z","dependency_job_id":"413b37a6-b0a9-4c9c-acf7-021c2ef7afb0","html_url":"https://github.com/PolyMeilex/node-myanimelist","commit_stats":{"total_commits":244,"total_committers":13,"mean_commits":18.76923076923077,"dds":0.5901639344262295,"last_synced_commit":"c36da74f783a947d390ac216274de8b810f8fa4c"},"previous_names":["polymagic/node-myanimelist"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/PolyMeilex/node-myanimelist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PolyMeilex%2Fnode-myanimelist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PolyMeilex%2Fnode-myanimelist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PolyMeilex%2Fnode-myanimelist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PolyMeilex%2Fnode-myanimelist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PolyMeilex","download_url":"https://codeload.github.com/PolyMeilex/node-myanimelist/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PolyMeilex%2Fnode-myanimelist/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261095311,"owners_count":23108784,"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":[],"created_at":"2024-10-10T09:48:28.727Z","updated_at":"2025-06-21T09:06:29.455Z","avatar_url":"https://github.com/PolyMeilex.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![NodeMal API Banner](https://i.imgur.com/IcBShyO.png)\n\n# Node-MyAnimeList\nNode-MyAnimeList is a small promise based package for downloading information from MyAnimeList.\nNode-MyAnimeList is using Jikan.moe API and flew methods created by me specially for this package\n\n## Intellisens Support (Typescript)\n![Gif](https://i.imgur.com/J1dUQf2.gif)\n\n# Instalation\n[![NPM](https://nodei.co/npm/node-myanimelist.png)](https://nodei.co/npm/node-myanimelist/)\n```sh\nnpm i node-myanimelist\n```\n\n### Import\n```js\nconst { Mal, Jikan } = require(\"node-myanimelist\");\n// Or\nimport { Mal, Jikan } from 'node-myanimelist';\n```\n### MalAPI Example\n```ts\nconst auth = Mal.auth(\"6114d00ca681b7701d1e15fe11a4987e\" /* app_id */ );\n\n// Unoffical way to login (not recomended)\nconst acount = await auth.Unstable.login(\"username\",\"password\");\n\n// Offical way to login (recomended)\n// import pkceChallenge from \"pkce-challenge\";\n// const pkce = pkceChallenge();\n\nconst url = auth.getOAuthUrl(pkce.code_challenge)\n// Open returned url, accept oauth and use returned code to authorize\nconst acount = await auth.authorizeWithCode(code,pkce.code_challenge);\n\nlet search = await acount.manga.search(\n   \"Sakurasou\",\n   Mal.Manga.fields()\n      .alternativeTitles()\n      .startDate()\n      .endDate()\n      .synopsis()\n      .mean()\n      .rank()\n      .popularity()\n      .numListUsers()\n      .numScoringUsers()\n      .nsfw()\n      .genres()\n      .createdAt()\n      .updatedAt()\n      .mediaType()\n      .status()\n      .myListStatus(\n         Mal.Manga.listStatusFields()\n            .startDate()\n            .finishDate()\n            .priority()\n            .numTimesReread()\n            .rereadValue()\n            .tags()\n            .comments()\n      )\n      .numVolumes()\n      .numChapters()\n      .authors()\n).call();\n\n// Alternative if you don't care about choosing fields\nlet searchIDC = await acount.manga.search(\n   \"Sakurasou\",\n   Mal.Manga.fields().all()\n).call();\n```\n# List of functions\nFor more detalis visit [doc](https://polymeilex.github.io/node-myanimelist/)\n* [MalApi Methods](https://polymeilex.github.io/node-myanimelist/modules/Mal.html)\n* [JikanApi Methods](https://polymeilex.github.io/node-myanimelist/modules/Jikan4.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolymeilex%2Fnode-myanimelist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpolymeilex%2Fnode-myanimelist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolymeilex%2Fnode-myanimelist/lists"}