Skip to main content

Client

Struct Client 

Source
pub struct Client { /* private fields */ }
Expand description

the entry point; clone freely, it shares one connection pool

Implementations§

Source§

impl Client

Source

pub fn with_read_token(read_access_token: impl Into<String>) -> Self

authenticate with a v4 read access token

Source

pub fn with_api_key(api_key: impl Into<String>) -> Self

authenticate with a v3 api key

Source

pub fn v4(&self, access_token: &AccessToken) -> V4

Available on crate feature v4 only.

the v4 api, authenticated with a user access token from the v4 auth flow — a different credential than the read token, so mixing them is a compile error

Source

pub fn with_http_client(self, http: Client) -> Self

bring your own reqwest client (proxies, timeouts, …)

Source

pub fn with_base_url(self, url: impl Into<String>) -> Self

point at another host (a proxy, or a mock in tests)

Source§

impl Client

Source

pub fn account(&self, session_id: SessionId) -> AccountRequest

the account the session belongs to

Source§

impl Client

Source

pub fn favorite_movies( &self, account_id: u64, session_id: SessionId, ) -> FavoriteMoviesRequest

the account’s favorite movies

Source§

impl Client

Source

pub fn favorite_tv( &self, account_id: u64, session_id: SessionId, ) -> FavoriteTvRequest

the account’s favorite series

Source§

impl Client

Source

pub fn mark_favorite( &self, account_id: u64, session_id: SessionId, media_type: MediaType, media_id: u64, favorite: bool, ) -> MarkFavoriteRequest

mark or unmark a favorite

Source§

impl Client

Source

pub fn rated_movies( &self, account_id: u64, session_id: SessionId, ) -> RatedMoviesRequest

the account’s rated movies

Source§

impl Client

Source

pub fn rated_tv(&self, account_id: u64, session_id: SessionId) -> RatedTvRequest

the account’s rated series

Source§

impl Client

Source

pub fn rated_episodes( &self, account_id: u64, session_id: SessionId, ) -> RatedEpisodesRequest

the account’s rated episodes

Source§

impl Client

Source

pub fn watchlist_movies( &self, account_id: u64, session_id: SessionId, ) -> WatchlistMoviesRequest

the account’s movie watchlist

Source§

impl Client

Source

pub fn watchlist_tv( &self, account_id: u64, session_id: SessionId, ) -> WatchlistTvRequest

the account’s series watchlist

Source§

impl Client

Source

pub fn set_watchlist( &self, account_id: u64, session_id: SessionId, media_type: MediaType, media_id: u64, watchlist: bool, ) -> SetWatchlistRequest

add or remove a watchlist entry

Source§

impl Client

Source

pub fn account_lists( &self, account_id: u64, session_id: SessionId, ) -> AccountListsRequest

the account’s lists

Source§

impl Client

Source

pub fn account_watch_providers( &self, session_id: SessionId, ) -> AccountWatchProvidersRequest

the account’s watch providers preferences

Source§

impl Client

Source

pub fn validate_key(&self) -> ValidateKeyRequest

validate the credentials: the key is good when this answers

Source§

impl Client

Source

pub fn request_token(&self) -> RequestTokenRequest

step 1 of the v3 auth flow: a request token for the user to approve

Source§

impl Client

Source

pub fn validate_with_login( &self, username: &str, password: &str, request_token: &str, ) -> ValidateWithLoginRequest

step 2, app-approved variant: validate with the user’s credentials

Source§

impl Client

Source

pub fn create_session(&self, request_token: &str) -> CreateSessionRequest

step 3: exchange an approved request token for a session

Source§

impl Client

Source

pub fn create_guest_session(&self) -> CreateGuestSessionRequest

a guest session, for rating without an account

Source§

impl Client

Source

pub fn delete_session(&self, session_id: SessionId) -> DeleteSessionRequest

end a session

Source§

impl Client

Source

pub fn movie_certifications(&self) -> MovieCertificationsRequest

the movie certifications by country

Source§

impl Client

Source

pub fn tv_certifications(&self) -> TvCertificationsRequest

the series certifications by country

Source§

impl Client

Source

pub fn collection(&self, id: u64) -> CollectionDetailsRequest

a collection and its parts

Source§

impl Client

Source

pub fn collection_images(&self, id: u64) -> CollectionImagesRequest

a collection’s images

Source§

