Skip to content

patryk-lukasz-kacprowicz/TMDB

Repository files navigation

API endpoints

Genres

api/genres

Retrieves a list of all genres. Returns a JSON array of genre objects. Each object represents a genre.
Example Response:

[
    {
        "id": 1,
        "id_from_tmdb": 28,
        "type": "movie",
        "name": "Action"
    },
    {
        "id": 2,
        "id_from_tmdb": 12,
        "type": "movie",
        "name": "Adventure"
    }
]
HTTP Method: GET

api/genres/{id}

Retrieves information about a specific genre by its ID. Returns a single JSON object representing the genre.
Example Response (for id=1):

{
    "id": 1,
    "id_from_tmdb": 28,
    "type": "movie",
    "name": "Action"
}
HTTP Method: GET
Path Parameters:
  • id (integer, required): The unique identifier of the genre.

Movies

api/movies

Retrieves a list of movies (e.g., popular movies). Returns a JSON array of movie objects. Each object represents a movie.
Example Response:

[
    {
        "id": 1,
        "id_from_tmdb": 950387,
        "adult": false,
        "original_language": "en",
        "title": "A Minecraft Movie",
        "overview": "Four misfits find themselves struggling with ordinary problems when they are suddenly pulled through a mysterious portal into the Overworld: a bizarre, cubic wonderland that thrives on imagination. To get back home, they'll have to master this world while embarking on a magical quest with an unexpected, expert crafter, Steve.",
        "release_date": "2025-03-31",
        "vote_average": "6.53",
        "vote_count": 1397,
        "languages": [
            {
                "movie_translation_id": 1,
                "movie_id": 1,
                "language": "pl",
                "title": "Minecraft: Film",
                "overview": "Czwórka outsiderów zmaga się ze zwykłymi problemami, gdy nagle zostają wciągnięci przez tajemniczy portal do Overworld: dziwacznej, sześciennej krainy czarów, która rozkwita dzięki wyobraźni. Aby wrócić do domu, będą musieli opanować ten świat, wyruszając na magiczną wyprawę z niespodziewanym, doświadczonym rzemieślnikiem, Stevem."
            },
            {
                "movie_translation_id": 2,
                "movie_id": 1,
                "language": "de",
                "title": "Ein Minecraft Film",
                "overview": "Vier Außenseiter werden durch ein geheimnisvolles Portal gezogen – mitten in ein skurriles kubisches Wunderland, das von der Vorstellungskraft lebt. Um wieder nach Hause zu kommen, begeben sie sich mit dem Handwerker Steve auf eine magische Reise. Es wird ein Abenteuer, das von allen Mut verlangt – auch den, sich wieder mit den Eigenschaften zu verbinden, die jeden von ihnen kreativ machen."
            }
        ],
        "genres": [
            {
                "id": 1,
                "id_from_tmdb": 28,
                "name": "Action"
            },
            {
                "id": 2,
                "id_from_tmdb": 12,
                "name": "Adventure"
            },
            {
                "id": 4,
                "id_from_tmdb": 35,
                "name": "Comedy"
            },
            {
                "id": 8,
                "id_from_tmdb": 10751,
                "name": "Family"
            },
            {
                "id": 9,
                "id_from_tmdb": 14,
                "name": "Fantasy"
            }
        ]
    },
    {
        "id": 2,
        "id_from_tmdb": 574475,
        "adult": false,
        "original_language": "en",
        "title": "Final Destination Bloodlines",
        "overview": "Plagued by a violent recurring nightmare, college student Stefanie heads home to track down the one person who might be able to break the cycle and save her family from the grisly demise that inevitably awaits them all.",
        "release_date": "2025-05-09",
        "vote_average": "7.11",
        "vote_count": 363,
        "languages": [
            {
                "movie_translation_id": 3,
                "movie_id": 2,
                "language": "pl",
                "title": "Oszukać przeznaczenie: Więzy krwi",
                "overview": "Dręczona przez powtarzający się koszmar, studentka Stefanie wraca do domu, aby odnaleźć osobę, która mogłaby przerwać cykl i ocalić jej rodzinę przed makabryczną śmiercią, która nieuchronnie czeka ich wszystkich."
            },
            {
                "movie_translation_id": 4,
                "movie_id": 2,
                "language": "de",
                "title": "Final Destination Bloodlines",
                "overview": "Immer wieder wird die Studentin Stefanie von einem schrecklichen Albtraum heimgesucht. Sie beschließt, in ihre Heimatstadt zurückzukehren. Dort hofft sie, die einzige Person zu finden, die den Teufelskreis durchbrechen und ihre gesamte Familie vor dem grausamen Tod bewahren kann, der sie alle unweigerlich erwartet …"
            }
        ],
        "genres": [
            {
                "id": 11,
                "id_from_tmdb": 27,
                "name": "Horror"
            },
            {
                "id": 13,
                "id_from_tmdb": 9648,
                "name": "Mystery"
            }
        ]
    }
]
    
