Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/misterhat/omdb
A module to access OMDb API.
https://github.com/misterhat/omdb
Last synced: 1 day ago
JSON representation
A module to access OMDb API.
- Host: GitHub
- URL: https://github.com/misterhat/omdb
- Owner: misterhat
- License: mit
- Created: 2013-10-25T00:58:04.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2018-10-10T10:48:34.000Z (about 6 years ago)
- Last Synced: 2024-10-31T10:52:19.343Z (7 days ago)
- Language: JavaScript
- Size: 51.8 KB
- Stars: 49
- Watchers: 7
- Forks: 23
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# omdb
A simple Node.JS module to access and normalize data from the
[OMDb API](http://www.omdbapi.com/) by Bryan Fritz.## Installation
$ npm install omdb## Examples
```javascript
var omdb = require('omdb');omdb.search('saw', function(err, movies) {
if(err) {
return console.error(err);
}if(movies.length < 1) {
return console.log('No movies were found!');
}movies.forEach(function(movie) {
console.log('%s (%d)', movie.title, movie.year);
});// Saw (2004)
// Saw II (2005)
// Saw III (2006)
// Saw IV (2007)
// ...
});omdb.get({ title: 'Saw', year: 2004 }, true, function(err, movie) {
if(err) {
return console.error(err);
}if(!movie) {
return console.log('Movie not found!');
}console.log('%s (%d) %d/10', movie.title, movie.year, movie.imdb.rating);
console.log(movie.plot);// Saw (2004) 7.6/10
// Two men wake up at opposite sides of a dirty, disused bathroom, chained
// by their ankles to pipes. Between them lies...
});
```## API
### omdb.search(terms, callback)
Run a search request on the API.`terms` can either be a string of search terms, or the following object:
```javascript
{
terms: String,
year: Number, // optional
type: 'series' || 'movie' || 'episode' // optional
}
````callback` returns an array of movies. If no movies are found, the array
is empty. The array will contain objects of the following:
```javascript
{
title: String, // the title of the movie
type: 'series' || 'movie' || 'episode',// If `type` is "series":
year: {
from: Number,
to: Number || undefined // (if the series is still airing)
},// Otherwise,
year: Number,imdb: String,
poster: String
}
```### omdb.get(show, [options], callback)
Run a single movie request on the API.`show` is assumed to be one of the following, respectively:
1. An object with an `imdb` property.
`{ imdb: 'tt0387564' }`
2. An object with a `title` property, and or `year` and `type` properties.`{ title: 'Saw', year: 2004, type: 'movie' }`
3. An IMDb ID string.`'tt0387564'`
4. A title string.`'Saw'`
Additionally, `options` object can be passed with the following parameters:
- `fullPlot` is an optional argument that if set to `true`, will attempt to request the extended version of the movie's plot.
- `tomatoes` is an optional argument that if set to `true`, will attempt to request the Rotten Tomatoes rating info.`callback` returns an object of the movie's information. If no movies are
found, it will return `null`.See the following for a list of possible properties:
https://github.com/misterhat/omdb/blob/master/index.js#L237### omdb.poster(show)
Return a readable stream of the poster JPEG.`show` is the same as the `show` argument used in `.get()`.
## License
MIT