impl Client

Source

pub fn collection_translations(&self, id: u64) -> CollectionTranslationsRequest

a collection’s translations

Source§

impl Client

Source

pub fn company(&self, id: u64) -> CompanyRequest

a company’s details

Source§

impl Client

Source

pub fn company_alternative_names( &self, id: u64, ) -> CompanyAlternativeNamesRequest

a company’s alternative names

Source§

impl Client

Source

pub fn company_images(&self, id: u64) -> CompanyImagesRequest

a company’s logos

Source§

impl Client

Source

pub fn configuration(&self) -> ConfigurationRequest

the API-wide configuration

Source§

impl Client

Source

pub fn countries(&self) -> CountriesRequest

the countries TMDB knows

Source§

impl Client

Source

pub fn jobs(&self) -> JobsRequest

the departments and jobs credits use

Source§

impl Client

Source

pub fn languages(&self) -> LanguagesRequest

the languages TMDB knows

Source§

impl Client

Source

pub fn primary_translations(&self) -> PrimaryTranslationsRequest

the languages translations can be requested in

Source§

impl Client

Source

pub fn timezones(&self) -> TimezonesRequest

the timezones TMDB knows, by country

Source§

impl Client

Source

pub fn credit(&self, id: &str) -> CreditRequest

a credit by its credit id

Source§

impl Client

Source

pub fn discover_movies(&self) -> DiscoverMoviesRequest

discover movies by filters: genres, dates, ratings, providers, …

Source§

impl Client

Source

pub fn discover_tv(&self) -> DiscoverTvRequest

discover series by filters: genres, dates, ratings, networks, …

Source§

impl Client

Source

pub fn find( &self, external_id: &str, external_source: ExternalSource, ) -> FindRequest

find TMDB entries by an external id (imdb, tvdb, wikidata, …)

Source§

impl Client

Source

pub fn movie_genres(&self) -> MovieGenresRequest

the movie genre list

Source§

impl Client

Source

pub fn tv_genres(&self) -> TvGenresRequest

the series genre list

Source§

impl Client

Source

pub fn keyword(&self, id: u64) -> KeywordRequest

a keyword by id

Source§

impl Client

Source

pub fn keyword_movies(&self, id: u64) -> KeywordMoviesRequest

👎Deprecated:

TMDB deprecated this endpoint; use discover_movies().with_keywords(…) instead

the movies tagged with a keyword

Source§

impl Client

Source

pub fn list(&self, id: u64, session_id: SessionId) -> ListRequest

a list and its items

Source§

impl Client

Source

pub fn list_item_status( &self, id: u64, session_id: SessionId, ) -> ListItemStatusRequest

whether a title is on a list

Source§

impl Client

Source

pub fn create_list( &self, session_id: SessionId, name: &str, description: &str, language: &str, ) -> CreateListRequest

create a list

Source§

impl Client

Source

pub fn list_add_item( &self, id: u64, session_id: SessionId, media_id: u64, ) -> ListAddItemRequest

add a title to a list

Source§

impl Client

Source

pub fn list_remove_item( &self, id: u64, session_id: SessionId, media_id: u64, ) -> ListRemoveItemRequest

remove a title from a list

Source§

impl Client

Source

pub fn list_clear( &self, id: u64, session_id: SessionId, confirm: bool, ) -> ListClearRequest

remove every title from a list

Source§

impl Client

Source

pub fn list_delete(&self, id: u64, session_id: SessionId) -> ListDeleteRequest

delete a list

Source§

impl Client

Source

pub fn movie(&self, id: u64) -> MovieDetailsRequest

the primary details of a movie

Source§

impl Client

Source

pub fn movie_account_states(&self, id: u64) -> MovieAccountStatesRequest

a movie’s account states (favorite, rated, watchlist)

Source§

impl Client

Source

pub fn movie_alternative_titles(&self, id: u64) -> MovieAlternativeTitlesRequest

a movie’s alternative titles

Source§

impl Client

Source

pub fn movie_changes_by_id(&self, id: u64) -> MovieChangesByIdRequest

a movie’s recent changes

Source§

impl Client

Source

pub fn movie_credits(&self, id: u64) -> MovieCreditsRequest

a movie’s credits

Source§

impl Client

Source

pub fn movie_images(&self, id: u64) -> MovieImagesRequest

a movie’s images

Source§