HTTP Method: GET

api/movies/{id}

Retrieves information about a specific movie by its ID. Returns a single JSON object representing the movie.
Example Response (for id=1):

{
    "id": 1,
    "id_from_tmdb": 950387,
    "adult": false,
    "original_language": "en",
    "title": "A Minecraft Movie",
    "overview": "Four misfits find themselves struggling with ordinary problems when they are suddenly pulled through a mysterious portal into the Overworld: a bizarre, cubic wonderland that thrives on imagination. To get back home, they'll have to master this world while embarking on a magical quest with an unexpected, expert crafter, Steve.",
    "release_date": "2025-03-31",
    "vote_average": "6.53",
    "vote_count": 1397,
    "languages": [
        {
            "movie_translation_id": 1,
            "movie_id": 1,
            "language": "pl",
            "title": "Minecraft: Film",
            "overview": "Czwórka outsiderów zmaga się ze zwykłymi problemami, gdy nagle zostają wciągnięci przez tajemniczy portal do Overworld: dziwacznej, sześciennej krainy czarów, która rozkwita dzięki wyobraźni. Aby wrócić do domu, będą musieli opanować ten świat, wyruszając na magiczną wyprawę z niespodziewanym, doświadczonym rzemieślnikiem, Stevem."
        },
        {
            "movie_translation_id": 2,
            "movie_id": 1,
            "language": "de",
            "title": "Ein Minecraft Film",
            "overview": "Vier Außenseiter werden durch ein geheimnisvolles Portal gezogen – mitten in ein skurriles kubisches Wunderland, das von der Vorstellungskraft lebt. Um wieder nach Hause zu kommen, begeben sie sich mit dem Handwerker Steve auf eine magische Reise. Es wird ein Abenteuer, das von allen Mut verlangt – auch den, sich wieder mit den Eigenschaften zu verbinden, die jeden von ihnen kreativ machen."
        }
    ],
    "genres": [
        {
            "id": 1,
            "id_from_tmdb": 28,
            "name": "Action"
        },
        {
            "id": 2,
            "id_from_tmdb": 12,
            "name": "Adventure"
        },
        {
            "id": 4,
            "id_from_tmdb": 35,
            "name": "Comedy"
        },
        {
            "id": 8,
            "id_from_tmdb": 10751,
            "name": "Family"
        },
        {
            "id": 9,
            "id_from_tmdb": 14,
            "name": "Fantasy"
        }
    ]
}
    
HTTP Method: GET
Path Parameters:
  • id (integer, required): The unique identifier of the movie.

Series

api/series

Retrieves a list of TV series. Returns a JSON array of series objects. Each object represents a TV series.
Example Response:

[
    {
        "id": 1,
        "id_from_tmdb": 2261,
        "adult": 0,
        "original_language": "en",
        "name": "The Tonight Show Starring Johnny Carson",
        "overview": "The Tonight Show Starring Johnny Carson is a talk show hosted by Johnny Carson under The Tonight Show franchise from 1962 to 1992. It originally aired during late-night. For its first ten years, Carson's Tonight Show was based in New York City with occasional trips to Burbank, California; in May 1972, the show moved permanently to Burbank, California. In 2002, The Tonight Show Starring Johnny Carson was ranked #12 on TV Guide's 50 Greatest TV Shows of All Time.",
        "first_air_date": "1962-10-01",
        "vote_average": "7.46",
        "vote_count": 81,
        "languages": [],
        "genres": [
            {
                "id": 26,
                "id_from_tmdb": 10767,
                "name": "Talk"
            }
        ]
    },
    {
        "id": 2,
        "id_from_tmdb": 13945,
        "adult": 0,
        "original_language": "de",
        "name": "Gute Zeiten, schlechte Zeiten",
        "overview": "Gute Zeiten, schlechte Zeiten is a long-running German television soap opera, first broadcast on RTL in 1992. The programme concerns the lives of a fictional neighborhood in Germany's capital city Berlin. Over the years the soap opera tends to have an overhaul of young people in their late teens and early twenties; targeting a young viewership.",
        "first_air_date": "1992-05-11",
        "vote_average": "5.77",
        "vote_count": 39,
        "languages": [
            {
                "serie_translation_id": 1,
                "serie_id": 2,
                "language": "de",
                "name": "Gute Zeiten, schlechte Zeiten",
                "overview": "Gute Zeiten, schlechte Zeiten ist eine Seifenoper. Sie wird seit 1992 beim deutschen Privatsender RTL montags bis freitags im Vorabendprogramm ausgestrahlt. Sie gilt als erfolgreichste deutsche Fernsehserie ihres Genres, mit über 8000 ausgestrahlten Episoden."
            }
        ],
        "genres": [
            {
                "id": 7,
                "id_from_tmdb": 18,
                "name": "Drama"
            },
            {
                "id": 25,
                "id_from_tmdb": 10766,
                "name": "Soap"
            }
        ]
    }
]
    
