A Node.JS wrapper for The Movie DB API.
Highlights
Install
yarn add node-mdbapi
or
npm install node-mdbapi
Usage
const MovieDB = require('node-mdbapi');
// ES6 Style
// import MovieDB from 'node-mdbapi';
const mdb = new MovieDB(/* Your API Key */, options);
(async () => {
try {
const args = {
pathParameters: {
movie_id: 384018,
},
};
const movie = await mdb.movies.getDetails(args);
console.log(movie);
/*
{
data: Object. Parsed json data of response
header: Object. Headers of response
rateLimit: {
limit: Number. Total limit for requests
remaining: Number. How much request remaining
reset: Number. Time to refresh rate limit
}
}
*/
} catch (error) {
console.error(error);
}
})();
Common Usage of Methods
const args = {
pathParameters: {
// path parameters for query, i.e. movie_id
},
query: {
// query string, i.e. session_id
// NOTE: api_key and language will be added to query by default, don't need specify these values
},
body: {
// data for request body
},
};
const response = await mdb.tv.getVideos(args);
// Or nested methods
// const response = await mdb.tv.episode.rateTVEpisode(args);
API
constructor(apiKey[, options])
apiKey
Your API key. How to get API key
options
- language - Optional. Default is
'en-US'
Additional options, which will be override the default settings
setApiKey(apiKey)
Sets API key
apiKey
Your API key
setLanguage(language)
Sets language for data of response
language
Language in ISO 639-1 format. I.e. 'en-US'
Methods
- account
- authentication
- certification
- collection
- company
- configuration
- credit
- discover
- find
- genre
- guestSession
- keyword
- list
- movie
- getDetails
- getAccountStates
- getAlternativeTitles
- getChanges
- getCredits
- getExternalIDs
- getImages
- getKeywords
- getReleaseDates
- getVideos
- getTranslations
- getRecommendations
- getSimilarMovies
- getReviews
- getLists
- rateMovie
- deleteRating
- getLatest
- getNowPlaying
- getPopular
- getTopRated
- getUpcoming
- getChangeList
- network
- trending
- person
- review
- search
- tv
- getDetails
- getAccountStates
- getAlternativeTitles
- getChanges
- getContentRatings
- getCredits
- getEpisodeGroups
- getExternalIDs
- getImages
- getKeywords
- getRecommendations
- getReviews
- getScreenedTheatrically
- getSimilarTVShows
- getTranslations
- getVideos
- rateTVShow
- deleteRating
- getLatest
- getAiringToday
- getOnAir
- getPopular
- getTopRated
- getChangeList
- season
- episode
- group
Errors
All errors extends Node's Error
BadRequest
Throws when server responses with http status code 400
- code - Number. Usually to
0
- errorCode - Number. Equals to
400
UnauthorizedError
Throws when set invalid api key
- code - Number. Usually equals to
7
- errorCode - Number. Equals to
401
NotFoundError
Throws when requested resource couldn't be found
- code - Number. Usually equals to
34
- errorCode - Number. Equals to
404
RequestTimeout
Throws when request timed out
- code - Number. Usually equals to
0
- errorCode - Number. Equals to
408
TooManyRequests
Throws when expired rate limit
- code - Number. Usually equals to
0
- errorCode - Number. Equals to
429