impl Client

Source

pub fn movie_lists(&self, id: u64) -> MovieListsRequest

the lists a movie appears in

Source§

impl Client

Source

pub fn movie_similar(&self, id: u64) -> MovieSimilarRequest

movies similar to a movie, from TMDB’s collaborative filtering

Source§

impl Client

Source

pub fn movie_recommendations(&self, id: u64) -> MovieRecommendationsRequest

a movie’s recommendations

Source§

impl Client

Source

pub fn movie_release_dates(&self, id: u64) -> MovieReleaseDatesRequest

a movie’s release dates by country

Source§

impl Client

Source

pub fn movie_reviews(&self, id: u64) -> MovieReviewsRequest

a movie’s reviews

Source§

impl Client

Source

pub fn movie_translations(&self, id: u64) -> MovieTranslationsRequest

a movie’s translations

Source§

impl Client

Source

pub fn movie_videos(&self, id: u64) -> MovieVideosRequest

a movie’s videos (trailers, teasers, …)

Source§

impl Client

Source

pub fn movie_watch_providers(&self, id: u64) -> MovieWatchProvidersRequest

where a movie can be streamed, rented or bought, by country

Source§

impl Client

Source

pub fn rate_movie(&self, id: u64, value: f64) -> RateMovieRequest

rate a movie; pass a session or guest session

Source§

impl Client

Source

pub fn unrate_movie(&self, id: u64) -> UnrateMovieRequest

delete a movie rating

Source§

impl Client

Source

pub fn movie_changes(&self) -> MovieChangesRequest

the current movie ids, paged by insertion order

Source§

impl Client

Source

pub fn movie_latest(&self) -> MovieLatestRequest

the newest movie

Source§

impl Client

Source

pub fn movie_now_playing(&self) -> MovieNowPlayingRequest

movies currently in theatres

Source§

impl Client

movies ordered by popularity

Source§

impl Client

Source

pub fn movie_top_rated(&self) -> MovieTopRatedRequest

movies ordered by rating

Source§

impl Client

Source

pub fn movie_upcoming(&self) -> MovieUpcomingRequest

upcoming movies

Source§

impl Client

Source

pub fn movie_keywords(&self, id: u64) -> MovieKeywordsRequest

a movie’s keywords, without the details round-trip

Source§

impl Client

Source

pub fn movie_external_ids(&self, id: u64) -> MovieExternalIdsRequest

a movie’s ids on other databases

Source§

impl Client

Source

pub fn network(&self, id: u64) -> NetworkRequest

a network’s details

Source§

impl Client

Source

pub fn network_alternative_names( &self, id: u64, ) -> NetworkAlternativeNamesRequest

a network’s alternative names

Source§

impl Client

Source

pub fn network_images(&self, id: u64) -> NetworkImagesRequest

a network’s logos

Source§

impl Client

Source

pub fn person(&self, id: u64) -> PersonDetailsRequest

the primary details of a person

Source§

impl Client

Source

pub fn person_latest(&self) -> PersonLatestRequest

the newest person

Source§

impl Client

people ordered by popularity

Source§

impl Client

Source

pub fn person_changes(&self, id: u64) -> PersonChangesRequest

a person’s recent changes

Source§

impl Client

Source

pub fn person_combined_credits(&self, id: u64) -> PersonCombinedCreditsRequest

a person’s combined movie and series credits

Source§

impl Client

Source

pub fn person_movie_credits(&self, id: u64) -> PersonMovieCreditsRequest

a person’s movie credits

Source§

impl Client

Source

pub fn person_tv_credits(&self, id: u64) -> PersonTvCreditsRequest

a person’s series credits

Source§

impl Client

Source

pub fn person_external_ids(&self, id: u64) -> PersonExternalIdsRequest

a person’s ids on other databases

Source§

impl Client

Source

pub fn person_images(&self, id: u64) -> PersonImagesRequest

a person’s profile images

Source§

impl Client

Source

pub fn person_translations(&self, id: u64) -> PersonTranslationsRequest

a person’s translations

Source§

impl Client

Source

pub fn review(&self, id: &str) -> ReviewRequest

a review by id

Source§

impl Client

Source

pub fn search_movies(&self, query: &str) -> SearchMoviesRequest

search for movies by title

Source§

impl Client

Source

pub fn search_tv(&self, query: &str) -> SearchTvRequest

