/popcorn-api

Popcorn TV Shows API

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Popcorn API

Popcorn Time API is developed to make it easier for anyone to create their own versions of Popcorn Time. It contains:

  • Metdata about TV Shows and individual episodes (taken from Trakt)
  • Multiple quality magnet links for every episode
  • Ability to easily filter content to the users' content

Routes

The API contains the following 'routes' which produce the example output

show/:imdb_id - This returns all info and episodes for a particular show. Useful for the "show details" page in your app

Example

http://eztvapi.re/show/tt1475582 returns the following:

{
    _id: "tt1475582",
    air_day: "Sunday",
    air_time: "8:30pm",
    country: "United Kingdom",
    images: {
    poster: "http://slurm.trakt.us/images/posters/178.11.jpg",
    fanart: "http://slurm.trakt.us/images/fanart/178.11.jpg",
    banner: "http://slurm.trakt.us/images/banners/178.11.jpg"
    },
    imdb_id: "tt1475582",
    last_updated: 1406509936365,
    network: "BBC One",
    num_seasons: 3,
    rating: {
    hated: 157,
    loved: 12791,
    votes: 12948,
    percentage: 93
    },
    runtime: "90",
    slug: "sherlock",
    status: "Continuing",
    synopsis: "Sherlock depicts 'consulting detective' Sherlock Holmes, who assists the Metropolitan Police Service, primarily D.I. Greg Lestrade, in solving various crimes. Holmes is assisted by his flatmate, Dr. John Watson.",
    title: "Sherlock",
    tvdb_id: "176941",
    year: "2010",
    episodes: [
        {"torrents":
            {
                "0":
                {
                    "peers":0,
                    "seeds":0,
                    "url":"magnet:?xt=urn:btih:T6Y4FG35S54U3CWSV2OPAXRQVXHZJ4WV&dn=Sherlock.2x01.A.Scandal.In.Belgravia.HDTV.XviD-FoV&tr=udp://tracker.openbittorrent.com:80&tr=udp://tracker.publicbt.com:80&tr=udp://tracker.istole.it:80&tr=udp://open.demonii.com:80&tr=udp://tracker.coppersurfer.tk:80"
                },
                "480p":
                {
                    "peers":0,
                    "seeds":0,
                    "url":"magnet:?xt=urn:btih:T6Y4FG35S54U3CWSV2OPAXRQVXHZJ4WV&dn=Sherlock.2x01.A.Scandal.In.Belgravia.HDTV.XviD-FoV&tr=udp://tracker.openbittorrent.com:80&tr=udp://tracker.publicbt.com:80&tr=udp://tracker.istole.it:80&tr=udp://open.demonii.com:80&tr=udp://tracker.coppersurfer.tk:80"},
                "720p":
                {
                    "peers":0,
                    "seeds":0,
                    "url":"magnet:?xt=urn:btih:GHB4ZITTAO3AMXKNQ4ODBHMFT426NHYU&dn=Sherlock.2x01.A.Scandal.In.Belgravia.720p.HDTV.x264-FoV&tr=udp://tracker.openbittorrent.com:80&tr=udp://tracker.publicbt.com:80&tr=udp://tracker.istole.it:80&tr=udp://open.demonii.com:80&tr=udp://tracker.coppersurfer.tk:80"
                }
            },
        "first_aired":1325449800,
        "overview":"Compromising photographs and a case of blackmail threaten the very heart of the British establishment, but for Sherlock and John the game is on in more ways than one as they find themselves battling international terrorism, rogue CIA agents, and a secret conspiracy involving the British government. This case will cast a darker shadow over their lives than they could ever imagine, as the great detective begins a long duel of wits with an antagonist as cold and ruthless and brilliant as himself: to Sherlock Holmes, Irene Adler will always be THE woman.",
        "title":"A Scandal in Belgravia",
        "episode":1,
        "season":2,
        "tvdb_id":4103396
        }
        ......
    ],
    genres: [
    "Action",
    "Adventure",
    "Drama",
    "Crime",
    "Mystery",
    "Comedy",
    "Thriller"
    ]
}

shows/ This returns the number of pages available to list 50 shows at a time (used for pagination etc)

shows/:page this retuns a list of 50 shows with metadata

Example

http://eztvapi.re/shows/1

[
    {
        _id: "tt0944947",
        images: {
            poster: "http://slurm.trakt.us/images/posters/1395.79.jpg",
            fanart: "http://slurm.trakt.us/images/fanart/1395.79.jpg",
            banner: "http://slurm.trakt.us/images/banners/1395.79.jpg"
        },
        imdb_id: "tt0944947",
        last_updated: 1406509464197,
        num_seasons: 4,
        slug: "game-of-thrones",
        title: "Game of Thrones",
        tvdb_id: "121361",
        year: "2011"
    },
    {
        _id: "tt0903747",
        images: {
            poster: "http://slurm.trakt.us/images/posters/126.54.jpg",
            fanart: "http://slurm.trakt.us/images/fanart/126.54.jpg",
            banner: "http://slurm.trakt.us/images/banners/126.54.jpg"
        },
        imdb_id: "tt0903747",
        last_updated: 1406509278746,
        num_seasons: 5,
        slug: "breaking-bad",
        title: "Breaking Bad",
        tvdb_id: "81189",
        year: "2008"
    },
    {
        _id: "tt0898266",
        images: {
            poster: "http://slurm.trakt.us/images/posters/34.69.jpg",
            fanart: "http://slurm.trakt.us/images/fanart/34.69.jpg",
            banner: "http://slurm.trakt.us/images/banners/34.69.jpg"
        },
        imdb_id: "tt0898266",
        last_updated: 1406509254635,
        num_seasons: 7,
        slug: "the-big-bang-theory",
        title: "The Big Bang Theory",
        tvdb_id: "80379",
        year: "2007"
    },
    {
        _id: "tt1520211",
        images: {
            poster: "http://slurm.trakt.us/images/posters/124.39.jpg",
            fanart: "http://slurm.trakt.us/images/fanart/124.39.jpg",
            banner: "http://slurm.trakt.us/images/banners/124.39.jpg"
        },
        imdb_id: "tt1520211",
        last_updated: 1406510162804,
        num_seasons: 4,
        slug: "the-walking-dead",
        title: "The Walking Dead",
        tvdb_id: "153021",
        year: "2010"
    },
    ...
]

Sorting

This route can be sorting and filtered with the following `query string

?sort=

Possible options are

  • Name (Sort by TV Show title)
  • Year (Year the TV Show first aired)
  • Updated (Sort by the most recently aired episode date)

You can change the order of the sort by adding &order=1 or &order=-1 to the query string

Filtering You can filter shows by keyowrds using the following

shows/1?keywords= (Again the 1 is used for pagination)