Skip to content

πŸ“½ Fetch movie trailers: "Crash" βž” http://path/to/trailer

License

Notifications You must be signed in to change notification settings

lacymorrow/movie-trailer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

90 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Important

This library is considered feature-complete and will only receive updates for bug fixes. You may still create an issue if you have a feature request.

movie-trailer

npm version Maintainability Try movie-trailer on RunKit

Fetch movie trailer url(s): "Oceans Eleven" βž” https://www.youtube.com/watch?v=...

movie-trailer

Features

  • Fetch Youtube trailers for any movie or TV show
  • Return one or many trailer URLs
  • Use anywhere, browser or Node - UMD (Browser Support)
  • Works in React + NextJS client/server (uses isomorphic-fetch)
  • Async/await, Promise and Callback APIs

Install

Using NPM:

npm install --save movie-trailer

In the browser:

<!-- movieTrailer window global -->
<script type="text/javascript" src="https://unpkg.com/movie-trailer"></script>

(via Unpkg, or via JSDelivr)

Usage

const movieTrailer = require( 'movie-trailer' ) // or import movieTrailer from 'movie-trailer'

await movieTrailer( 'Up' )
//=> https://www.youtube.com/watch?v=...
TV Shows
movieTrailer('Shameless', {videoType: 'tv'})
//=> https://www.youtube.com/watch?v=...
Return an array of video IDs
movieTrailer( 'Oceans Eleven', {id: true, multi: true} )
  .then( response => console.log( response ) )
  
//=> [ 'XXXXXXXXX', 'XXXXXXXXX', ... ]
Both
movieTrailer( 'Oceans Eleven', {year: '1960', multi: true} )
  .then( response => console.log( response ) )

//=> [ https://www.youtube.com/watch?v=XXXXXXXXX, ... ]
Legacy-style search using release date year
movieTrailer( 'Oceans Eleven', 1960 )
  .then( response => console.log( response ) )

//=> http://path/to/trailer

API

movieTrailer(movie [, options ] [, callback])

  • movie

    Required

    Type: string

    Movie to search for. If searching with a tmdbId, pass null.

  • options

    Type: object

    • apiKey

      Type: string

      (optional) Use your own TMDB api key. You can get a free key here: https://developers.themoviedb.org/ .

      Use -a or --api_key on the CLI

    • id (false)

      Type: boolean

      (optional) Return only Youtube video IDs.

      Use -i or --id on the CLI

    • language

      Type: string (language code)

      (optional) Movie release language.

      Use -l or --language on the CLI

    • multi (false)

      Type: boolean

      (optional) Return an array of urls vs a single url.

      Use -m or --multi on the CLI

       movieTrailer( 'Oceans Eleven', { multi: true } )
    • tmdbId

      Type: string || number

      (optional) Search using a TMDB content ID instead of a search term

      Use -t or --tmdb_id on the CLI

       movieTrailer( null, { tmdbId: 161 } )  // Content ID for "Ocean's Eleven"
    • year

      Type: string || number

      (optional) Movie release year.

      Use -y or --year on the CLI

  • callback(error, response)

    Callback function.

     movieTrailer( 'Oceans Eleven', ( error, response ) => {
         console.log( response ); 
         //=> http://path/to/trailer
     } )

From the command line

$ npx movie-trailer --help

Usage
	$ npx movie-trailer movie 	

Options
	--api_key   -k   (optional) Your own TMDB API key: http://developers.themoviedb.org
	--id        -i   Return just the Youtube video ID.
	--language, -l   Specify a language code (eg: 'de_DE').
	--multi,    -m   Returns an array of URLs instead of a single URL.
	--tmdb_id   -t   Specify an explicit TMDB ID.
	--year,     -y   Specify a release year to search.

Example
	$ npx movie-trailer 'Oceans Eleven' -y 1960 -m
	//=> http://path/to/trailer

Related

License

This package uses data from TMDB. You may consult TMDB terms of service for usage rights.

MIT Β© Lacy Morrow