search for series by name

Source§

impl Client

Source

pub fn search(&self, query: &str) -> SearchRequest

search movies, series and people in one call

Source§

impl Client

Source

pub fn search_people(&self, query: &str) -> SearchPeopleRequest

search for people by name

Source§

impl Client

Source

pub fn search_collections(&self, query: &str) -> SearchCollectionsRequest

search for collections by name

Source§

impl Client

Source

pub fn search_keywords(&self, query: &str) -> SearchKeywordsRequest

search for keywords by name

Source§

impl Client

Source

pub fn search_companies(&self, query: &str) -> SearchCompaniesRequest

search for companies by name

Source§

impl Client

Source

pub fn trending_movies(&self, window: TimeWindow) -> TrendingMoviesRequest

the trending movies

Source§

impl Client

Source

pub fn trending_tv(&self, window: TimeWindow) -> TrendingTvRequest

the trending series

Source§

impl Client

Source

pub fn trending_people(&self, window: TimeWindow) -> TrendingPeopleRequest

the trending people

Source§

impl Client

Source

pub fn trending_all(&self, window: TimeWindow) -> TrendingAllRequest

everything trending, movies, series and people mixed

Source§

impl Client

Source

pub fn tv(&self, id: u64) -> TvDetailsRequest

the primary details of a series

Source§

impl Client

Source

pub fn tv_season(&self, id: u64, season: u32) -> SeasonDetailsRequest

one season of a series, episodes included

Source§

impl Client

Source

pub fn tv_episode( &self, id: u64, season: u32, episode: u32, ) -> EpisodeDetailsRequest

one episode of a series

Source§

impl Client

Source

pub fn tv_latest(&self) -> TvLatestRequest

the newest series

Source§

impl Client

series ordered by popularity

Source§

impl Client

Source

pub fn tv_top_rated(&self) -> TvTopRatedRequest

series ordered by rating

Source§

impl Client

Source

pub fn tv_on_the_air(&self) -> TvOnTheAirRequest

series with an episode airing in the next week

Source§

impl Client

Source

pub fn tv_airing_today(&self) -> TvAiringTodayRequest

series with an episode airing today

Source§

impl Client

Source

pub fn tv_keywords(&self, id: u64) -> TvKeywordsRequest

a series’ keywords, without the details round-trip

Source§

impl Client

Source

pub fn tv_external_ids(&self, id: u64) -> TvExternalIdsRequest

a series’ ids on other databases

Source§

impl Client

Source

pub fn tv_account_states(&self, id: u64) -> TvAccountStatesRequest

a series’ account states (favorite, rated, watchlist)

Source§

impl Client

Source

pub fn tv_aggregate_credits(&self, id: u64) -> TvAggregateCreditsRequest

a series’ aggregate credits

Source§

impl Client

Source

pub fn tv_alternative_titles(&self, id: u64) -> TvAlternativeTitlesRequest

a series’ alternative titles

Source§

impl Client

Source

pub fn tv_changes_by_id(&self, id: u64) -> TvChangesByIdRequest

a series’ recent changes

Source§

impl Client

Source

pub fn tv_content_ratings(&self, id: u64) -> TvContentRatingsRequest

a series’ content ratings by country

Source§

impl Client

Source

pub fn tv_credits(&self, id: u64) -> TvCreditsRequest

a series’ credits

Source§

impl Client

Source

pub fn tv_episode_groups(&self, id: u64) -> TvEpisodeGroupsRequest

a series’ episode groups

Source§

impl Client

Source

pub fn tv_images(&self, id: u64) -> TvImagesRequest

a series’ images

Source§

impl Client

Source

pub fn tv_lists(&self, id: u64) -> TvListsRequest

the lists a series appears in

Source§

impl Client

Source

pub fn tv_similar(&self, id: u64) -> TvSimilarRequest

series similar to a series

Source§

impl Client

Source

pub fn tv_recommendations(&self, id: u64) -> TvRecommendationsRequest

a series’ recommendations

Source§

impl Client

Source

pub fn tv_reviews(&self, id: u64) -> TvReviewsRequest

a series’ reviews

Source§

impl Client

Source

pub fn tv_screened_theatrically(&self, id: u64) -> TvScreenedTheatricallyRequest

the episodes of a series that were screened in theatres

Source§

impl Client

Source