HTTP Method: GET

api/series/{id}

Retrieves information about a specific TV series by its ID. Returns a single JSON object representing the series.
Example Response (for id=2):

{
    "id": 2,
    "id_from_tmdb": 13945,
    "adult": 0,
    "original_language": "de",
    "name": "Gute Zeiten, schlechte Zeiten",
    "overview": "Gute Zeiten, schlechte Zeiten is a long-running German television soap opera, first broadcast on RTL in 1992. The programme concerns the lives of a fictional neighborhood in Germany's capital city Berlin. Over the years the soap opera tends to have an overhaul of young people in their late teens and early twenties; targeting a young viewership.",
    "first_air_date": "1992-05-11",
    "vote_average": "5.77",
    "vote_count": 39,
    "languages": [
        {
            "serie_translation_id": 1,
            "serie_id": 2,
            "language": "de",
            "name": "Gute Zeiten, schlechte Zeiten",
            "overview": "Gute Zeiten, schlechte Zeiten ist eine Seifenoper. Sie wird seit 1992 beim deutschen Privatsender RTL montags bis freitags im Vorabendprogramm ausgestrahlt. Sie gilt als erfolgreichste deutsche Fernsehserie ihres Genres, mit über 8000 ausgestrahlten Episoden."
        }
    ],
    "genres": [
        {
            "id": 7,
            "id_from_tmdb": 18,
            "name": "Drama"
        },
        {
            "id": 25,
            "id_from_tmdb": 10766,
            "name": "Soap"
        }
    ]
}
    
HTTP Method: GET
Path Parameters:
  • id (integer, required): The unique identifier of the TV series.

Multilanguage

Movies

api/{lang}/movies

Retrieves a list of movies (e.g., popular movies) in specific language. Returns a JSON array of movie objects. Each object represents a movie.
Example Response:

[
    {
        "id": 1,
        "language": "en",
        "title": "A Minecraft Movie",
        "overview": "Four misfits find themselves struggling with ordinary problems when they are suddenly pulled through a mysterious portal into the Overworld: a bizarre, cubic wonderland that thrives on imagination. To get back home, they'll have to master this world while embarking on a magical quest with an unexpected, expert crafter, Steve."
    },
    {
        "id": 4,
        "language": "en",
        "title": "Final Destination Bloodlines",
        "overview": "Plagued by a violent recurring nightmare, college student Stefanie heads home to track down the one person who might be able to break the cycle and save her family from the grisly demise that inevitably awaits them all."
    }
]
    
HTTP Method: GET
Path Parameters:
  • lang (string, required): The language identifier of the movies.

api/movies/{id}

Retrieves information about a specific movie by its ID with specific language. Returns a single JSON object representing the movie.
Example Response (for id=1):

{
    "id": 1,
    "language": "en",
    "title": "A Minecraft Movie",
    "overview": "Four misfits find themselves struggling with ordinary problems when they are suddenly pulled through a mysterious portal into the Overworld: a bizarre, cubic wonderland that thrives on imagination. To get back home, they'll have to master this world while embarking on a magical quest with an unexpected, expert crafter, Steve."
}
    
HTTP Method: GET
Path Parameters:
  • lang (string, required): The language identifier of the movie.
  • id (integer, required): The unique identifier of the movie.

Series

api/{lang}/series

Retrieves a list of series (e.g., popular series) in specific language. Returns a JSON array of movie objects. Each object represents a serie.
Example Response:

[
    {
        "movie_translation_id": 2,
        "movie_id": 1,
        "language": "de",
        "title": "Ein Minecraft Film",
        "overview": "Vier Außenseiter werden durch ein geheimnisvolles Portal gezogen – mitten in ein skurriles kubisches Wunderland, das von der Vorstellungskraft lebt. Um wieder nach Hause zu kommen, begeben sie sich mit dem Handwerker Steve auf eine magische Reise. Es wird ein Abenteuer, das von allen Mut verlangt – auch den, sich wieder mit den Eigenschaften zu verbinden, die jeden von ihnen kreativ machen."
    },
    {
        "movie_translation_id": 4,
        "movie_id": 2,
        "language": "de",
        "title": "Final Destination Bloodlines",
        "overview": "Immer wieder wird die Studentin Stefanie von einem schrecklichen Albtraum heimgesucht. Sie beschließt, in ihre Heimatstadt zurückzukehren. Dort hofft sie, die einzige Person zu finden, die den Teufelskreis durchbrechen und ihre gesamte Familie vor dem grausamen Tod bewahren kann, der sie alle unweigerlich erwartet …"
    }
]
    
HTTP Method: GET
Path Parameters:
  • lang (string, required): The language identifier of the movies.

api/movies/{movie_id}

Retrieves information about a specific movie by its ID with specific language. Returns a single JSON object representing the movie.
Example Response (for id=1):

{
    "movie_translation_id": 2,
    "movie_id": 1,
    "language": "de",
    "title": "Ein Minecraft Film",
    "overview": "Vier Außenseiter werden durch ein geheimnisvolles Portal gezogen – mitten in ein skurriles kubisches Wunderland, das von der Vorstellungskraft lebt. Um wieder nach Hause zu kommen, begeben sie sich mit dem Handwerker Steve auf eine magische Reise. Es wird ein Abenteuer, das von allen Mut verlangt – auch den, sich wieder mit den Eigenschaften zu verbinden, die jeden von ihnen kreativ machen."
}
    
HTTP Method: GET
Path Parameters:
  • lang (string, required): The language identifier of the movie.
  • movie_id (integer, required): The unique identifier of the movie.

Series

api/{lang}/series

Retrieves a list of TV series with specific language. Returns a JSON array of series objects. Each object represents a TV series.
Example Response:

[
    {
        "serie_translation_id": 1,
        "serie_id": 2,
        "language": "de",
        "name": "Gute Zeiten, schlechte Zeiten",
        "overview": "Gute Zeiten, schlechte Zeiten ist eine Seifenoper. Sie wird seit 1992 beim deutschen Privatsender RTL montags bis freitags im Vorabendprogramm ausgestrahlt. Sie gilt als erfolgreichste deutsche Fernsehserie ihres Genres, mit über 8000 ausgestrahlten Episoden."
    },
    {
        "serie_translation_id": 3,
        "serie_id": 7,
        "language": "de",
        "name": "Law & Order: Special Victims Unit",
        "overview": "Bei Polizei und Staatsanwaltschaft gelten Sexualverbrechen als besonders abscheulich. In New York City gehören die engagierten Detectives, die in diesen brutalen Fällen ermitteln, zur Sondereinheit für Sexualdelikte. Dies sind ihre Geschichten. Innerhalb der New Yorker Polizei gibt es eine Sondereinheit, die Special Victims Unit. Die Fälle, die das SVU untersucht, beschränken sich ausschließlich auf Sexualdelikte und Verbrechen an Kindern"
    }
]
    
HTTP Method: GET
Path Parameters:
  • lang (string, required): The language identifier of the TV series.

api/{lang}/series/{serie_id}

Retrieves information about a specific TV series by its ID. Returns a single JSON object representing the series.
Example Response (for id=2):

{
    "serie_translation_id": 1,
    "serie_id": 2,
    "language": "de",
    "name": "Gute Zeiten, schlechte Zeiten",
    "overview": "Gute Zeiten, schlechte Zeiten ist eine Seifenoper. Sie wird seit 1992 beim deutschen Privatsender RTL montags bis freitags im Vorabendprogramm ausgestrahlt. Sie gilt als erfolgreichste deutsche Fernsehserie ihres Genres, mit über 8000 ausgestrahlten Episoden."
}
    
HTTP Method: GET
Path Parameters:
  • lang (string, required): The language identifier of the TV series.
  • serie_id (integer, required): The unique identifier of the TV series.

Commands

php artisan tmdb:import

Retrieves genres, movies, series, translations for movies and series from the TMDB API and stores them in the database.

php artisan tmdb:import-genres

Retrieves genres from the TMDB API and stores them in the database. Can import movie, tv, or both.

php artisan tmdb:import-movies {?quantity}

Imports a selected number or exactly 50 of the most popular movies from the TMDB API.

php artisan tmdb:import-series {?quantity}

Imports a selected number or exactly 10 of the most popular series from the TMDB API.

php artisan tmdb:import-translation-movies

Retrieves series translations from the TMDB API and stores them in the database.

php artisan tmdb:import-translation-series

Retrieves movies translations from the TMDB API and stores them in the database.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages