{"id":21156027,"url":"https://github.com/itsmunim/md-movie-utils","last_synced_at":"2026-05-14T23:38:19.903Z","repository":{"id":57293320,"uuid":"126809115","full_name":"itsmunim/md-movie-utils","owner":"itsmunim","description":"All movie info extraction tools in one place. Contains built-in, easy-using omdb, tmdb clients and info extraction from filenames feature.","archived":false,"fork":false,"pushed_at":"2018-04-05T15:55:25.000Z","size":292,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-22T14:21:25.679Z","etag":null,"topics":["imdb","library","movie-information","nodejs","npm-module","omdb","omdb-api","omdbapi"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/itsmunim.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}},"created_at":"2018-03-26T09:59:13.000Z","updated_at":"2019-07-23T08:36:53.000Z","dependencies_parsed_at":"2022-09-01T08:40:40.815Z","dependency_job_id":null,"html_url":"https://github.com/itsmunim/md-movie-utils","commit_stats":null,"previous_names":["itsmunim/md-movie-utils","dibosh/md-movie-utils"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/itsmunim/md-movie-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmunim%2Fmd-movie-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmunim%2Fmd-movie-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmunim%2Fmd-movie-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmunim%2Fmd-movie-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsmunim","download_url":"https://codeload.github.com/itsmunim/md-movie-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmunim%2Fmd-movie-utils/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261617698,"owners_count":23185063,"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":["imdb","library","movie-information","nodejs","npm-module","omdb","omdb-api","omdbapi"],"created_at":"2024-11-20T11:34:27.839Z","updated_at":"2026-05-14T23:38:19.844Z","avatar_url":"https://github.com/itsmunim.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![mdMovieUtils Logo](https://raw.githubusercontent.com/dibosh/md-movie-utils/master/md-movie-utils-icon.png)\n\n[![Build Status](https://travis-ci.org/dibosh/md-movie-utils.svg?branch=master)](https://travis-ci.org/dibosh/md-movie-utils)\n[![all downloads](https://img.shields.io/npm/dt/md-movie-utils.svg)]()\n\n\n### [md-movie-utils](https://dibosh.github.io/md-movie-utils)\n\nAll the movie info extraction utilities in one place. Has built-in,\neasy to use OMDB and TMDB clients and more.\n\n#### Setup\n\n`npm install md-movie-utils --save`\n\n#### Usage\n\n- ##### Parsing movie name, year etc. basic info from torrent/plain file names\n    \n    ```\n    let parser = require('md-movie-utils').parser;\n    \n    // parse Murder on the Orient Express (2017) [BluRay] [1080p].mp4\n    parser.parseFromTorrentFileName('Murder on the Orient Express (2017) [BluRay] [1080p].mp4')\n    // returns\n    {\n      \"year\": 2017,\n      \"resolution\": \"1080p\",\n      \"quality\": \"BluRay\",\n      \"title\": \"Murder on the Orient Express\",\n      \"excess\": [\n        \"[]\",\n        \"[]\"\n      ]\n    }\n    \n    // parse Batman Begins (2005)\n    parser.parseMovieNameAndYear('Batman Begins (2005)', parser.formats.BRACES_FORMAT);\n    // returns\n    {\n      \"movieName\": \"Batman Begins\",\n      \"year\": 2005\n    }\n    ```\n    \n- ##### Using Open Movie Database/The Movie Database clients\n    \n    - Initialize the client using your API key-\n        ```\n        let movieDBClients = require('md-movie-utils').clients;\n        let omdbClient = movieDBClients.OMDBClient.getInstance(\u003cYOUR_API_KEY\u003e);\n        let tmdbClient = movieDBClients.MovieDBClient.getInstance(\u003cYOUR_API_KEY\u003e);\n        ```\n        \n    - Get info on any movie using the simple get methods-\n        ```\n        // NB. You don't need to pass plot \u0026 format when using tmdbClient.\n        // For detailed instructions, please check the examples or the class\n        // documentations.\n        \n        let movieRequest = {\n            title: 'Thor Ragnarok',\n            year: 2017,\n            format: 'json',\n            plot: 'full',\n            type: 'movie'\n        };\n        \n        omdbClient/* Or tmdbClient */.get(movieRequest)\n            .then((data) =\u003e {\n                console.log(data); // Thor Ragnarok movie info is here!\n            });\n                \n        // or using the IMDB ID\n            \n        let movieRequest = {\n            imdbID: 'tt2345',\n            format: 'json',\n            plot: 'full',\n            type: 'movie'\n        };\n        omdbClient/* Or tmdbClient */.get(movieRequest)\n            .then((data) =\u003e {\n                console.log(data); // Movie info is here!\n            });\n        ```\n        \n    - Or even simply using the helper methods-\n        ```\n        \n        omdbClient/* Or tmdbClient */.getByTitleAndYear(title, year)\n            .then((data) =\u003e {\n                console.log(data); // Movie info is here!\n            });\n            \n        // or using the IMDB ID\n        omdbClient/* Or tmdbClient */.getByIMDBId(imdbID)\n            .then((data) =\u003e {\n                console.log(data); // Movie info is here!\n            });\n        ```\n        \n    - You can also search for a movie/series-\n        \n        ```\n        let searchRequest = {\n            query: 'Saw'\n        };\n        omdbClient/* Or tmdbClient */.search(searchRequest)\n            .then((data) =\u003e {\n                console.log(data); // Movie info(s) is here!\n            });\n        ```\n    \n#### Examples\n\nCheck out the detailed usage [here](https://github.com/dibosh/md-movie-utils/tree/master/example).\n\nTo test out the API created in examples, just clone the [repository](https://github.com/dibosh/md-movie-utils) \nand then replace api keys with yours in `md-movie-utils/example/server.js`\n\nThen run the server- `npm install \u0026\u0026 npm run examples`\n\nThe Example API should now be available for testing-\n\n`localhost:3000`\n- `/omdb/get?title=Saw\u0026year=2004\u0026type=movie`\n- `/omdb/movie/getByTitleAndYear?title=Saw\u0026year=2004`\n- `/omdb/series/getByTitleAndYear?title=Saw\u0026year=2004`\n- `/omdb/search?q=Batman`\n- `/tmdb/get?title=Saw\u0026year=2004\u0026type=movie`\n- `/tmdb/movie/getByTitleAndYear?title=Saw\u0026year=2004`\n- `/tmdb/series/getByTitleAndYear?title=Saw\u0026year=2004`\n- `/tmdb/get/:imdbID`\n- `/tmdb/search?q=The Dark Knight`\n- `/extract/fromTorrent?fileName=Murder on the Orient Express (2017) [BluRay] [1080p].mp4`\n- `/extract/plain?fileName=Murder on the Orient Express (2017) [BluRay] [1080p].mp4\u0026format=DOT_FORMAT`\n      \n      \n#### The MIT License\n\nCopyright 2018 © **Munim Dibosh**\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this \nsoftware and associated documentation files (the \"Software\"), to deal in the Software \nwithout restriction, including without limitation the rights to use, copy, modify, \nmerge, publish, distribute, sublicense, and/or sell copies of the Software, and to \npermit persons to whom the Software is furnished to do so, subject to the following \nconditions:\n\nThe above copyright notice and this permission notice shall be included in all copies \nor substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, \nINCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A \nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT \nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF \nCONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \nOR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n      \n        \n    \n    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsmunim%2Fmd-movie-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitsmunim%2Fmd-movie-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsmunim%2Fmd-movie-utils/lists"}