kirashi3 / tvseries-api

Popcorn Time API is developed to make it easier for anyone to create their own versions of Popcorn Time. | This is a public mirror of the Popcon Time Community Edition repository. All pull requests are ignored. This repository may recieve forced updates.

Home Page:https://popcorntimece.ch/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Popcorn API

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

  • Metadata 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

Installation

Install NodeJS, MongoDB and Git sudo apt-get install -y node mongodb git

Setup MongoDB dirs mkdir -p /data/db

Clone the repo git clone https://popcorncouzx5cjn.onion.to/PTCE/tvseries-api.git

Install dependencies cd tvseries-api npm install

Fire it up! node index

Hint: the default port os set to 5000 currently, but can be changed in the config.js file.

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

https://<URL HERE>/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

https://<URL HERE>/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)

About

Popcorn Time API is developed to make it easier for anyone to create their own versions of Popcorn Time. | This is a public mirror of the Popcon Time Community Edition repository. All pull requests are ignored. This repository may recieve forced updates.

https://popcorntimece.ch/

License:GNU General Public License v3.0


Languages

Language:JavaScript 100.0%