{"id":17491783,"url":"https://github.com/pskfyi/tmdb-sdk","last_synced_at":"2026-04-25T16:33:23.016Z","repository":{"id":65332247,"uuid":"586138034","full_name":"pskfyi/tmdb-sdk","owner":"pskfyi","description":"Deno-first TypeScript library for interacting with themoviedb.org's API.","archived":false,"fork":false,"pushed_at":"2023-01-16T07:25:59.000Z","size":33,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-21T21:53:48.578Z","etag":null,"topics":["deno","movie-database","movies","tmdb","tmdb-api","tv","tv-database","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pskfyi.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}},"created_at":"2023-01-07T04:10:59.000Z","updated_at":"2023-06-03T00:06:10.000Z","dependencies_parsed_at":"2023-02-10T01:45:15.807Z","dependency_job_id":null,"html_url":"https://github.com/pskfyi/tmdb-sdk","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/pskfyi/tmdb-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pskfyi%2Ftmdb-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pskfyi%2Ftmdb-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pskfyi%2Ftmdb-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pskfyi%2Ftmdb-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pskfyi","download_url":"https://codeload.github.com/pskfyi/tmdb-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pskfyi%2Ftmdb-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32269458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"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":["deno","movie-database","movies","tmdb","tmdb-api","tv","tv-database","typescript"],"created_at":"2024-10-19T08:04:57.829Z","updated_at":"2026-04-25T16:33:23.000Z","avatar_url":"https://github.com/pskfyi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TMDB SDK\n\nDeno-first TypeScript library for interacting with\n[themoviedb.org](https://www.themoviedb.org/)'s (TMDB) API.\n\nThis library transforms fetched data to make it more idiomatic for\nJavaScript/TypeScript.\n\n- Replaces `snake_case` properties with `camelCase`\n- Renames properties where appropriate\n- Properties which would sometimes have `null` or empty string values (`\"\"`) now\n  use optional values instead\n\n\u003ch2\u003eTable of Contents\u003c/h2\u003e\n\n- [Error Handling](#error-handling)\n- [API v3](#api-v3)\n  - [Countries](#countries)\n  - [Genres](#genres)\n  - [Languages](#languages)\n  - [Movies](#movies)\n    - [Search](#search)\n- [Roadmap](#roadmap)\n\n## Error Handling\n\nThe API returns 200, 401, and 404 responses. The SDK throws an\n[`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error)\nwhen a 401 or 404 response is received. The full\n[`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) will be\nassigned to\n[`Error.cause`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause),\nand\n[`Error.message`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/message)\nwill be either a specific status message returned by the API if present, or the\nvalue of\n[`Response.statusText`](https://developer.mozilla.org/en-US/docs/Web/API/Response/statusText)\notherwise.\n\nAdditionally the standard\n[`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch) function used\ninternally throws a\n[`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError)\nwhen a network issue is encountered.\n\n## API v3\n\nhttps://developers.themoviedb.org/3/getting-started/introduction\n\n### Countries\n\nSource:\n\n- https://developers.themoviedb.org/3/configuration/get-countries\n\n```ts\nimport { COUNTRIES, getCountries } from \"path/to/v3/countries/mod.ts\";\nimport type {\n  Country,\n  CountryCode,\n  CountryMap,\n} from \"path/to/v3/countries/mod.ts\";\n```\n\n### Genres\n\nSource:\n\n- https://developers.themoviedb.org/3/genres/get-movie-list\n\n```ts\nimport { getMovieGenres, MOVIE_GENRES } from \"path/to/v3/genres/mod.ts\";\nimport type { GenreMap, MovieGenre } from \"path/to/v3/genres/mod.ts\";\n```\n\n### Languages\n\nSource:\n\n- https://developers.themoviedb.org/3/getting-started/languages\n- https://developers.themoviedb.org/3/configuration/get-languages\n\n```ts\nimport { getLanguages, LANGUAGES } from \"path/to/v3/languages/mod.ts\";\nimport type {\n  Language,\n  LanguageCode,\n  LanguageMap,\n} from \"path/to/v3/languages/mod.ts\";\n```\n\n### Movies\n\n#### Search\n\nSource:\n\n- https://developers.themoviedb.org/3/search/search-movies\n\n```ts\nimport { searchMovies } from \"path/to/v3/movies/mod.ts\";\nimport type {\n  MovieSearchResult,\n  SearchMoviesOptions,\n  SearchResultsPage,\n} from \"path/to/v3/languages/mod.ts\";\n```\n\n## Roadmap\n\n- Current Version: 0.1.0\n- Completed: 4\n- Slated: 145\n\n| Release | Category        | Function                        |\n| :------ | :-------------- | :------------------------------ |\n| -       | -               | -                               |\n|         | Account         | `getAccount()`                  |\n|         | Account         | `getLists()`                    |\n|         | Account         | `getFavoriteMovies()`           |\n|         | Account         | `getFavoriteTVShows()`          |\n|         | Account         | `markAsFavorite()`              |\n|         | Account         | `getRatedMovies()`              |\n|         | Account         | `getRatedTVShows()`             |\n|         | Account         | `getRatedTVEpisodes()`          |\n|         | Account         | `getMovieWatchlist()`           |\n|         | Account         | `getTVShowWatchlist()`          |\n|         | Account         | `addToWatchList()`              |\n| -       | -               | -                               |\n|         | Authentication  | `createGuestSession()`          |\n|         | Authentication  | `createRequestToken()`          |\n|         | Authentication  | `createSession()`               |\n|         | Authentication  | `validateRequestToken()`        |\n|         | Authentication  | `deleteSession()`               |\n| -       | -               | -                               |\n|         | Certifications  | `getAllMovieCerts()`            |\n|         | Certifications  | `getAllTVCerts()`               |\n| -       | -               | -                               |\n|         | Changes         | `getMovieChanges()`             |\n|         | Changes         | `getTVChanges()`                |\n|         | Changes         | `getPersonChanges()`            |\n| -       | -               | -                               |\n|         | Collections     | `getCollectionDetails()`        |\n|         | Collections     | `getCollectionImages()`         |\n|         | Collections     | `getCollectionTranslations()`   |\n| -       | -               | -                               |\n|         | Companies       | `getCompanies()`                |\n|         | Companies       | `getAltCompanyNames()`          |\n|         | Companies       | `getCompanyImages()`            |\n| -       | -               | -                               |\n|         | Configuration   | `getConfiguration()`            |\n| v0.1.0  | Configuration   | `getCountries()`                |\n|         | Configuration   | `getJobs()`                     |\n| v0.1.0  | Configuration   | `getLanguages()`                |\n|         | Configuration   | `getPrimaryTranslations()`      |\n|         | Configuration   | `getTimezones()`                |\n| -       | -               | -                               |\n|         | Credits         | `getCredits()`                  |\n| -       | -               | -                               |\n|         | Discover        | `discoverMovies()`              |\n|         | Discover        | `discoverTV()`                  |\n| -       | -               | -                               |\n|         | Find            | `find()`                        |\n| -       | -               | -                               |\n| v0.1.0  | Genres          | `getMovieGenres()`              |\n|         | Genres          | `getTVGenres()`                 |\n| -       | -               | -                               |\n|         | GuestSessions   | `getRatedMovies()`              |\n|         | GuestSessions   | `getRatedTVShows()`             |\n|         | GuestSessions   | `getRatedTVEpisodes()`          |\n| -       | -               | -                               |\n|         | Keywords        | `getKeywords()`                 |\n|         | Keywords        | `getMoviesByKeyword()`          |\n| -       | -               | -                               |\n|         | Lists           | `getList()`                     |\n|         | Lists           | `checkListItemStatus()`         |\n|         | Lists           | `createList()`                  |\n|         | Lists           | `addMovieToList()`              |\n|         | Lists           | `removeMovieFromList()`         |\n|         | Lists           | `clearList()`                   |\n|         | Lists           | `deleteList()`                  |\n| -       | -               | -                               |\n|         | Movies          | `getMovie()`                    |\n|         | Movies          | `getMovieAccountStates()`       |\n|         | Movies          | `getAltMovieTitles()`           |\n|         | Movies          | `getMovieChanges()`             |\n|         | Movies          | `getMovieCredits()`             |\n|         | Movies          | `getMovieExternalIDs()`         |\n|         | Movies          | `getMovieImages()`              |\n|         | Movies          | `getMovieKeywords()`            |\n|         | Movies          | `getMovieLists()`               |\n|         | Movies          | `getRecsFromMovie()`            |\n|         | Movies          | `getMovieReleaseDates()`        |\n|         | Movies          | `getMovieReviews()`             |\n|         | Movies          | `getSimilarMovies()`            |\n|         | Movies          | `getMovieTranslations()`        |\n|         | Movies          | `getMovieVideos()`              |\n|         | Movies          | `getMovieWatchProviders()`      |\n|         | Movies          | `rateMovie()`                   |\n|         | Movies          | `deleteMovieRating()`           |\n|         | Movies          | `getLatestMovie()`              |\n|         | Movies          | `getMoviesInTheaters()`         |\n|         | Movies          | `getPopularMovies()`            |\n|         | Movies          | `getTopRatedMovies()`           |\n|         | Movies          | `getUpcomingMovies()`           |\n| -       | -               | -                               |\n|         | Networks        | `getNetworks()`                 |\n|         | Networks        | `getAltNetworkNames()`          |\n|         | Networks        | `getNetworkImages()`            |\n| -       | -               | -                               |\n|         | Trending        | `getTrending()`                 |\n| -       | -               | -                               |\n|         | People          | `getPerson()`                   |\n|         | People          | `getPersonChanges()`            |\n|         | People          | `getPersonMovieCredits()`       |\n|         | People          | `getPersonTVCredits()`          |\n|         | People          | `getPersonCredits()`            |\n|         | People          | `getPersonExternalIDs()`        |\n|         | People          | `getPersonImages()`             |\n|         | People          | `getPersonTaggedImages()`       |\n|         | People          | `getPersonTranslations()`       |\n|         | People          | `getLatestPerson()`             |\n|         | People          | `getPopularPeople()`            |\n| -       | -               | -                               |\n|         | Reviews         | `getReview()`                   |\n| -       | -               | -                               |\n|         | Search          | `searchCompanies()`             |\n|         | Search          | `searchCollections()`           |\n|         | Search          | `searchKeywords()`              |\n| v0.1.0  | Search          | `searchMovies()`                |\n|         | Search          | `search()`                      |\n|         | Search          | `searchPeople()`                |\n|         | Search          | `searchTVShows()`               |\n| -       | -               | -                               |\n|         | TV              | `getTVShow()`                   |\n|         | TV              | `getTVShowAccountStates()`      |\n|         | TV              | `getTVShowAggregateCredits()`   |\n|         | TV              | `getAltTVShowTitles()`          |\n|         | TV              | `getTVShowChanges()`            |\n|         | TV              | `getTVShowCerts()`              |\n|         | TV              | `getTVShowCredits()`            |\n|         | TV              | `getTVShowEpisodeGroups()`      |\n|         | TV              | `getTVShowExternalIDs()`        |\n|         | TV              | `getTVShowImages()`             |\n|         | TV              | `getTVShowKeywords()`           |\n|         | TV              | `getRecsFromTVShow()`           |\n|         | TV              | `getTVShowReviews()`            |\n|         | TV              | `getTVShowScreened()`           |\n|         | TV              | `getSimilarTVShows()`           |\n|         | TV              | `getTVShowTranslations()`       |\n|         | TV              | `getTVShowVideos()`             |\n|         | TV              | `getTVShowWatchProviders()`     |\n|         | TV              | `rateTVShow()`                  |\n|         | TV              | `deleteTVShowRating()`          |\n|         | TV              | `getLatestTVShow()`             |\n|         | TV              | `getTVAiringToday()`            |\n|         | TV              | `getTVOnTheAir()`               |\n|         | TV              | `getPopularTVShows()`           |\n|         | TV              | `getTopRatedTVShows()`          |\n| -       | -               | -                               |\n|         | TV Seasons      | `getTVSeason()`                 |\n|         | TV Seasons      | `getTVSeasonRatings()`          |\n|         | TV Seasons      | `getTVSeasonAggregateCredits()` |\n|         | TV Seasons      | `getTVSeasonChanges()`          |\n|         | TV Seasons      | `getTVSeasonCredits()`          |\n|         | TV Seasons      | `getTVSeasonExternalIDs()`      |\n|         | TV Seasons      | `getTVSeasonImages()`           |\n|         | TV Seasons      | `getTVSeasonTranslations()`     |\n|         | TV Seasons      | `getTVSeasonVideos()`           |\n| -       | -               | -                               |\n|         | TV Episodes     | `getTVEpisodes()`               |\n|         | TV Episodes     | `getTVEpisodeRating()`          |\n|         | TV Episodes     | `getTVEpisodeChanges()`         |\n|         | TV Episodes     | `getTVEpisodeCredits()`         |\n|         | TV Episodes     | `getTVEpisodeExternalIDs()`     |\n|         | TV Episodes     | `getTVEpisodeImages()`          |\n|         | TV Episodes     | `getTVEpisodeTranslations()`    |\n|         | TV Episodes     | `rateTVEpisode()`               |\n|         | TV Episodes     | `deleteTVEpisodeRating()`       |\n|         | TV Episodes     | `getTVEpisodeVideos()`          |\n| -       | -               | -                               |\n|         | TV Ep. Groups   | `getEpisodeGroup()`             |\n| -       | -               | -                               |\n|         | Watch Providers | `getWatchProviderRegions()`     |\n|         | Watch Providers | `getWatchProviderRegions()`     |\n|         | Watch Providers | `getTVWatchProviders()`         |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpskfyi%2Ftmdb-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpskfyi%2Ftmdb-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpskfyi%2Ftmdb-sdk/lists"}