pub fn tv_translations(&self, id: u64) -> TvTranslationsRequest

a series’ translations

Source§

impl Client

Source

pub fn tv_videos(&self, id: u64) -> TvVideosRequest

a series’ videos (trailers, teasers, …)

Source§

impl Client

Source

pub fn tv_watch_providers(&self, id: u64) -> TvWatchProvidersRequest

where a series can be streamed, rented or bought, by country

Source§

impl Client

Source

pub fn rate_tv(&self, id: u64, value: f64) -> RateTvRequest

rate a series; pass a session or guest session

Source§

impl Client

Source

pub fn unrate_tv(&self, id: u64) -> UnrateTvRequest

delete a series rating

Source§

impl Client

Source

pub fn tv_season_account_states( &self, id: u64, season: u32, ) -> TvSeasonAccountStatesRequest

a season’s account states (per-episode ratings)

Source§

impl Client

Source

pub fn tv_season_aggregate_credits( &self, id: u64, season: u32, ) -> TvSeasonAggregateCreditsRequest

a season’s aggregate credits

Source§

impl Client

Source

pub fn tv_season_changes(&self, id: u64) -> TvSeasonChangesRequest

a season’s changes

Source§

impl Client

Source

pub fn tv_season_credits(&self, id: u64, season: u32) -> TvSeasonCreditsRequest

a season’s credits

Source§

impl Client

Source

pub fn tv_season_external_ids( &self, id: u64, season: u32, ) -> TvSeasonExternalIdsRequest

a season’s ids on other databases

Source§

impl Client

Source

pub fn tv_season_images(&self, id: u64, season: u32) -> TvSeasonImagesRequest

a season’s images

Source§

impl Client

Source

pub fn tv_season_translations( &self, id: u64, season: u32, ) -> TvSeasonTranslationsRequest

a season’s translations

Source§

impl Client

Source

pub fn tv_season_videos(&self, id: u64, season: u32) -> TvSeasonVideosRequest

a season’s videos

Source§

impl Client

Source

pub fn tv_season_watch_providers( &self, id: u64, season: u32, ) -> TvSeasonWatchProvidersRequest

where a season can be watched, by country

Source§

impl Client

Source

pub fn tv_episode_account_states( &self, id: u64, season: u32, episode: u32, ) -> TvEpisodeAccountStatesRequest

an episode’s account states

Source§

impl Client

Source

pub fn tv_episode_changes(&self, id: u64) -> TvEpisodeChangesRequest

an episode’s changes

Source§

impl Client

Source

pub fn tv_episode_credits( &self, id: u64, season: u32, episode: u32, ) -> TvEpisodeCreditsRequest

an episode’s credits

Source§

impl Client

Source

pub fn tv_episode_external_ids( &self, id: u64, season: u32, episode: u32, ) -> TvEpisodeExternalIdsRequest

an episode’s ids on other databases

Source§

impl Client

Source

pub fn tv_episode_images( &self, id: u64, season: u32, episode: u32, ) -> TvEpisodeImagesRequest

an episode’s images

Source§

impl Client

Source

pub fn tv_episode_translations( &self, id: u64, season: u32, episode: u32, ) -> TvEpisodeTranslationsRequest

an episode’s translations

Source§

impl Client

Source

pub fn tv_episode_videos( &self, id: u64, season: u32, episode: u32, ) -> TvEpisodeVideosRequest

an episode’s videos

Source§

impl Client

Source

pub fn rate_tv_episode( &self, id: u64, season: u32, episode: u32, value: f64, ) -> RateTvEpisodeRequest

rate an episode; pass a session or guest session

Source§

impl Client

Source

pub fn unrate_tv_episode( &self, id: u64, season: u32, episode: u32, ) -> UnrateTvEpisodeRequest

delete an episode rating

Source§

impl Client

Source

pub fn tv_episode_group(&self, id: &str) -> TvEpisodeGroupRequest

an episode group

Source§

impl Client

Source

pub fn watch_provider_regions(&self) -> WatchProviderRegionsRequest

the regions watch provider data covers

Source§

impl Client

Source

pub fn movie_watch_provider_list(&self) -> MovieWatchProviderListRequest

the movie watch providers available in a region

Source§

impl Client

Source

pub fn tv_watch_provider_list(&self) -> TvWatchProviderListRequest

the series watch providers available in a region

Trait Implementations§

Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more