{"id":13493084,"url":"https://github.com/c-eg/themoviedbapi","last_synced_at":"2026-03-07T20:09:25.760Z","repository":{"id":13618559,"uuid":"16311758","full_name":"c-eg/themoviedbapi","owner":"c-eg","description":"A Java wrapper around the JSON API provided by TheMovieDB.org","archived":false,"fork":false,"pushed_at":"2026-02-28T15:48:23.000Z","size":1755,"stargazers_count":299,"open_issues_count":0,"forks_count":96,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-02-28T18:55:48.328Z","etag":null,"topics":["java","java-wrapper","json","themoviedb","themoviedbapi","wrapper-library"],"latest_commit_sha":null,"homepage":"https://www.themoviedb.org/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c-eg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-01-28T12:55:14.000Z","updated_at":"2026-02-28T15:47:07.000Z","dependencies_parsed_at":"2023-12-22T22:21:22.596Z","dependency_job_id":"2de64cd6-3596-4fb0-8f31-89732d0ef51b","html_url":"https://github.com/c-eg/themoviedbapi","commit_stats":null,"previous_names":["c-eg/themoviedbapi","holgerbrandl/themoviedbapi"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/c-eg/themoviedbapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-eg%2Fthemoviedbapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-eg%2Fthemoviedbapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-eg%2Fthemoviedbapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-eg%2Fthemoviedbapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c-eg","download_url":"https://codeload.github.com/c-eg/themoviedbapi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-eg%2Fthemoviedbapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30229591,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T19:01:10.287Z","status":"ssl_error","status_checked_at":"2026-03-07T18:59:58.103Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","java-wrapper","json","themoviedb","themoviedbapi","wrapper-library"],"created_at":"2024-07-31T19:01:12.031Z","updated_at":"2026-03-07T20:09:25.718Z","avatar_url":"https://github.com/c-eg.png","language":"Java","readme":"# TheMovieDB API\n[![Download](https://img.shields.io/github/v/release/c-eg/themoviedbapi)](https://github.com/c-eg/themoviedbapi/releases)\n[![BSD 2 License](http://img.shields.io/badge/license-BSD_2_Clause-green.svg)](https://opensource.org/licenses/BSD-2-Clause)\n\nThis library provides a Java-wrapper around the [JSON API](https://developer.themoviedb.org/docs/getting-started) provided by\n[TMdB](https://www.themoviedb.org/), which is an open database for movie and tv content.\n\nThe wrapper implements most, if not all, of the JSON API. However, because the API is subject to constantly change, new functionality may \nnot be implemented, or current functionality may break. Please point this out by submitting an issue, or even better, just send us a pull \nrequest!\n\nIt's available via [Maven Central](https://central.sonatype.com/artifact/uk.co.conoregan/themoviedbapi). Just add it as dependency to your \nproject.\n\n\u003cdetails open\u003e\n\u003csummary\u003eMaven\u003c/summary\u003e\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003euk.co.conoregan\u003c/groupId\u003e\n    \u003cartifactId\u003ethemoviedbapi\u003c/artifactId\u003e\n    \u003cversion\u003e{version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGradle (Kotlin)\u003c/summary\u003e\n\n```kotlin\ndependencies {\n    implementation(\"uk.co.conoregan:themoviedbapi:{version}\")\n}\n```\n\u003c/details\u003e\n\n## Usage\nTo register for a TMdB API key, click the [API link](https://www.themoviedb.org/settings/api) from within your account settings page. There are two types of API keys currently provided by TMdB, please ensure you are using the `API Read Access Token` key.\n\nWith this you can instantiate `info.movito.themoviedbapi.TmdbApi`, which has getters for all subcategories of the API, e.g.\n```java\nTmdbApi tmdbApi = new TmdbApi(\"\u003capikey\u003e\");\n```\n\n### Examples\n#### Get movie details\n```java\nTmdbMovies tmdbMovies = tmdbApi.getMovies();\nMovieDb movie = tmdbMovies.getDetails(5353, \"en-US\");\n```\n\n#### Append to response\nSome of the API methods support appending additional requests to the response. This concept is part of the underlying \n[TMdB API - Append To Response](https://developer.themoviedb.org/docs/append-to-response), our wrapper just mimics the scheme.\n\nIf you try to call the getter for a model that has fields for appendable responses, without providing the append to response parameter to \nthe function, it will return  `null`.\n\n```java\nTmdbMovies tmdbMovies = tmdbApi.getMovies();\n\nMovieDb movie = tmdbMovies.getDetails(5353, \"en-US\");\nImages images = movie.getImages();  // this will be null\n\nMovieDb movie = tmdbMovies.getDetails(5353, \"en-US\", MovieAppendToResponse.IMAGES);\nImages images = movie.getImages();  // this will NOT be null\n```\n\nYou can also append multiple responses to the same request by providing multiple append to response values.\n\n```java\nTmdbMovies tmdbMovies = tmdbApi.getMovies();\n\nMovieDb movie = tmdbMovies.getDetails(5353, \"en-US\", MovieAppendToResponse.IMAGES, MovieAppendToResponse.VIDEOS);\nMovieDb movie = tmdbMovies.getDetails(5353, \"en-US\", MovieAppendToResponse.values());\n```\n\nTo find all methods that use append to response, see the `info.movito.themoviedbapi.tools.appendtoresponse.AppendToResponse` interface \nimplementations.\n\n### Exception Handling\nEvery API method can throw a `info.movito.themoviedbapi.tools.TmdbException` if the request fails for any reason. You should catch this \nexception and handle it appropriately.\n\nSome exceptions are caused because the response status provided by the TMdB API is not successful. To see more details, see the \n`info.movito.themoviedbapi.tools.TmdbResponseCode` and [TMdB Errors](https://developer.themoviedb.org/docs/errors).\n\nIn the example below, the response was successful, but response code returned by TMdB API was not successful due to an authentication\nfailure. \n\n```java\nTmdbMovies tmdbMovies = tmdbApi.getMovies();\n\ntry {\n    AccountStates accountStates = tmdbMovies.getAccountStates(-1, \"accountId\", null);\n}\ncatch (TmdbResponseException exception) {\n    TmdbResponseCode responseCode = exception.getResponseCode();\n    // handle unsuccessful TMdB response code\n}\ncatch (TmdbException exception) {\n    // handle unknown-cause exception\n}\n```\n\nWe chose to throw exceptions rather than returning `null`, so you have more control over what you do with each failure case. E.g. with the\nexample above, you may want to display an error message to the user about failing authentication.\n\n## Project Logging\n\nThis project uses [SLF4J](http://www.slf4j.org) to abstract the logging in the project. To use the logging in your own\nproject you should add one of the provided [adapter bindings](http://www.slf4j.org/manual.html).\n\n## Prooguard / R8 rules\nModel classes are placed under `info.movito.themoviedbapi.model` package. Add this to `proguard-rules.pro` so that, these classes can \nsurvive minification.\n```\n-keep class info.movito.themoviedbapi.model.** { *; }\n```\n\n## Notes \u0026 Acknowledgements\nThe library was developed for [Movito](http://www.movito.info) to interact with TMdB services. This library has been inspired by [api-themoviedb](https://github.com/Omertron/api-themoviedb) but\nhas been rewritten to provide a more open license, a more clean API, and to expose more features of the TMdB JSON API.\n","funding_links":[],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-eg%2Fthemoviedbapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc-eg%2Fthemoviedbapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-eg%2Fthemoviedbapi/lists"}