tmdb

package module
v1.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2024 License: MIT Imports: 10 Imported by: 29

README

build Coverage Status Go Report Card GoDoc GitHub tag (latest SemVer) GitHub license

This is a Golang wrapper for working with TMDb API.

An API Key is required. To register for one, head over to themoviedb.org.

This product uses the TMDb API but is not endorsed or certified by TMDb.

Requirements

  • Go 1.13.x or higher. We aim to support the latest supported versions of go.

Installation

go get -u github.com/cyruzin/golang-tmdb

Usage

To get started, import the tmdb package and initiate the client:

import "github.com/cyruzin/golang-tmdb"

tmdbClient, err := tmdb.Init(os.Getenv("YOUR_APIKEY"))
if err != nil {
    fmt.Println(err)
}

// Using v4
tmdbClient, err := tmdb.InitV4(os.Getenv("YOUR_BEARER_TOKEN"))
if err != nil {
    fmt.Println(err)
}

// OPTIONAL (Recommended): Enabling auto retry functionality.
// This option will retry if the previous request fail (429 TOO MANY REQUESTS).
tmdbClient.SetClientAutoRetry()

// OPTIONAL: Set an alternate base URL if you have problems with the default one.
// Use https://api.tmdb.org/3 instead of https://api.themoviedb.org/3.
tmdbClient.SetAlternateBaseURL()

// OPTIONAL: Setting a custom config for the http.Client.
// The default timeout is 10 seconds. Here you can set other
// options like Timeout and Transport.
customClient := http.Client{
    Timeout: time.Second * 5,
    Transport: &http.Transport{
        MaxIdleConns: 10,
        IdleConnTimeout: 15 * time.Second,
    },
}

tmdbClient.SetClientConfig(customClient)

// OPTIONAL: Enable this option if you're going to use endpoints
// that needs session id.
//
// You can read more about how this works:
// https://developers.themoviedb.org/3/authentication/how-do-i-generate-a-session-id
tmdbClient.SetSessionID(os.Getenv("YOUR_SESSION_ID"))

movie, err := tmdbClient.GetMovieDetails(297802, nil)
if err != nil {
 fmt.Println(err)
}

fmt.Println(movie.Title)

With optional params:

import "github.com/cyruzin/golang-tmdb"

tmdbClient, err := tmdb.Init(os.Getenv("YOUR_APIKEY"))
if err != nil {
    fmt.Println(err)
}

// Using v4
tmdbClient, err := tmdb.InitV4(os.Getenv("YOUR_BEARER_TOKEN"))
if err != nil {
    fmt.Println(err)
}

options := map[string]string{
  "language": "pt-BR",
  "append_to_response": "credits,images",
}

movie, err := tmdbClient.GetMovieDetails(297802, options)
if err != nil {
 fmt.Println(err)
}

fmt.Println(movie.Title)

Helpers:

Generate image and video URLs:

import "github.com/cyruzin/golang-tmdb"

tmdbClient, err := tmdb.Init(os.Getenv("YOUR_APIKEY"))
if err != nil {
    fmt.Println(err)
}

options := map[string]string{
 "append_to_response": "videos",
}

movie, err := tmdbClient.GetMovieDetails(297802, options)
if err != nil {
 fmt.Println(err)
}

fmt.Println(tmdb.GetImageURL(movie.BackdropPath, tmdb.W500))
// Output: https://image.tmdb.org/t/p/w500/bOGkgRGdhrBYJSLpXaxhXVstddV.jpg
fmt.Println(tmdb.GetImageURL(movie.PosterPath, tmdb.Original))
// Ouput: https://image.tmdb.org/t/p/original/bOGkgRGdhrBYJSLpXaxhXVstddV.jpg

for _, video := range movie.MovieVideosAppend.Videos.MovieVideos.Results {
   if video.Key != "" {
	 fmt.Println(tmdb.GetVideoURL(video.Key))
     // Output: https://www.youtube.com/watch?v=6ZfuNTqbHE8
   }
}

For more examples, click here.

Performance

Getting Movie Details:

Iterations ns/op B/op allocs/op
19 60886648 60632 184

Multi Search:

Iterations ns/op B/op allocs/op
16 66596963 107109 608

Contributing

To start contributing, please check CONTRIBUTING.

Tests

For local testing, just run:

 go test -v 

License

MIT

Documentation

Overview

Package tmdb is a wrapper for working with TMDb API.

Index

Constants

View Source
const (
	// W45 size
	W45 = "w45"
	// W92 size
	W92 = "w92"
	// W154 size
	W154 = "w154"
	// W185 size
	W185 = "w185"
	// W300 size
	W300 = "w300"
	// W342 size
	W342 = "w342"
	// W500 size
	W500 = "w500"
	// W780 size
	W780 = "w780"
	// W1280 size
	W1280 = "w1280"
	// H632 size
	H632 = "h632"
	// Original size
	Original = "original"
)

Variables

This section is empty.

Functions

func GetImageURL added in v1.3.0

func GetImageURL(key string, size string) string

GetImageURL accepts two parameters, the key and the size and returns the complete URL of the image.

Available sizes:

w45 - logo/profile w92 - logo/poster/still w154 - logo/poster w185 - logo/poster/profile/still w300 - backdrop/logo/still w342 - poster w500 - logo/poster w780 - backdrop/poster w1280 - backdrop h632 - profile original - backdrop/logo/poster/profile/still

https://developers.themoviedb.org/3/configuration/get-api-configuration

func GetVideoURL added in v1.3.0

func GetVideoURL(key string) string

GetVideoURL accepts one parameter, the key and returns the complete URL of the video.

Types

type AccessToken

type AccessToken struct {
	AccessToken string `json:"access_token"`
}

AccessToken type is a struct for access token JSON request.

type AccountCreatedLists added in v1.2.0

type AccountCreatedLists struct {
	Page int64 `json:"page"`
	*AccountCreatedListsResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

AccountCreatedLists type is a struct for created lists JSON response.

type AccountCreatedListsResults added in v1.3.5

type AccountCreatedListsResults struct {
	Results []struct {
		Description   string `json:"description"`
		FavoriteCount int64  `json:"favorite_count"`
		ID            int64  `json:"id"`
		ItemCount     int64  `json:"item_count"`
		Iso639_1      string `json:"iso_639_1"`
		ListType      string `json:"list_type"`
		Name          string `json:"name"`
		PosterPath    string `json:"poster_path"`
	} `json:"results"`
}

AccountCreatedListsResults Result Types

type AccountDetails

type AccountDetails struct {
	Avatar struct {
		Gravatar struct {
			Hash string `json:"hash"`
		} `json:"gravatar"`
		TMDB struct {
			AvatarPath string `json:"avatar_path"`
		} `json:"tmdb"`
	} `json:"avatar"`
	ID           int64  `json:"id"`
	Iso639_1     string `json:"iso_639_1"`
	Iso3166_1    string `json:"iso_3166_1"`
	Name         string `json:"name"`
	IncludeAdult bool   `json:"include_adult"`
	Username     string `json:"username"`
}

AccountDetails type is a struct for details JSON response.

type AccountFavorite added in v1.2.0

type AccountFavorite struct {
	MediaType string `json:"media_type"`
	MediaID   int64  `json:"media_id"`
	Favorite  bool   `json:"favorite"`
}

AccountFavorite type is a struct for movies or TV shows favorite JSON request.

type AccountFavoriteMovies added in v1.2.0

type AccountFavoriteMovies struct {
	Page int64 `json:"page"`
	*AccountFavoriteMoviesResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

AccountFavoriteMovies type is a struct for favorite movies JSON response.

type AccountFavoriteMoviesResults added in v1.3.5

type AccountFavoriteMoviesResults struct {
	Results []struct {
		Adult            bool    `json:"adult"`
		BackdropPath     string  `json:"backdrop_path"`
		GenreIDs         []int   `json:"genre_ids"`
		ID               int64   `json:"id"`
		OriginalLanguage string  `json:"original_language"`
		OriginalTitle    string  `json:"original_title"`
		Overview         string  `json:"overview"`
		ReleaseDate      string  `json:"release_date"`
		PosterPath       string  `json:"poster_path"`
		Popularity       float64 `json:"popularity"`
		Title            string  `json:"title"`
		Video            bool    `json:"video"`
		VoteAverage      float64 `json:"vote_average"`
		VoteCount        int64   `json:"vote_count"`
	} `json:"results"`
}

AccountFavoriteMoviesResults Result Types

type AccountFavoriteTVShows added in v1.2.0

type AccountFavoriteTVShows struct {
	Page int64 `json:"page"`
	*AccountFavoriteTVShowsResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

AccountFavoriteTVShows type is a struct for favorite tv shows JSON response.

type AccountFavoriteTVShowsResults added in v1.3.5

type AccountFavoriteTVShowsResults struct {
	Results []struct {
		BackdropPath     string   `json:"backdrop_path"`
		FirstAirDate     string   `json:"first_air_date"`
		GenreIDs         []int64  `json:"genre_ids"`
		ID               int64    `json:"id"`
		OriginalLanguage string   `json:"original_language"`
		OriginalName     string   `json:"original_name"`
		Overview         string   `json:"overview"`
		OriginCountry    []string `json:"origin_country"`
		PosterPath       string   `json:"poster_path"`
		Popularity       float64  `json:"popularity"`
		Name             string   `json:"name"`
		VoteAverage      float64  `json:"vote_average"`
		VoteCount        int64    `json:"vote_count"`
	} `json:"results"`
}

AccountFavoriteTVShowsResults Result Types

type AccountMovieWatchlist added in v1.2.0

type AccountMovieWatchlist struct {
	*AccountFavoriteMovies
}

AccountMovieWatchlist type is a struct for movie watchlist JSON response.

type AccountRatedMovies added in v1.2.0

type AccountRatedMovies struct {
	*AccountFavoriteMovies
}

AccountRatedMovies type is a struct for rated movies JSON response.

type AccountRatedTVEpisodes added in v1.2.0

type AccountRatedTVEpisodes struct {
	Page int64 `json:"page"`
	*AccountRatedTVEpisodesResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

AccountRatedTVEpisodes type is a struct for rated TV episodes JSON response.

type AccountRatedTVEpisodesResults added in v1.3.5

type AccountRatedTVEpisodesResults struct {
	Results []struct {
		AirDate        string  `json:"air_date"`
		EpisodeNumber  int     `json:"episode_number"`
		ID             int64   `json:"id"`
		Name           string  `json:"name"`
		Overview       string  `json:"overview"`
		ProductionCode string  `json:"production_code"`
		SeasonNumber   int     `json:"season_number"`
		ShowID         int64   `json:"show_id"`
		StillPath      string  `json:"still_path"`
		VoteAverage    float64 `json:"vote_average"`
		VoteCount      int64   `json:"vote_count"`
		Rating         float32 `json:"rating"`
	} `json:"results"`
}

AccountRatedTVEpisodesResults Result Types

type AccountRatedTVShows added in v1.2.0

type AccountRatedTVShows struct {
	*AccountFavoriteTVShows
}

AccountRatedTVShows type is a struct for rated TV shows JSON response.

type AccountTVShowsWatchlist added in v1.2.0

type AccountTVShowsWatchlist struct {
	*AccountFavoriteTVShows
}

AccountTVShowsWatchlist type is a struct for tv shows watchlist JSON response.

type AccountWatchlist added in v1.2.0

type AccountWatchlist struct {
	MediaType string `json:"media_type"`
	MediaID   int64  `json:"media_id"`
	Watchlist bool   `json:"watchlist"`
}

AccountWatchlist type is a struct for movies or TV shows watchlist JSON request.

type Certification

type Certification struct {
	Certification string `json:"certification"`
	Meaning       string `json:"meaning"`
	Order         int    `json:"order"`
}

Certification type is a struct for a single certification JSON response.

type CertificationMovie

type CertificationMovie struct {
	Certifications struct {
		AU []struct {
			*Certification
		} `json:"AU"`
		BG []struct {
			*Certification
		} `json:"BG"`
		BR []struct {
			*Certification
		} `json:"BR"`
		CA []struct {
			*Certification
		} `json:"CA"`
		CA_QC []struct {
			*Certification
		} `json:"CA-QC"`
		DE []struct {
			*Certification
		} `json:"DE"`
		DK []struct {
			*Certification
		} `json:"DK"`
		ES []struct {
			*Certification
		} `json:"ES"`
		FI []struct {
			*Certification
		} `json:"FI"`
		FR []struct {
			*Certification
		} `json:"FR"`
		GB []struct {
			*Certification
		} `json:"GB"`
		HU []struct {
			*Certification
		} `json:"HU"`
		IN []struct {
			*Certification
		} `json:"IN"`
		IT []struct {
			*Certification
		} `json:"IT"`
		LT []struct {
			*Certification
		} `json:"LT"`
		MY []struct {
			*Certification
		} `json:"MY"`
		NL []struct {
			*Certification
		} `json:"NL"`
		NO []struct {
			*Certification
		} `json:"NO"`
		NZ []struct {
			*Certification
		} `json:"NZ"`
		PH []struct {
			*Certification
		} `json:"PH"`
		PT []struct {
			*Certification
		} `json:"PT"`
		RU []struct {
			*Certification
		} `json:"RU"`
		SE []struct {
			*Certification
		} `json:"SE"`
		US []struct {
			*Certification
		} `json:"US"`
	} `json:"certifications"`
}

CertificationMovie type is a struct for movie certifications JSON response.

type CertificationTV

type CertificationTV struct {
	Certifications struct {
		AU []struct {
			*Certification
		} `json:"AU"`
		BR []struct {
			*Certification
		} `json:"BR"`
		CA []struct {
			*Certification
		} `json:"CA"`
		CA_QC []struct {
			*Certification
		} `json:"CA-QC"`
		DE []struct {
			*Certification
		} `json:"DE"`
		ES []struct {
			*Certification
		} `json:"ES"`
		FR []struct {
			*Certification
		} `json:"FR"`
		GB []struct {
			*Certification
		} `json:"GB"`
		HU []struct {
			*Certification
		} `json:"HU"`
		KR []struct {
			*Certification
		} `json:"KR"`
		LT []struct {
			*Certification
		} `json:"LT"`
		NL []struct {
			*Certification
		} `json:"NL"`
		PH []struct {
			*Certification
		} `json:"PH"`
		PT []struct {
			*Certification
		} `json:"PT"`
		RU []struct {
			*Certification
		} `json:"RU"`
		SK []struct {
			*Certification
		} `json:"SK"`
		TH []struct {
			*Certification
		} `json:"TH"`
		US []struct {
			*Certification
		} `json:"US"`
	} `json:"certifications"`
}

CertificationTV type is a struct for tv certifications JSON response.

type ChangesMovie

type ChangesMovie struct {
	*ChangesMovieResults
	Page         int64 `json:"page"`
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

ChangesMovie type is a struct for movie changes JSON response.

type ChangesMovieResults added in v1.3.5

type ChangesMovieResults struct {
	Results []struct {
		ID    int64 `json:"id"`
		Adult bool  `json:"adult"`
	} `json:"results"`
}

ChangesMovieResults Result Types

type ChangesPerson

type ChangesPerson struct {
	*ChangesMovie
}

ChangesPerson type is a struct for person changes JSON response.

type ChangesTV

type ChangesTV struct {
	*ChangesMovie
}

ChangesTV type is a struct for tv changes JSON response.

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client type is a struct to instantiate this pkg.

func Init

func Init(apiKey string) (*Client, error)

Init setups the Client with an apiKey.

func InitV4 added in v1.6.0

func InitV4(bearerToken string) (*Client, error)

InitV4 setups the Client with an bearer token.

func (*Client) AddMovie added in v1.2.0

func (c *Client) AddMovie(
	listID int,
	mediaID *ListMedia,
) (*Response, error)

AddMovie add a movie to a list.

https://developers.themoviedb.org/3/lists/add-movie

func (*Client) AddToWatchlist added in v1.2.0

func (c *Client) AddToWatchlist(
	id int,
	title *AccountWatchlist,
) (*Response, error)

AddToWatchlist add a movie or TV show to your watchlist.

https://developers.themoviedb.org/3/account/add-to-watchlist

func (*Client) ClearList added in v1.2.0

func (c *Client) ClearList(
	listID int,
	confirm bool,
) (*Response, error)

ClearList clear all of the items from a list.

https://developers.themoviedb.org/3/lists/clear-list

func (*Client) CreateGuestSession

func (c *Client) CreateGuestSession() (*RequestToken, error)

CreateGuestSession creates a temporary request token that can be used to validate a TMDb user login.

https://developers.themoviedb.org/3/authentication/create-guest-session

func (*Client) CreateList added in v1.2.0

func (c *Client) CreateList(
	list *ListCreate,
) (*ListResponse, error)

CreateList creates a list.

https://developers.themoviedb.org/3/lists/create-list

func (*Client) CreateRequestToken

func (c *Client) CreateRequestToken() (*RequestToken, error)

CreateRequestToken creates a temporary request token that can be used to validate a TMDb user login.

https://developers.themoviedb.org/3/authentication/create-request-token

func (*Client) DeleteList added in v1.2.0

func (c *Client) DeleteList(
	listID int,
) (*Response, error)

DeleteList deletes a list.

https://developers.themoviedb.org/3/lists/delete-list

func (*Client) DeleteMovieRating added in v1.1.3

func (c *Client) DeleteMovieRating(
	id int,
	urlOptions map[string]string,
) (*Response, error)

DeleteMovieRating remove your rating for a movie.

A valid session or guest session ID is required.

You can read more about how this works: https://developers.themoviedb.org/3/authentication/how-do-i-generate-a-session-id

https://developers.themoviedb.org/3/movies/delete-movie-rating

func (*Client) DeleteTVShowRating added in v1.2.0

func (c *Client) DeleteTVShowRating(
	id int,
	urlOptions map[string]string,
) (*Response, error)

DeleteTVShowRating remove your rating for a TV show.

A valid session or guest session ID is required.

You can read more about how this works: https://developers.themoviedb.org/3/authentication/how-do-i-generate-a-session-id

https://developers.themoviedb.org/3/tv/delete-tv-show-rating

func (*Client) GetAccountDetails added in v1.2.0

func (c *Client) GetAccountDetails() (*AccountDetails, error)

GetAccountDetails get your account details.

https://developers.themoviedb.org/3/account/get-account-details

func (*Client) GetAvailableWatchProviderRegions added in v1.3.4

func (c *Client) GetAvailableWatchProviderRegions(
	urlOptions map[string]string,
) (*WatchRegionList, error)

GetAvailableWatchProviderRegions get a list of all of the countries we have watch provider (OTT/streaming) data for.

https://developers.themoviedb.org/3/watch-providers/get-available-regions

func (*Client) GetCertificationMovie

func (c *Client) GetCertificationMovie() (
	*CertificationMovie,
	error,
)

GetCertificationMovie get an up to date list of the officially supported movie certifications on TMDb.

https://developers.themoviedb.org/3/certifications/get-movie-certifications

func (*Client) GetCertificationTV

func (c *Client) GetCertificationTV() (
	*CertificationTV,
	error,
)

GetCertificationTV get an up to date list of the officially supported TV show certifications on TMDb.

https://developers.themoviedb.org/3/certifications/get-tv-certifications

func (*Client) GetChangesMovie

func (c *Client) GetChangesMovie(
	urlOptions map[string]string,
) (*ChangesMovie, error)

GetChangesMovie get a list of all of the movie ids that have been changed in the past 24 hours.

You can query it for up to 14 days worth of changed IDs at a time with the start_date and end_date query parameters. 100 items are returned per page.

https://developers.themoviedb.org/3/changes/get-movie-change-list

func (*Client) GetChangesPerson

func (c *Client) GetChangesPerson(
	urlOptions map[string]string,
) (*ChangesPerson, error)

GetChangesPerson get a list of all of the person ids that have been changed in the past 24 hours.

You can query it for up to 14 days worth of changed IDs at a time with the start_date and end_date query parameters. 100 items are returned per page.

https://developers.themoviedb.org/3/changes/get-person-change-list

func (*Client) GetChangesTV

func (c *Client) GetChangesTV(
	urlOptions map[string]string,
) (*ChangesTV, error)

GetChangesTV get a list of all of the TV show ids that have been changed in the past 24 hours.

You can query it for up to 14 days worth of changed IDs at a time with the start_date and end_date query parameters. 100 items are returned per page.

https://developers.themoviedb.org/3/changes/get-tv-change-list

func (*Client) GetCollectionDetails

func (c *Client) GetCollectionDetails(
	id int,
	urlOptions map[string]string,
) (*CollectionDetails, error)

GetCollectionDetails get collection details by id.

https://developers.themoviedb.org/3/collections/get-collection-details

func (*Client) GetCollectionImages

func (c *Client) GetCollectionImages(
	id int,
	urlOptions map[string]string,
) (*CollectionImages, error)

GetCollectionImages get the images for a collection by id.

https://developers.themoviedb.org/3/collections/get-collection-images

func (*Client) GetCollectionTranslations

func (c *Client) GetCollectionTranslations(
	id int,
	urlOptions map[string]string,
) (*CollectionTranslations, error)

GetCollectionTranslations get the list translations for a collection by id.

https://developers.themoviedb.org/3/collections/get-collection-translations

func (*Client) GetCompanyAlternativeNames

func (c *Client) GetCompanyAlternativeNames(
	id int,
) (*CompanyAlternativeNames, error)

GetCompanyAlternativeNames get the alternative names of a company.

https://developers.themoviedb.org/3/companies/get-company-alternative-names

func (*Client) GetCompanyDetails

func (c *Client) GetCompanyDetails(
	id int,
) (*CompanyDetails, error)

GetCompanyDetails get a companies details by id.

https://developers.themoviedb.org/3/companies/get-company-details

func (*Client) GetCompanyImages

func (c *Client) GetCompanyImages(
	id int,
) (*CompanyImages, error)

GetCompanyImages get a companies logos by id.

There are two image formats that are supported for companies, PNG's and SVG's. You can see which type the original file is by looking at the file_type field. We prefer SVG's as they are resolution independent and as such, the width and height are only there to reflect the original asset that was uploaded. An SVG can be scaled properly beyond those dimensions if you call them as a PNG.

https://developers.themoviedb.org/3/companies/get-company-images

func (*Client) GetConfigurationAPI

func (c *Client) GetConfigurationAPI() (*ConfigurationAPI, error)

GetConfigurationAPI get the system wide configuration information.

Some elements of the API require some knowledge of this configuration data. The purpose of this is to try and keep the actual API responses as light as possible. It is recommended you cache this data within your application and check for updates every few days.

This method currently holds the data relevant to building image URLs as well as the change key map.

To build an image URL, you will need 3 pieces of data. The base_url, size and file_path. Simply combine them all and you will have a fully qualified URL. Here’s an example URL:

https://image.tmdb.org/t/p/w500/8uO0gUM8aNqYLs1OsTBQiXu0fEv.jpg

The configuration method also contains the list of change keys which can be useful if you are building an app that consumes data from the change feed.

https://developers.themoviedb.org/3/configuration/get-api-configuration

func (*Client) GetConfigurationCountries

func (c *Client) GetConfigurationCountries() (
	*ConfigurationCountries,
	error,
)

GetConfigurationCountries get the list of countries (ISO 3166-1 tags) used throughout TMDb.

https://developers.themoviedb.org/3/configuration/get-countries

func (*Client) GetConfigurationJobs

func (c *Client) GetConfigurationJobs() (*ConfigurationJobs, error)

GetConfigurationJobs get a list of the jobs and departments we use on TMDb.

https://developers.themoviedb.org/3/configuration/get-jobs

func (*Client) GetConfigurationLanguages

func (c *Client) GetConfigurationLanguages() (
	*ConfigurationLanguages,
	error,
)

GetConfigurationLanguages get the list of languages (ISO 639-1 tags) used throughout TMDb.

https://developers.themoviedb.org/3/configuration/get-languages

func (*Client) GetConfigurationPrimaryTranslations

func (c *Client) GetConfigurationPrimaryTranslations() (
	*ConfigurationPrimaryTranslations,
	error,
)

GetConfigurationPrimaryTranslations get a list of the officially supported translations on TMDb.

While it's technically possible to add a translation in any one of the languages we have added to TMDb (we don't restrict content), the ones listed in this method are the ones we also support for localizing the website with which means they are what we refer to as the "primary" translations.

These are all specified as IETF tags to identify the languages we use on TMDb. There is one exception which is image languages. They are currently only designated by a ISO-639-1 tag. This is a planned upgrade for the future.

We're always open to adding more if you think one should be added. You can ask about getting a new primary translation added by posting on the forums.

One more thing to mention, these are the translations that map to our website translation project.

https://developers.themoviedb.org/3/configuration/get-primary-translations

func (*Client) GetConfigurationTimezones

func (c *Client) GetConfigurationTimezones() (
	*ConfigurationTimezones,
	error,
)

GetConfigurationTimezones get the list of timezones used throughout TMDb.

https://developers.themoviedb.org/3/configuration/get-timezones

func (*Client) GetCreatedLists added in v1.2.0

func (c *Client) GetCreatedLists(
	id int,
	urlOptions map[string]string,
) (*AccountCreatedLists, error)

GetCreatedLists get all of the lists created by an account. Will invlude private lists if you are the owner.

https://developers.themoviedb.org/3/account/get-created-lists

func (*Client) GetCreditDetails

func (c *Client) GetCreditDetails(
	id string,
) (*CreditsDetails, error)

GetCreditDetails get a movie or TV credit details by id.

https://developers.themoviedb.org/3/credits/get-credit-details

func (*Client) GetDiscoverMovie

func (c *Client) GetDiscoverMovie(
	urlOptions map[string]string,
) (*DiscoverMovie, error)

GetDiscoverMovie discover movies by different types of data like average rating, number of votes, genres and certifications. You can get a valid list of certifications from the method.

Discover also supports a nice list of sort options. See below for all of the available options.

Please note, when using certification \ certification.lte you must also specify certification_country. These two parameters work together in order to filter the results. You can only filter results with the countries we have added to our certifications list.

If you specify the region parameter, the regional release date will be used instead of the primary release date. The date returned will be the first date based on your query (ie. if a with_release_type is specified). It's important to note the order of the release types that are used. Specifying "2|3" would return the limited theatrical release date as opposed to "3|2" which would return the theatrical date.

Also note that a number of filters support being comma (,) or pipe (|) separated. Comma's are treated like an AND and query while pipe's are an OR.

https://developers.themoviedb.org/3/discover/movie-discover

func (*Client) GetDiscoverTV

func (c *Client) GetDiscoverTV(
	urlOptions map[string]string,
) (*DiscoverTV, error)

GetDiscoverTV Discover TV shows by different types of data like average rating, number of votes, genres, the network they aired on and air dates.

Discover also supports a nice list of sort options. See below for all of the available options.

Also note that a number of filters support being comma (,) or pipe (|) separated. Comma's are treated like an AND and query while pipe's are an OR.

https://developers.themoviedb.org/3/discover/tv-discover

func (*Client) GetFavoriteMovies added in v1.2.0

func (c *Client) GetFavoriteMovies(
	id int,
	urlOptions map[string]string,
) (*AccountFavoriteMovies, error)

GetFavoriteMovies get the list of your favorite movies.

https://developers.themoviedb.org/3/account/get-favorite-movies

func (*Client) GetFavoriteTVShows added in v1.2.0

func (c *Client) GetFavoriteTVShows(
	id int,
	urlOptions map[string]string,
) (*AccountFavoriteTVShows, error)

GetFavoriteTVShows get the list of your favorite TV shows.

https://developers.themoviedb.org/3/account/get-favorite-tv-shows

func (*Client) GetFindByID

func (c *Client) GetFindByID(
	id string,
	urlOptions map[string]string,
) (*FindByID, error)

GetFindByID the find method makes it easy to search for objects in our database by an external id. For example, an IMDB ID.

This method will search all objects (movies, TV shows and people) and return the results in a single response.

https://developers.themoviedb.org/3/find/find-by-id

func (*Client) GetGenreMovieList

func (c *Client) GetGenreMovieList(
	urlOptions map[string]string,
) (*GenreMovieList, error)

GetGenreMovieList get the list of official genres for movies.

https://developers.themoviedb.org/3/genres/get-movie-list

func (*Client) GetGenreTVList

func (c *Client) GetGenreTVList(
	urlOptions map[string]string,
) (*GenreMovieList, error)

GetGenreTVList get the list of official genres for TV shows.

https://developers.themoviedb.org/3/genres/get-tv-list

func (*Client) GetGuestSessionRatedMovies

func (c *Client) GetGuestSessionRatedMovies(
	id string,
	urlOptions map[string]string,
) (*GuestSessionRatedMovies, error)

GetGuestSessionRatedMovies get the rated movies for a guest session.

https://developers.themoviedb.org/3/guest-sessions/get-guest-session-rated-movies

func (*Client) GetGuestSessionRatedTVEpisodes

func (c *Client) GetGuestSessionRatedTVEpisodes(
	id string,
	urlOptions map[string]string,
) (*GuestSessionRatedTVEpisodes, error)

GetGuestSessionRatedTVEpisodes get the rated TV episodes for a guest session.

https://developers.themoviedb.org/3/guest-sessions/get-gest-session-rated-tv-episodes

func (*Client) GetGuestSessionRatedTVShows

func (c *Client) GetGuestSessionRatedTVShows(
	id string,
	urlOptions map[string]string,
) (*GuestSessionRatedTVShows, error)

GetGuestSessionRatedTVShows get the rated TV shows for a guest session.

https://developers.themoviedb.org/3/guest-sessions/get-guest-session-rated-tv-shows

func (*Client) GetKeywordDetails

func (c *Client) GetKeywordDetails(
	id int,
) (*KeywordDetails, error)

GetKeywordDetails get keyword details by id.

https://developers.themoviedb.org/3/keywords/get-keyword-details

func (*Client) GetKeywordMovies

func (c *Client) GetKeywordMovies(
	id int,
	urlOptions map[string]string,
) (*KeywordMovies, error)

GetKeywordMovies get the movies that belong to a keyword.

We highly recommend using movie discover instead of this method as it is much more flexible.

https://developers.themoviedb.org/3/keywords/get-movies-by-keyword

func (*Client) GetListDetails

func (c *Client) GetListDetails(
	id int64,
	urlOptions map[string]string,
) (*ListDetails, error)

GetListDetails get the details of a list.

https://developers.themoviedb.org/3/lists/get-list-details

func (*Client) GetListItemStatus

func (c *Client) GetListItemStatus(
	id int64,
	urlOptions map[string]string,
) (*ListItemStatus, error)

GetListItemStatus check if a movie has already been added to the list.

https://developers.themoviedb.org/3/lists/check-item-status

func (*Client) GetMovieAccountStates

func (c *Client) GetMovieAccountStates(
	id int,
	urlOptions map[string]string,
) (*MovieAccountStates, error)

GetMovieAccountStates grab the following account states for a session:

Movie rating.

If it belongs to your watchlist.

If it belongs to your favourite list.

https://developers.themoviedb.org/3/movies/get-movie-account-states

func (*Client) GetMovieAlternativeTitles

func (c *Client) GetMovieAlternativeTitles(
	id int,
	urlOptions map[string]string,
) (*MovieAlternativeTitles, error)

GetMovieAlternativeTitles get all of the alternative titles for a movie.

https://developers.themoviedb.org/3/movies/get-movie-alternative-titles

func (*Client) GetMovieChanges

func (c *Client) GetMovieChanges(
	id int,
	urlOptions map[string]string,
) (*MovieChanges, error)

GetMovieChanges get the changes for a movie.

By default only the last 24 hours are returned. You can query up to 14 days in a single query by using the start_date and end_date query parameters.

https://developers.themoviedb.org/3/movies/get-movie-changes

func (*Client) GetMovieCredits

func (c *Client) GetMovieCredits(
	id int,
	urlOptions map[string]string,
) (*MovieCredits, error)

GetMovieCredits get the cast and crew for a movie.

https://developers.themoviedb.org/3/movies/get-movie-credits

func (*Client) GetMovieDetails

func (c *Client) GetMovieDetails(
	id int,
	urlOptions map[string]string,
) (*MovieDetails, error)

GetMovieDetails get the primary information about a movie.

https://developers.themoviedb.org/3/movies

func (*Client) GetMovieExternalIDs

func (c *Client) GetMovieExternalIDs(
	id int,
	urlOptions map[string]string,
) (*MovieExternalIDs, error)

GetMovieExternalIDs get the external ids for a movie.

We currently support the following external sources.

Media Databases: IMDb ID.

Social IDs: Facebook, Instagram and Twitter.

https://developers.themoviedb.org/3/movies/get-movie-external-ids

func (*Client) GetMovieImages

func (c *Client) GetMovieImages(
	id int,
	urlOptions map[string]string,
) (*MovieImages, error)

GetMovieImages get the images that belong to a movie.

Querying images with a language parameter will filter the results. If you want to include a fallback language (especially useful for backdrops) you can use the include_image_language parameter. This should be a comma separated value like so: include_image_language=en,null.

https://developers.themoviedb.org/3/movies/get-movie-images

func (*Client) GetMovieKeywords

func (c *Client) GetMovieKeywords(id int) (*MovieKeywords, error)

GetMovieKeywords get the keywords that have been added to a movie.

https://developers.themoviedb.org/3/movies/get-movie-keywords

func (*Client) GetMovieLatest

func (c *Client) GetMovieLatest(
	urlOptions map[string]string,
) (*MovieLatest, error)

GetMovieLatest get the most newly created movie.

This is a live response and will continuously change.

https://developers.themoviedb.org/3/movies/get-latest-movie

func (*Client) GetMovieLists

func (c *Client) GetMovieLists(
	id int,
	urlOptions map[string]string,
) (*MovieLists, error)

GetMovieLists get a list of lists that this movie belongs to.

https://developers.themoviedb.org/3/movies/get-movie-lists

func (*Client) GetMovieNowPlaying

func (c *Client) GetMovieNowPlaying(
	urlOptions map[string]string,
) (*MovieNowPlaying, error)

GetMovieNowPlaying get a list of movies in theatres.

This is a release type query that looks for all movies that have a release type of 2 or 3 within the specified date range.

You can optionally specify a region prameter which will narrow the search to only look for theatrical release dates within the specified country.

https://developers.themoviedb.org/3/movies/get-now-playing

func (*Client) GetMoviePopular

func (c *Client) GetMoviePopular(
	urlOptions map[string]string,
) (*MoviePopular, error)

GetMoviePopular get a list of the current popular movies on TMDb.

This list updates daily.

https://developers.themoviedb.org/3/movies/get-popular-movies

func (*Client) GetMovieRecommendations

func (c *Client) GetMovieRecommendations(
	id int,
	urlOptions map[string]string,
) (*MovieRecommendations, error)

GetMovieRecommendations get a list of recommended movies for a movie.

https://developers.themoviedb.org/3/movies/get-movie-recommendations

func (*Client) GetMovieReleaseDates

func (c *Client) GetMovieReleaseDates(
	id int,
) (*MovieReleaseDates, error)

GetMovieReleaseDates get the release date along with the certification for a movie.

https://developers.themoviedb.org/3/movies/get-movie-release-dates

func (*Client) GetMovieReviews

func (c *Client) GetMovieReviews(
	id int,
	urlOptions map[string]string,
) (*MovieReviews, error)

GetMovieReviews get the user reviews for a movie.

https://developers.themoviedb.org/3/movies/get-movie-reviews

func (*Client) GetMovieSimilar

func (c *Client) GetMovieSimilar(
	id int,
	urlOptions map[string]string,
) (*MovieSimilar, error)

GetMovieSimilar get a list of similar movies.

This is not the same as the "Recommendation" system you see on the website. These items are assembled by looking at keywords and genres.

https://developers.themoviedb.org/3/movies/get-similar-movies

func (*Client) GetMovieTopRated

func (c *Client) GetMovieTopRated(
	urlOptions map[string]string,
) (*MovieTopRated, error)

GetMovieTopRated get the top rated movies on TMDb.

https://developers.themoviedb.org/3/movies/get-top-rated-movies

func (*Client) GetMovieTranslations

func (c *Client) GetMovieTranslations(
	id int,
	urlOptions map[string]string,
) (*MovieTranslations, error)

GetMovieTranslations get a list of translations that have been created for a movie.

https://developers.themoviedb.org/3/movies/get-movie-translations

func (*Client) GetMovieUpcoming

func (c *Client) GetMovieUpcoming(
	urlOptions map[string]string,
) (*MovieUpcoming, error)

GetMovieUpcoming get a list of upcoming movies in theatres.

This is a release type query that looks for all movies that have a release type of 2 or 3 within the specified date range.

You can optionally specify a region prameter which will narrow the search to only look for theatrical release dates within the specified country.

https://developers.themoviedb.org/3/movies/get-upcoming

func (*Client) GetMovieVideos

func (c *Client) GetMovieVideos(
	id int,
	urlOptions map[string]string,
) (*MovieVideos, error)

GetMovieVideos get the videos that have been added to a movie.

https://developers.themoviedb.org/3/movies/get-movie-videos

func (*Client) GetMovieWatchProviders added in v1.3.2

func (c *Client) GetMovieWatchProviders(
	id int,
	urlOptions map[string]string,
) (*MovieWatchProviders, error)

GetMovieWatchProviders get a list of the availabilities per country by provider for a movie.

https://developers.themoviedb.org/3/movies/get-movie-watch-providers

func (*Client) GetMovieWatchlist added in v1.2.0

func (c *Client) GetMovieWatchlist(
	id int,
	urlOptions map[string]string,
) (*AccountMovieWatchlist, error)

GetMovieWatchlist get a list of all the movies you have added to your watchlist.

https://developers.themoviedb.org/3/account/get-movie-watchlist

func (*Client) GetNetworkAlternativeNames

func (c *Client) GetNetworkAlternativeNames(
	id int,
) (*NetworkAlternativeNames, error)

GetNetworkAlternativeNames get the alternative names of a network.

https://developers.themoviedb.org/3/networks/get-network-alternative-names

func (*Client) GetNetworkDetails

func (c *Client) GetNetworkDetails(
	id int,
) (*NetworkDetails, error)

GetNetworkDetails get the details of a network.

https://developers.themoviedb.org/3/networks/get-network-details

func (*Client) GetNetworkImages

func (c *Client) GetNetworkImages(
	id int,
) (*NetworkImages, error)

GetNetworkImages get the TV network logos by id.

There are two image formats that are supported for networks, PNG's and SVG's. You can see which type the original file is by looking at the file_type field. We prefer SVG's as they are resolution independent and as such, the width and height are only there to reflect the original asset that was uploaded. An SVG can be scaled properly beyond those dimensions if you call them as a PNG.

https://developers.themoviedb.org/3/networks/get-network-images

func (*Client) GetPersonChanges

func (c *Client) GetPersonChanges(
	id int,
	urlOptions map[string]string,
) (*PersonChanges, error)

GetPersonChanges get the changes for a person. By default only the last 24 hours are returned.

You can query up to 14 days in a single query by using the start_date and end_date query parameters.

https://developers.themoviedb.org/3/people/get-person-changes

func (*Client) GetPersonCombinedCredits

func (c *Client) GetPersonCombinedCredits(
	id int,
	urlOptions map[string]string,
) (*PersonCombinedCredits, error)

GetPersonCombinedCredits get the movie and TV credits together in a single response.

https://developers.themoviedb.org/3/people/get-person-combined-credits

func (*Client) GetPersonDetails

func (c *Client) GetPersonDetails(
	id int,
	urlOptions map[string]string,
) (*PersonDetails, error)

GetPersonDetails get the primary person details by id.

Supports append_to_response.

https://developers.themoviedb.org/3/people/get-person-details

func (*Client) GetPersonExternalIDs

func (c *Client) GetPersonExternalIDs(
	id int,
	urlOptions map[string]string,
) (*PersonExternalIDs, error)

GetPersonExternalIDs get the external ids for a person. We currently support the following external sources.

External Sources: IMDb ID, Facebook, Freebase MID, Freebase ID, Instagram, TVRage ID, Twitter.

https://developers.themoviedb.org/3/people/get-person-external-ids

func (*Client) GetPersonImages

func (c *Client) GetPersonImages(
	id int,
) (*PersonImages, error)

GetPersonImages get the images for a person.

https://developers.themoviedb.org/3/people/get-person-images

func (*Client) GetPersonLatest

func (c *Client) GetPersonLatest(
	urlOptions map[string]string,
) (*PersonLatest, error)

GetPersonLatest get the most newly created person. This is a live response and will continuously change.

https://developers.themoviedb.org/3/people/get-latest-person

func (*Client) GetPersonMovieCredits

func (c *Client) GetPersonMovieCredits(
	id int,
	urlOptions map[string]string,
) (*PersonMovieCredits, error)

GetPersonMovieCredits get the movie credits for a person.

https://developers.themoviedb.org/3/people/get-person-movie-credits

func (*Client) GetPersonPopular

func (c *Client) GetPersonPopular(
	urlOptions map[string]string,
) (*PersonPopular, error)

GetPersonPopular get the list of popular people on TMDb. This list updates daily.

https://developers.themoviedb.org/3/people/get-popular-people

func (*Client) GetPersonTVCredits

func (c *Client) GetPersonTVCredits(
	id int,
	urlOptions map[string]string,
) (*PersonTVCredits, error)

GetPersonTVCredits get the TV show credits for a person.

https://developers.themoviedb.org/3/people/get-person-tv-credits

func (*Client) GetPersonTaggedImages

func (c *Client) GetPersonTaggedImages(
	id int,
	urlOptions map[string]string,
) (*PersonTaggedImages, error)

GetPersonTaggedImages get the images that this person has been tagged in.

https://developers.themoviedb.org/3/people/get-tagged-images

func (*Client) GetPersonTranslations

func (c *Client) GetPersonTranslations(
	id int,
	urlOptions map[string]string,
) (*PersonTranslations, error)

GetPersonTranslations get a list of translations that have been created for a person.

https://developers.themoviedb.org/3/people/get-person-translations

func (*Client) GetRatedMovies added in v1.2.0

func (c *Client) GetRatedMovies(
	id int,
	urlOptions map[string]string,
) (*AccountRatedMovies, error)

GetRatedMovies get a list of all the movies you have rated.

https://developers.themoviedb.org/3/account/get-rated-movies

func (*Client) GetRatedTVEpisodes added in v1.2.0

func (c *Client) GetRatedTVEpisodes(
	id int,
	urlOptions map[string]string,
) (*AccountRatedTVEpisodes, error)

GetRatedTVEpisodes get a list of all the TV episodes you have rated.

https://developers.themoviedb.org/3/account/get-rated-tv-episodes

func (*Client) GetRatedTVShows added in v1.2.0

func (c *Client) GetRatedTVShows(
	id int,
	urlOptions map[string]string,
) (*AccountRatedTVShows, error)

GetRatedTVShows get a list of all the TV shows you have rated.

https://developers.themoviedb.org/3/account/get-rated-tv-shows

func (*Client) GetReviewDetails

func (c *Client) GetReviewDetails(
	id string,
) (*ReviewDetails, error)

GetReviewDetails get review details by id.

https://developers.themoviedb.org/3/reviews/get-review-details

func (*Client) GetSearchCollections

func (c *Client) GetSearchCollections(
	query string,
	urlOptions map[string]string,
) (*SearchCollections, error)

GetSearchCollections search for collections.

https://developers.themoviedb.org/3/search/search-collections

func (*Client) GetSearchCompanies

func (c *Client) GetSearchCompanies(
	query string,
	urlOptions map[string]string,
) (*SearchCompanies, error)

GetSearchCompanies search for companies.

https://developers.themoviedb.org/3/search/search-companies

func (*Client) GetSearchKeywords

func (c *Client) GetSearchKeywords(
	query string,
	urlOptions map[string]string,
) (*SearchKeywords, error)

GetSearchKeywords search for keywords.

https://developers.themoviedb.org/3/search/search-keywords

func (*Client) GetSearchMovies

func (c *Client) GetSearchMovies(
	query string,
	urlOptions map[string]string,
) (*SearchMovies, error)

GetSearchMovies search for keywords.

https://developers.themoviedb.org/3/search/search-movies

func (*Client) GetSearchMulti

func (c *Client) GetSearchMulti(
	query string,
	urlOptions map[string]string,
) (*SearchMulti, error)

GetSearchMulti search multiple models in a single request. Multi search currently supports searching for movies, tv shows and people in a single request.

https://developers.themoviedb.org/3/search/multi-search

func (*Client) GetSearchPeople

func (c *Client) GetSearchPeople(
	query string,
	urlOptions map[string]string,
) (*SearchPeople, error)

GetSearchPeople search for people.

https://developers.themoviedb.org/3/search/search-people

func (*Client) GetSearchTVShow

func (c *Client) GetSearchTVShow(
	query string,
	urlOptions map[string]string,
) (*SearchTVShows, error)

GetSearchTVShow search for a TV Show.

https://developers.themoviedb.org/3/search/search-tv-shows

func (*Client) GetTVAccountStates

func (c *Client) GetTVAccountStates(
	id int,
	urlOptions map[string]string,
) (*TVAccountStates, error)

GetTVAccountStates grab the following account states for a session:

TV show rating.

If it belongs to your watchlist.

If it belongs to your favourite list.

https://developers.themoviedb.org/3/tv/get-tv-account-states

func (*Client) GetTVAggregateCredits added in v1.3.3

func (c *Client) GetTVAggregateCredits(
	id int,
	urlOptions map[string]string,
) (*TVAggregateCredits, error)

GetTVAggregateCredits get the aggregate credits (cast and crew) that have been added to a TV show.

https://developers.themoviedb.org/3/tv/get-tv-aggregate-credits

func (*Client) GetTVAiringToday

func (c *Client) GetTVAiringToday(
	urlOptions map[string]string,
) (*TVAiringToday, error)

GetTVAiringToday get a list of TV shows that are airing today. This query is purely day based as we do not currently support airing times.

You can specify a to offset the day calculation. Without a specified timezone, this query defaults to EST (Eastern Time UTC-05:00).

https://developers.themoviedb.org/3/tv/get-tv-airing-today

func (*Client) GetTVAlternativeTitles

func (c *Client) GetTVAlternativeTitles(
	id int,
	urlOptions map[string]string,
) (*TVAlternativeTitles, error)

GetTVAlternativeTitles get all of the alternative titles for a TV show.

https://developers.themoviedb.org/3/tv/get-tv-alternative-titles

func (*Client) GetTVChanges

func (c *Client) GetTVChanges(
	id int,
	urlOptions map[string]string,
) (*TVChanges, error)

GetTVChanges get the changes for a TV show.

By default only the last 24 hours are returned. You can query up to 14 days in a single query by using the start_date and end_date query parameters.

TV show changes are different than movie changes in that there are some edits on seasons and episodes that will create a change entry at the show level. These can be found under the season and episode keys. These keys will contain a series_id and episode_id. You can use the and methods to look these up individually.

https://developers.themoviedb.org/3/tv/get-tv-changes

func (*Client) GetTVContentRatings

func (c *Client) GetTVContentRatings(
	id int,
	urlOptions map[string]string,
) (*TVContentRatings, error)

GetTVContentRatings get the list of content ratings (certifications) that have been added to a TV show.

https://developers.themoviedb.org/3/tv/get-tv-content-ratings

func (*Client) GetTVCredits

func (c *Client) GetTVCredits(
	id int,
	urlOptions map[string]string,
) (*TVCredits, error)

GetTVCredits get the credits (cast and crew) that have been added to a TV show.

https://developers.themoviedb.org/3/tv/get-tv-credits

func (*Client) GetTVDetails

func (c *Client) GetTVDetails(
	id int,
	urlOptions map[string]string,
) (*TVDetails, error)

GetTVDetails get the primary TV show details by id.

Supports append_to_response.

https://developers.themoviedb.org/3/tv/get-tv-details

func (*Client) GetTVEpisodeChanges

func (c *Client) GetTVEpisodeChanges(
	id int,
	urlOptions map[string]string,
) (*TVEpisodeChanges, error)

GetTVEpisodeChanges get the changes for a TV episode. By default only the last 24 hours are returned.

You can query up to 14 days in a single query by using the start_date and end_date query parameters.

https://developers.themoviedb.org/3/tv-episodes/get-tv-episode-changes

func (*Client) GetTVEpisodeCredits

func (c *Client) GetTVEpisodeCredits(
	id int,
	seasonNumber int,
	episodeNumber int,
) (*TVEpisodeCredits, error)

GetTVEpisodeCredits get the credits (cast, crew and guest stars) for a TV episode.

https://developers.themoviedb.org/3/tv-episodes/get-tv-episode-credits

func (*Client) GetTVEpisodeDetails

func (c *Client) GetTVEpisodeDetails(
	id int,
	seasonNumber int,
	episodeNumber int,
	urlOptions map[string]string,
) (*TVEpisodeDetails, error)

GetTVEpisodeDetails get the TV episode details by id.

Supports append_to_response.

https://developers.themoviedb.org/3/tv-episodes/get-tv-episode-details

func (*Client) GetTVEpisodeExternalIDs

func (c *Client) GetTVEpisodeExternalIDs(
	id int,
	seasonNumber int,
	episodeNumber int,
) (*TVEpisodeExternalIDs, error)

GetTVEpisodeExternalIDs get the external ids for a TV episode. We currently support the following external sources.

Media Databases: IMDb ID, TVDB ID, Freebase MID*, Freebase ID* TVRage ID*.

*Defunct or no longer available as a service.

https://developers.themoviedb.org/3/tv-episodes/get-tv-episode-external-ids

func (*Client) GetTVEpisodeGroups

func (c *Client) GetTVEpisodeGroups(
	id int,
	urlOptions map[string]string,
) (*TVEpisodeGroups, error)

GetTVEpisodeGroups get all of the episode groups that have been created for a TV show.

With a group ID you can call the get TV episode group details method.

https://developers.themoviedb.org/3/tv/get-tv-episode-groups

func (*Client) GetTVEpisodeGroupsDetails

func (c *Client) GetTVEpisodeGroupsDetails(
	id string,
	urlOptions map[string]string,
) (*TVEpisodeGroupsDetails, error)

GetTVEpisodeGroupsDetails the details of a TV episode group. Groups support 7 different types which are enumerated as the following:

1. Original air date 2. Absolute 3. DVD 4. Digital 5. Story arc 6. Production 7. TV

https://developers.themoviedb.org/3/tv-episode-groups/get-tv-episode-group-details

func (*Client) GetTVEpisodeImages

func (c *Client) GetTVEpisodeImages(
	id int,
	seasonNumber int,
	episodeNumber int,
) (*TVEpisodeImages, error)

GetTVEpisodeImages get the images that belong to a TV episode.

Querying images with a language parameter will filter the results. If you want to include a fallback language (especially useful for backdrops) you can use the include_image_language parameter. This should be a comma separated value like so: include_image_language=en,null.

https://developers.themoviedb.org/3/tv-episodes/get-tv-episode-images

func (*Client) GetTVEpisodeTranslations

func (c *Client) GetTVEpisodeTranslations(
	id int,
	seasonNumber int,
	episodeNumber int,
) (*TVEpisodeTranslations, error)

GetTVEpisodeTranslations get the translation data for an episode.

https://developers.themoviedb.org/3/tv-episodes/get-tv-episode-translations

func (*Client) GetTVEpisodeVideos

func (c *Client) GetTVEpisodeVideos(
	id int,
	seasonNumber int,
	episodeNumber int,
	urlOptions map[string]string,
) (*TVEpisodeVideos, error)

GetTVEpisodeVideos get the videos that have been added to a TV episode.

https://developers.themoviedb.org/3/tv-episodes/get-tv-episode-videos

func (*Client) GetTVExternalIDs

func (c *Client) GetTVExternalIDs(
	id int,
	urlOptions map[string]string,
) (*TVExternalIDs, error)

GetTVExternalIDs get the external ids for a TV show.

We currently support the following external sources.

Media Databases: IMDb ID, TVDB ID, Freebase MID*, Freebase ID* TVRage ID*.

Social IDs: Facebook, Instagram and Twitter.

*Defunct or no longer available as a service.

https://developers.themoviedb.org/3/tv/get-tv-external-ids

func (*Client) GetTVImages

func (c *Client) GetTVImages(
	id int,
	urlOptions map[string]string,
) (*TVImages, error)

GetTVImages get the images that belong to a TV show.

Querying images with a language parameter will filter the results. If you want to include a fallback language (especially useful for backdrops) you can use the include_image_language parameter. This should be a comma separated value like so: include_image_language=en,null.

https://developers.themoviedb.org/3/tv/get-tv-images

func (*Client) GetTVKeywords

func (c *Client) GetTVKeywords(
	id int,
) (*TVKeywords, error)

GetTVKeywords get the keywords that have been added to a TV show.

https://developers.themoviedb.org/3/tv/get-tv-keywords

func (*Client) GetTVLatest

func (c *Client) GetTVLatest(
	urlOptions map[string]string,
) (*TVLatest, error)

GetTVLatest get the most newly created TV show.

This is a live response and will continuously change.

https://developers.themoviedb.org/3/tv/get-latest-tv

func (*Client) GetTVOnTheAir

func (c *Client) GetTVOnTheAir(
	urlOptions map[string]string,
) (*TVOnTheAir, error)

GetTVOnTheAir get a list of shows that are currently on the air.

This query looks for any TV show that has an episode with an air date in the next 7 days.

https://developers.themoviedb.org/3/tv/get-tv-on-the-air

func (*Client) GetTVPopular

func (c *Client) GetTVPopular(
	urlOptions map[string]string,
) (*TVPopular, error)

GetTVPopular get a list of the current popular TV shows on TMDb. This list updates daily.

https://developers.themoviedb.org/3/tv/get-popular-tv-shows

func (*Client) GetTVRecommendations

func (c *Client) GetTVRecommendations(
	id int,
	urlOptions map[string]string,
) (*TVRecommendations, error)

GetTVRecommendations get the list of TV show recommendations for this item.

https://developers.themoviedb.org/3/tv/get-tv-recommendations

func (*Client) GetTVReviews

func (c *Client) GetTVReviews(
	id int,
	urlOptions map[string]string,
) (*TVReviews, error)

GetTVReviews get the reviews for a TV show.

https://developers.themoviedb.org/3/tv/get-tv-reviews

func (*Client) GetTVScreenedTheatrically

func (c *Client) GetTVScreenedTheatrically(
	id int,
) (*TVScreenedTheatrically, error)

GetTVScreenedTheatrically get a list of seasons or episodes that have been screened in a film festival or theatre.

https://developers.themoviedb.org/3/tv/get-screened-theatrically

func (*Client) GetTVSeasonChanges

func (c *Client) GetTVSeasonChanges(
	id int,
	urlOptions map[string]string,
) (*TVSeasonChanges, error)

GetTVSeasonChanges get the changes for a TV season. By default only the last 24 hours are returned.

You can query up to 14 days in a single query by using the start_date and end_date query parameters.

https://developers.themoviedb.org/3/tv-seasons/get-tv-season-changes

func (*Client) GetTVSeasonCredits

func (c *Client) GetTVSeasonCredits(
	id int,
	seasonNumber int,
	urlOptions map[string]string,
) (*TVSeasonCredits, error)

GetTVSeasonCredits get the credits for TV season.

https://developers.themoviedb.org/3/tv-seasons/get-tv-season-credits

func (*Client) GetTVSeasonDetails

func (c *Client) GetTVSeasonDetails(
	id int,
	seasonNumber int,
	urlOptions map[string]string,
) (*TVSeasonDetails, error)

GetTVSeasonDetails get the TV season details by id.

Supports append_to_response.

https://developers.themoviedb.org/3/tv-seasons/get-tv-season-details

func (*Client) GetTVSeasonExternalIDs

func (c *Client) GetTVSeasonExternalIDs(
	id int,
	seasonNumber int,
	urlOptions map[string]string,
) (*TVSeasonExternalIDs, error)

GetTVSeasonExternalIDs get the external ids for a TV season. We currently support the following external sources.

Media Databases: TVDB ID, Freebase MID*, Freebase ID* TVRage ID*.

*Defunct or no longer available as a service.

https://developers.themoviedb.org/3/tv-seasons/get-tv-season-external-ids

func (*Client) GetTVSeasonImages

func (c *Client) GetTVSeasonImages(
	id int,
	seasonNumber int,
	urlOptions map[string]string,
) (*TVSeasonImages, error)

GetTVSeasonImages get the images that belong to a TV season.

Querying images with a language parameter will filter the results. If you want to include a fallback language (especially useful for backdrops) you can use the include_image_language parameter. This should be a comma separated value like so: include_image_language=en,null.

https://developers.themoviedb.org/3/tv-seasons/get-tv-season-images

func (*Client) GetTVSeasonTranslations added in v1.5.7

func (c *Client) GetTVSeasonTranslations(
	id int,
	seasonNumber int,
) (*TVSeasonTranslations, error)

GetTVSeasonTranslations get the translation data for an season.

https://developer.themoviedb.org/reference/tv-season-translations

func (*Client) GetTVSeasonVideos

func (c *Client) GetTVSeasonVideos(
	id int,
	seasonNumber int,
	urlOptions map[string]string,
) (*TVSeasonVideos, error)

GetTVSeasonVideos get the videos that have been added to a TV season.

https://developers.themoviedb.org/3/tv-seasons/get-tv-season-videos

func (*Client) GetTVShowsWatchlist added in v1.2.0

func (c *Client) GetTVShowsWatchlist(
	id int,
	urlOptions map[string]string,
) (*AccountTVShowsWatchlist, error)

GetTVShowsWatchlist get a list of all the TV shows you have added to your watchlist.

https://developers.themoviedb.org/3/account/get-tv-show-watchlist

func (*Client) GetTVSimilar

func (c *Client) GetTVSimilar(
	id int,
	urlOptions map[string]string,
) (*TVSimilar, error)

GetTVSimilar a list of similar TV shows. These items are assembled by looking at keywords and genres.

https://developers.themoviedb.org/3/tv/get-similar-tv-shows

func (*Client) GetTVTopRated

func (c *Client) GetTVTopRated(
	urlOptions map[string]string,
) (*TVTopRated, error)

GetTVTopRated get a list of the top rated TV shows on TMDb.

https://developers.themoviedb.org/3/tv/get-top-rated-tv

func (*Client) GetTVTranslations

func (c *Client) GetTVTranslations(
	id int,
	urlOptions map[string]string,
) (*TVTranslations, error)

GetTVTranslations get a list fo translations that have been created for a TV Show.

https://developers.themoviedb.org/3/tv/get-tv-translations

func (*Client) GetTVVideos

func (c *Client) GetTVVideos(
	id int,
	urlOptions map[string]string,
) (*TVVideos, error)

GetTVVideos get the videos that have been added to a TV show.

https://developers.themoviedb.org/3/tv/get-tv-videos

func (*Client) GetTVWatchProviders added in v1.3.2

func (c *Client) GetTVWatchProviders(
	id int,
	urlOptions map[string]string,
) (*TVWatchProviders, error)

GetTVWatchProviders get a list of the availabilities per country by provider for a TV show.

https://developers.themoviedb.org/3/tv/get-tv-watch-providers

func (*Client) GetTrending

func (c *Client) GetTrending(
	mediaType string,
	timeWindow string,
	options map[string]string,
) (*Trending, error)

GetTrending get the daily or weekly trending items.

The daily trending list tracks items over the period of a day while items have a 24 hour half life. The weekly list tracks items over a 7 day period, with a 7 day half life.

Valid Media Types

all - Include all movies, TV shows and people in the results as a global trending list.

movie - Show the trending movies in the results.

tv - Show the trending TV shows in the results.

person - Show the trending people in the results.

Valid Time Windows

day - View the trending list for the day.

week - View the trending list for the week.

https://developers.themoviedb.org/3/trending/get-trending

func (*Client) GetWatchProvidersMovie added in v1.3.4

func (c *Client) GetWatchProvidersMovie(
	urlOptions map[string]string,
) (*WatchProviderList, error)

GetWatchProvidersMovie get a list of the watch provider (OTT/streaming) data we have available for movies. You can specify a watch_region param if you want to further filter the list by country.

https://developers.themoviedb.org/3/watch-providers/get-movie-providers

func (*Client) GetWatchProvidersTv added in v1.3.4

func (c *Client) GetWatchProvidersTv(
	urlOptions map[string]string,
) (*WatchProviderList, error)

GetWatchProvidersTv get a list of the watch provider (OTT/streaming) data we have available for TV series. You can specify a watch_region param if you want to further filter the list by country.

https://developers.themoviedb.org/3/watch-providers/get-tv-providers

func (*Client) MarkAsFavorite added in v1.2.0

func (c *Client) MarkAsFavorite(
	id int,
	title *AccountFavorite,
) (*Response, error)

MarkAsFavorite this method allows you to mark a movie or TV show as a favorite item.

https://developers.themoviedb.org/3/account/mark-as-favorite

func (*Client) PostMovieRating added in v1.1.3

func (c *Client) PostMovieRating(
	id int,
	rating float32,
	urlOptions map[string]string,
) (*Response, error)

PostMovieRating rate a movie.

A valid session or guest session ID is required.

You can read more about how this works: https://developers.themoviedb.org/3/authentication/how-do-i-generate-a-session-id

https://developers.themoviedb.org/3/movies/rate-movie

func (*Client) PostTVShowRating added in v1.2.0

func (c *Client) PostTVShowRating(
	id int,
	rating float32,
	urlOptions map[string]string,
) (*Response, error)

PostTVShowRating rate a TV show.

A valid session or guest session ID is required.

You can read more about how this works: https://developers.themoviedb.org/3/authentication/how-do-i-generate-a-session-id

https://developers.themoviedb.org/3/tv/rate-tv-show

func (*Client) RemoveMovie added in v1.2.0

func (c *Client) RemoveMovie(
	listID int,
	mediaID *ListMedia,
) (*Response, error)

RemoveMovie remove a movie from a list.

https://developers.themoviedb.org/3/lists/remove-movie

func (*Client) SetAlternateBaseURL added in v1.5.0

func (c *Client) SetAlternateBaseURL()

SetAlternateBaseURL sets an alternate base url.

func (*Client) SetClientAutoRetry added in v1.1.0

func (c *Client) SetClientAutoRetry()

SetClientAutoRetry sets autoRetry flag to true.

func (*Client) SetClientConfig

func (c *Client) SetClientConfig(httpClient http.Client)

SetClientConfig sets a custom configuration for the http.Client.

func (*Client) SetSessionID added in v1.1.3

func (c *Client) SetSessionID(sid string) error

SetSessionID will set the session id.

type CollectionDetails

type CollectionDetails struct {
	ID           int64  `json:"id"`
	Name         string `json:"name"`
	Overview     string `json:"overview"`
	PosterPath   string `json:"poster_path"`
	BackdropPath string `json:"backdrop_path"`
	Parts        []struct {
		Adult            bool    `json:"adult"`
		BackdropPath     string  `json:"backdrop_path"`
		GenreIDs         []int64 `json:"genre_ids"`
		ID               int64   `json:"id"`
		OriginalLanguage string  `json:"original_language"`
		OriginalTitle    string  `json:"original_title"`
		Overview         string  `json:"overview"`
		PosterPath       string  `json:"poster_path"`
		ReleaseDate      string  `json:"release_date"`
		Title            string  `json:"title"`
		Video            bool    `json:"video"`
		VoteAverage      float32 `json:"vote_average"`
		VoteCount        int64   `json:"vote_count"`
		Popularity       float32 `json:"popularity"`
	} `json:"parts"`
}

CollectionDetails type is a struct for details JSON response.

type CollectionImage added in v1.5.6

type CollectionImage struct {
	AspectRatio float32 `json:"aspect_ratio"`
	FilePath    string  `json:"file_path"`
	Height      int     `json:"height"`
	Iso639_1    string  `json:"iso_639_1"`
	VoteAverage float32 `json:"vote_average"`
	VoteCount   int64   `json:"vote_count"`
	Width       int     `json:"width"`
}

CollectionImage type is a struct for a single image.

type CollectionImages

type CollectionImages struct {
	ID        int64             `json:"id"`
	Backdrops []CollectionImage `json:"backdrops"`
	Posters   []CollectionImage `json:"posters"`
}

CollectionImages type is a struct for images JSON response.

type CollectionTranslations

type CollectionTranslations struct {
	ID           int64 `json:"id"`
	Translations []struct {
		Iso3166_1   string `json:"iso_3166_1"`
		Iso639_1    string `json:"iso_639_1"`
		Name        string `json:"name"`
		EnglishName string `json:"english_name"`
		Data        struct {
			Title    string `json:"title"`
			Overview string `json:"overview"`
			Homepage string `json:"homepage"`
		} `json:"data"`
	} `json:"translations"`
}

CollectionTranslations type is a struct for translations JSON response.

type CompanyAlternativeNames

type CompanyAlternativeNames struct {
	ID int64 `json:"id"`
	*CompanyAlternativeNamesResult
}

CompanyAlternativeNames type is a struct for alternative names JSON response.

type CompanyAlternativeNamesResult added in v1.3.5

type CompanyAlternativeNamesResult struct {
	Results []struct {
		Name string `json:"name"`
		Type string `json:"type"`
	} `json:"results"`
}

CompanyAlternativeNamesResult Result Types

type CompanyDetails

type CompanyDetails struct {
	Description   string `json:"description"`
	Headquarters  string `json:"headquarters"`
	Homepage      string `json:"homepage"`
	ID            int64  `json:"id"`
	LogoPath      string `json:"logo_path"`
	Name          string `json:"name"`
	OriginCountry string `json:"origin_country"`
	ParentCompany struct {
		Name     string `json:"name"`
		ID       int64  `json:"id"`
		LogoPath string `json:"logo_path"`
	} `json:"parent_company"`
}

CompanyDetails type is a struct for details JSON response.

type CompanyImage added in v1.5.6

type CompanyImage struct {
	AspectRatio float32 `json:"aspect_ratio"`
	FilePath    string  `json:"file_path"`
	Height      int     `json:"height"`
	ID          string  `json:"id"`
	FileType    string  `json:"file_type"`
	VoteAverage float32 `json:"vote_average"`
	VoteCount   int64   `json:"vote_count"`
	Width       int     `json:"width"`
}

CompanyImage type is a struct for a single image.

type CompanyImages

type CompanyImages struct {
	ID    int64          `json:"id"`
	Logos []CompanyImage `json:"logos"`
}

CompanyImages type is a struct for images JSON response.

type ConfigurationAPI

type ConfigurationAPI struct {
	Images struct {
		BaseURL       string   `json:"base_url"`
		SecureBaseURL string   `json:"secure_base_url"`
		BackdropSizes []string `json:"backdrop_sizes"`
		LogoSizes     []string `json:"logo_sizes"`
		PosterSizes   []string `json:"poster_sizes"`
		ProfileSizes  []string `json:"profile_sizes"`
		StillSizes    []string `json:"still_sizes"`
	} `json:"images"`
	ChangeKeys []string `json:"change_keys"`
}

ConfigurationAPI type is a struct for api configuration JSON response.

type ConfigurationCountries

type ConfigurationCountries []struct {
	Iso3166_1   string `json:"iso_3166_1"`
	EnglishName string `json:"english_name"`
	NativeName  string `json:"native_name"`
}

ConfigurationCountries type is a struct for countries configuration JSON response.

type ConfigurationJobs

type ConfigurationJobs []struct {
	Department string   `json:"department"`
	Jobs       []string `json:"jobs"`
}

ConfigurationJobs type is a struct for jobs configuration JSON response.

type ConfigurationLanguages

type ConfigurationLanguages []struct {
	Iso639_1    string `json:"iso_639_1"`
	EnglishName string `json:"english_name"`
	Name        string `json:"name"`
}

ConfigurationLanguages type is a struct for languages configuration JSON response.

type ConfigurationPrimaryTranslations

type ConfigurationPrimaryTranslations []string

ConfigurationPrimaryTranslations type is a struct for primary translations configuration JSON response.

type ConfigurationTimezones

type ConfigurationTimezones []struct {
	Iso3166_1 string   `json:"iso_3166_1"`
	Zones     []string `json:"zones"`
}

ConfigurationTimezones type is a struct for timezones configuration JSON response.

type CreditsDetails

type CreditsDetails struct {
	CreditType string `json:"credit_type"`
	Department string `json:"department"`
	Job        string `json:"job"`
	Media      struct {
		Adult            bool     `json:"adult,omitempty"`          // Movie
		OriginalName     string   `json:"original_name,omitempty"`  // TV
		OriginalTitle    string   `json:"original_title,omitempty"` // Movie
		ID               int64    `json:"id"`
		Name             string   `json:"name,omitempty"` // TV
		VoteCount        int64    `json:"vote_count"`
		VoteAverage      float32  `json:"vote_average"`
		FirstAirDate     string   `json:"first_air_date,omitempty"` // TV
		PosterPath       string   `json:"poster_path"`
		ReleaseDate      string   `json:"release_date,omitempty"` // Movie
		Title            string   `json:"title,omitempty"`        // Movie
		Video            bool     `json:"video,omitempty"`        // Movie
		GenreIDs         []int64  `json:"genre_ids"`
		OriginalLanguage string   `json:"original_language"`
		BackdropPath     string   `json:"backdrop_path"`
		Overview         string   `json:"overview"`
		OriginCountry    []string `json:"origin_country,omitempty"` // TV
		Popularity       float32  `json:"popularity"`
		Character        string   `json:"character"`
		Episodes         []struct {
			AirDate       string `json:"air_date"`
			EpisodeNumber int64  `json:"episode_number"`
			Name          string `json:"name"`
			Overview      string `json:"overview"`
			SeasonNumber  int    `json:"season_number"`
			StillPath     string `json:"still_path"`
		} `json:"episodes,omitempty"` // TV
		Seasons []struct {
			AirDate      string `json:"air_date"`
			EpisodeCount int    `json:"episode_count"`
			ID           int64  `json:"id"`
			Name         string `json:"name"`
			Overview     string `json:"overview"`
			PosterPath   string `json:"poster_path"`
			SeasonNumber int    `json:"season_number"`
			ShowID       int64  `json:"show_id"`
		} `json:"seasons,omitempty"` // TV
	} `json:"media"`
	MediaType string `json:"media_type"`
	ID        string `json:"id"`
	Person    struct {
		Adult    bool   `json:"adult"`
		Gender   int    `json:"gender"`
		Name     string `json:"name"`
		ID       int64  `json:"id"`
		KnownFor []struct {
			Adult        bool   `json:"adult,omitempty"`
			BackdropPath string `json:"backdrop_path"`
			// GenreIDs         []int64  `json:"genre_ids"` // FIXME: -> []float32
			// ID               int64    `json:"id"` // FIXME: -> float32
			OriginalLanguage string  `json:"original_language"`
			OriginalTitle    string  `json:"original_title,omitempty"`
			Overview         string  `json:"overview"`
			PosterPath       string  `json:"poster_path"`
			ReleaseDate      string  `json:"release_date,omitempty"`
			Title            string  `json:"title,omitempty"`
			Video            bool    `json:"video,omitempty"`
			VoteAverage      float32 `json:"vote_average"`
			// VoteCount        int64    `json:"vote_count"` // FIXME: -> float32
			Popularity    float32  `json:"popularity"`
			MediaType     string   `json:"media_type"`
			OriginalName  string   `json:"original_name,omitempty"`
			Name          string   `json:"name,omitempty"`
			FirstAirDate  string   `json:"first_air_date,omitempty"`
			OriginCountry []string `json:"origin_country,omitempty"`
		} `json:"known_for"`
		KnownForDepartment string  `json:"known_for_department"`
		ProfilePath        string  `json:"profile_path"`
		Popularity         float32 `json:"popularity"`
	} `json:"person"`
}

CreditsDetails type is a struct for credits JSON response.

type DiscoverMovie

type DiscoverMovie struct {
	Page         int64 `json:"page"`
	TotalResults int64 `json:"total_results"`
	TotalPages   int64 `json:"total_pages"`
	*DiscoverMovieResults
}

DiscoverMovie type is a struct for movie JSON response.

type DiscoverMovieResults added in v1.3.5

type DiscoverMovieResults struct {
	Results []struct {
		VoteCount        int64   `json:"vote_count"`
		ID               int64   `json:"id"`
		Video            bool    `json:"video"`
		VoteAverage      float32 `json:"vote_average"`
		Title            string  `json:"title"`
		Popularity       float32 `json:"popularity"`
		PosterPath       string  `json:"poster_path"`
		OriginalLanguage string  `json:"original_language"`
		OriginalTitle    string  `json:"original_title"`
		GenreIDs         []int64 `json:"genre_ids"`
		BackdropPath     string  `json:"backdrop_path"`
		Adult            bool    `json:"adult"`
		Overview         string  `json:"overview"`
		ReleaseDate      string  `json:"release_date"`
	} `json:"results"`
}

DiscoverMovieResults Result Types

type DiscoverTV

type DiscoverTV struct {
	Page         int64 `json:"page"`
	TotalResults int64 `json:"total_results"`
	TotalPages   int64 `json:"total_pages"`
	*DiscoverTVResults
}

DiscoverTV type is a struct for tv JSON response.

type DiscoverTVResults added in v1.3.5

type DiscoverTVResults struct {
	Results []struct {
		OriginalName     string   `json:"original_name"`
		GenreIDs         []int64  `json:"genre_ids"`
		Name             string   `json:"name"`
		Popularity       float32  `json:"popularity"`
		OriginCountry    []string `json:"origin_country"`
		VoteCount        int64    `json:"vote_count"`
		FirstAirDate     string   `json:"first_air_date"`
		BackdropPath     string   `json:"backdrop_path"`
		OriginalLanguage string   `json:"original_language"`
		ID               int64    `json:"id"`
		VoteAverage      float32  `json:"vote_average"`
		Overview         string   `json:"overview"`
		PosterPath       string   `json:"poster_path"`
	} `json:"results"`
}

DiscoverTVResults Result Types

type Error

type Error struct {
	StatusMessage string `json:"status_message,omitempty"`
	Success       bool   `json:"success,omitempty"`
	StatusCode    int    `json:"status_code,omitempty"`
}

Error type represents an error returned by the TMDB API.

func (Error) Error

func (e Error) Error() string

type FindByID

type FindByID struct {
	MovieResults []struct {
		Adult            bool    `json:"adult"`
		BackdropPath     string  `json:"backdrop_path"`
		GenreIDs         []int64 `json:"genre_ids"`
		ID               int64   `json:"id"`
		OriginalLanguage string  `json:"original_language"`
		OriginalTitle    string  `json:"original_title"`
		Overview         string  `json:"overview"`
		PosterPath       string  `json:"poster_path"`
		ReleaseDate      string  `json:"release_date"`
		Title            string  `json:"title"`
		Video            bool    `json:"video"`
		VoteAverage      float32 `json:"vote_average"`
		VoteCount        int64   `json:"vote_count"`
		Popularity       float32 `json:"popularity"`
	} `json:"movie_results,omitempty"`
	PersonResults []struct {
		Adult    bool   `json:"adult"`
		Gender   int    `json:"gender"`
		Name     string `json:"name"`
		ID       int64  `json:"id"`
		KnownFor []struct {
			Adult        bool   `json:"adult,omitempty"` // Movie
			BackdropPath string `json:"backdrop_path"`
			FirstAirDate string `json:"first_air_date,omitempty"` // TV
			// GenreIDs         []int64 `json:"genre_ids"` // FIXME: -> []float32
			// ID               int64   `json:"id"` // FIXME: -> float32
			MediaType        string   `json:"media_type"`
			Name             string   `json:"name,omitempty"` // TV
			OriginalLanguage string   `json:"original_language"`
			OriginalName     string   `json:"original_name,omitempty"`  // TV
			OriginalTitle    string   `json:"original_title,omitempty"` // Movie
			OriginCountry    []string `json:"origin_country,omitempty"` // TV
			Overview         string   `json:"overview"`
			Popularity       float32  `json:"popularity"`
			PosterPath       string   `json:"poster_path"`
			ReleaseDate      string   `json:"release_date,omitempty"` // Movie
			Title            string   `json:"title,omitempty"`        // Movie
			Video            bool     `json:"video,omitempty"`        // Movie
			VoteAverage      float32  `json:"vote_average"`
		} `json:"known_for"`
		KnownForDepartment string  `json:"known_for_department"`
		ProfilePath        string  `json:"profile_path"`
		Popularity         float32 `json:"popularity"`
	} `json:"person_results,omitempty"`
	TvResults []struct {
		OriginalName     string   `json:"original_name"`
		ID               int64    `json:"id"`
		Name             string   `json:"name"`
		VoteCount        int64    `json:"vote_count"`
		VoteAverage      float32  `json:"vote_average"`
		FirstAirDate     string   `json:"first_air_date"`
		PosterPath       string   `json:"poster_path"`
		GenreIDs         []int64  `json:"genre_ids"`
		OriginalLanguage string   `json:"original_language"`
		BackdropPath     string   `json:"backdrop_path"`
		Overview         string   `json:"overview"`
		OriginCountry    []string `json:"origin_country"`
		Popularity       float32  `json:"popularity"`
	} `json:"tv_results,omitempty"`
	TvEpisodeResults []struct {
		AirDate        string  `json:"air_date"`
		EpisodeNumber  int     `json:"episode_number"`
		ID             int64   `json:"id"`
		Name           string  `json:"name"`
		Overview       string  `json:"overview"`
		ProductionCode string  `json:"production_code"`
		SeasonNumber   int     `json:"season_number"`
		ShowID         int64   `json:"show_id"`
		StillPath      string  `json:"still_path"`
		VoteAverage    float32 `json:"vote_average"`
		VoteCount      int64   `json:"vote_count"`
	} `json:"tv_episode_results,omitempty"`
	TvSeasonResults []struct {
		AirDate      string `json:"air_date"`
		Name         string `json:"name"`
		ID           int64  `json:"id"`
		SeasonNumber int    `json:"season_number"`
		ShowID       int64  `json:"show_id"`
	} `json:"tv_season_results,omitempty"`
}

FindByID type is a struct for find JSON response.

type GenreMovieList

type GenreMovieList struct {
	Genres []struct {
		ID   int64  `json:"id"`
		Name string `json:"name"`
	} `json:"genres"`
}

GenreMovieList type is a struct for genres movie list JSON response.

type GuestSessionRatedMovies

type GuestSessionRatedMovies struct {
	Page    int64 `json:"page"`
	Results []struct {
		Adult            bool    `json:"adult"`
		BackdropPath     string  `json:"backdrop_path"`
		GenreIDs         []int64 `json:"genre_ids"`
		ID               int64   `json:"id"`
		OriginalLanguage string  `json:"original_language"`
		OriginalTitle    string  `json:"original_title"`
		Overview         string  `json:"overview"`
		ReleaseDate      string  `json:"release_date"`
		PosterPath       string  `json:"poster_path"`
		Popularity       float32 `json:"popularity"`
		Title            string  `json:"title"`
		Video            bool    `json:"video"`
		VoteAverage      float32 `json:"vote_average"`
		VoteCount        int64   `json:"vote_count"`
		Rating           float32 `json:"rating"`
	} `json:"results"`
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

GuestSessionRatedMovies type is a struct for rated movies JSON response.

type GuestSessionRatedTVEpisodes

type GuestSessionRatedTVEpisodes struct {
	Page    int64 `json:"page"`
	Results []struct {
		AirDate        string  `json:"air_date"`
		EpisodeNumber  int     `json:"episode_number"`
		ID             int64   `json:"id"`
		Name           string  `json:"name"`
		Overview       string  `json:"overview"`
		ProductionCode string  `json:"production_code"`
		SeasonNumber   int     `json:"season_number"`
		ShowID         int64   `json:"show_id"`
		StillPath      string  `json:"still_path"`
		VoteAverage    float32 `json:"vote_average"`
		VoteCount      int64   `json:"vote_count"`
		Rating         float32 `json:"rating"`
	} `json:"results"`
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

GuestSessionRatedTVEpisodes type is a struct for rated tv episodes JSON response.

type GuestSessionRatedTVShows

type GuestSessionRatedTVShows struct {
	Page    int64 `json:"page"`
	Results []struct {
		BackdropPath     string   `json:"backdrop_path"`
		FirstAirDate     string   `json:"first_air_date"`
		GenreIDs         []int64  `json:"genre_ids"`
		ID               int64    `json:"id"`
		OriginalLanguage string   `json:"original_language"`
		OriginalName     string   `json:"original_name"`
		Overview         string   `json:"overview"`
		OriginCountry    []string `json:"origin_country"`
		PosterPath       string   `json:"poster_path"`
		Popularity       float32  `json:"popularity"`
		Name             string   `json:"name"`
		VoteAverage      float32  `json:"vote_average"`
		VoteCount        int64    `json:"vote_count"`
		Rating           float32  `json:"rating"`
	} `json:"results"`
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

GuestSessionRatedTVShows type is a struct for rated tv shows JSON response.

type KeywordDetails

type KeywordDetails struct {
	ID   int64  `json:"id"`
	Name string `json:"name"`
}

KeywordDetails type is a struct for keyword JSON response.

type KeywordMovies

type KeywordMovies struct {
	ID      int64 `json:"id"`
	Page    int64 `json:"page"`
	Results []struct {
		Adult            bool    `json:"adult"`
		BackdropPath     string  `json:"backdrop_path"`
		GenreIDs         []int64 `json:"genre_ids"`
		ID               int64   `json:"id"`
		OriginalLanguage string  `json:"original_language"`
		OriginalTitle    string  `json:"original_title"`
		Overview         string  `json:"overview"`
		PosterPath       string  `json:"poster_path"`
		ReleaseDate      string  `json:"release_date"`
		Title            string  `json:"title"`
		Video            bool    `json:"video"`
		VoteAverage      float32 `json:"vote_average"`
		VoteCount        int64   `json:"vote_count"`
		Popularity       float32 `json:"popularity"`
	} `json:"results"`
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

KeywordMovies type is a struct for movies that belong to a keyword JSON response.

type ListCreate added in v1.2.0

type ListCreate struct {
	Name        string `json:"name"`
	Description string `json:"description"`
	Language    string `json:"language"`
}

ListCreate type is a struct for list creation JSON request.

type ListDetails

type ListDetails struct {
	CreatedBy     string `json:"created_by"`
	Description   string `json:"description"`
	FavoriteCount int64  `json:"favorite_count"`
	ID            int64  `json:"id"`
	Items         []struct {
		Adult            bool     `json:"adult,omitempty"` // Movie
		BackdropPath     string   `json:"backdrop_path"`
		FirstAirDate     string   `json:"first_air_date,omitempty"` // TV
		GenreIDs         []int64  `json:"genre_ids"`
		ID               int64    `json:"id"`
		MediaType        string   `json:"media_type"`
		Name             string   `json:"name,omitempty"` // TV
		OriginalLanguage string   `json:"original_language"`
		OriginalName     string   `json:"original_name,omitempty"`  // TV
		OriginalTitle    string   `json:"original_title,omitempty"` // Movie
		OriginCountry    []string `json:"origin_country,omitempty"` // TV
		Overview         string   `json:"overview"`
		Popularity       float32  `json:"popularity"`
		PosterPath       string   `json:"poster_path"`
		ReleaseDate      string   `json:"release_date,omitempty"` // Movie
		Title            string   `json:"title,omitempty"`        // Movie
		Video            bool     `json:"video,omitempty"`        // Movie
		VoteAverage      float32  `json:"vote_average"`
		VoteCount        int64    `json:"vote_count"`
	} `json:"items"`
	ItemCount  int64  `json:"item_count"`
	Iso639_1   string `json:"iso_639_1"`
	Name       string `json:"name"`
	PosterPath string `json:"poster_path"`
}

ListDetails type is a struct for details JSON response.

type ListItemStatus

type ListItemStatus struct {
	ID          string `json:"id"`
	ItemPresent bool   `json:"item_present"`
}

ListItemStatus type is a struct for item status JSON response.

type ListMedia added in v1.2.0

type ListMedia struct {
	MediaID int64 `json:"media_id"`
}

ListMedia type is a struct for list media JSON request.

type ListResponse added in v1.2.0

type ListResponse struct {
	*Response
	Success bool  `json:"success"`
	ListID  int64 `json:"list_id"`
}

ListResponse type is a struct for list creation JSON response.

type MovieAccountStates

type MovieAccountStates struct {
	ID        int64               `json:"id"`
	Favorite  bool                `json:"favorite"`
	Rated     jsoniter.RawMessage `json:"rated"`
	Watchlist bool                `json:"watchlist"`
}

MovieAccountStates type is a struct for account states JSON response.

type MovieAlternativeTitles

type MovieAlternativeTitles struct {
	ID     int `json:"id,omitempty"`
	Titles []struct {
		Iso3166_1 string `json:"iso_3166_1"`
		Title     string `json:"title"`
		Type      string `json:"type"`
	} `json:"titles"`
}

MovieAlternativeTitles type is a struct for alternative titles JSON response.

type MovieAlternativeTitlesAppend

type MovieAlternativeTitlesAppend struct {
	AlternativeTitles *MovieAlternativeTitles `json:"alternative_titles,omitempty"`
}

MovieAlternativeTitlesAppend type is a struct for alternative titles in append to response.

type MovieChanges

type MovieChanges struct {
	Changes []struct {
		Key   string `json:"key"`
		Items []struct {
			ID            jsoniter.RawMessage `json:"id"`
			Action        jsoniter.RawMessage `json:"action"`
			Time          jsoniter.RawMessage `json:"time"`
			Iso639_1      jsoniter.RawMessage `json:"iso_639_1"`
			Value         jsoniter.RawMessage `json:"value"`
			OriginalValue jsoniter.RawMessage `json:"original_value"`
		} `json:"items"`
	} `json:"changes"`
}

MovieChanges type is a struct for changes JSON response.

type MovieChangesAppend

type MovieChangesAppend struct {
	Changes *MovieChanges `json:"changes,omitempty"`
}

MovieChangesAppend type is a struct for changes in append to response.

type MovieCredits

type MovieCredits struct {
	ID   int64 `json:"id,omitempty"`
	Cast []struct {
		Adult              bool    `json:"adult"`
		CastID             int64   `json:"cast_id"`
		Character          string  `json:"character"`
		CreditID           string  `json:"credit_id"`
		Gender             int     `json:"gender"`
		ID                 int64   `json:"id"`
		KnownForDepartment string  `json:"known_for_department"`
		Name               string  `json:"name"`
		Order              int     `json:"order"`
		OriginalName       string  `json:"original_name"`
		Popularity         float32 `json:"popularity"`
		ProfilePath        string  `json:"profile_path"`
	} `json:"cast"`
	Crew []struct {
		Adult              bool    `json:"adult"`
		CreditID           string  `json:"credit_id"`
		Department         string  `json:"department"`
		Gender             int     `json:"gender"`
		ID                 int64   `json:"id"`
		Job                string  `json:"job"`
		KnownForDepartment string  `json:"known_for_department"`
		Name               string  `json:"name"`
		OriginalName       string  `json:"original_name"`
		Popularity         float32 `json:"popularity"`
		ProfilePath        string  `json:"profile_path"`
	} `json:"crew"`
}

MovieCredits type is a struct for credits JSON response.

type MovieCreditsAppend

type MovieCreditsAppend struct {
	Credits struct {
		*MovieCredits
	} `json:"credits,omitempty"`
}

MovieCreditsAppend type is a struct for credits in append to response.

type MovieDetails

type MovieDetails struct {
	Adult               bool   `json:"adult"`
	BackdropPath        string `json:"backdrop_path"`
	BelongsToCollection struct {
		ID           int64  `json:"id"`
		Name         string `json:"name"`
		PosterPath   string `json:"poster_path"`
		BackdropPath string `json:"backdrop_path"`
	} `json:"belongs_to_collection"`
	Budget int64 `json:"budget"`
	Genres []struct {
		ID   int64  `json:"id"`
		Name string `json:"name"`
	} `json:"genres"`
	Homepage            string  `json:"homepage"`
	ID                  int64   `json:"id"`
	IMDbID              string  `json:"imdb_id"`
	OriginalLanguage    string  `json:"original_language"`
	OriginalTitle       string  `json:"original_title"`
	Overview            string  `json:"overview"`
	Popularity          float32 `json:"popularity"`
	PosterPath          string  `json:"poster_path"`
	ProductionCompanies []struct {
		Name          string `json:"name"`
		ID            int64  `json:"id"`
		LogoPath      string `json:"logo_path"`
		OriginCountry string `json:"origin_country"`
	} `json:"production_companies"`
	ProductionCountries []struct {
		Iso3166_1 string `json:"iso_3166_1"`
		Name      string `json:"name"`
	} `json:"production_countries"`
	ReleaseDate     string `json:"release_date"`
	Revenue         int64  `json:"revenue"`
	Runtime         int    `json:"runtime"`
	SpokenLanguages []struct {
		Iso639_1 string `json:"iso_639_1"`
		Name     string `json:"name"`
	} `json:"spoken_languages"`
	Status      string  `json:"status"`
	Tagline     string  `json:"tagline"`
	Title       string  `json:"title"`
	Video       bool    `json:"video"`
	VoteAverage float32 `json:"vote_average"`
	VoteCount   int64   `json:"vote_count"`
	*MovieAlternativeTitlesAppend
	*MovieChangesAppend
	*MovieCreditsAppend
	*MovieExternalIDsAppend
	*MovieImagesAppend
	*MovieKeywordsAppend
	*MovieReleaseDatesAppend
	*MovieVideosAppend
	*MovieTranslationsAppend
	*MovieRecommendationsAppend
	*MovieSimilarAppend
	*MovieReviewsAppend
	*MovieListsAppend
	*MovieWatchProvidersAppend
}

MovieDetails type is a struct for movie details JSON response.

type MovieExternalIDs

type MovieExternalIDs struct {
	IMDbID      string `json:"imdb_id"`
	FacebookID  string `json:"facebook_id"`
	InstagramID string `json:"instagram_id"`
	TwitterID   string `json:"twitter_id"`
	ID          int64  `json:"id,omitempty"`
}

MovieExternalIDs type is a struct for external ids JSON response.

type MovieExternalIDsAppend

type MovieExternalIDsAppend struct {
	*MovieExternalIDs `json:"external_ids,omitempty"`
}

MovieExternalIDsAppend type is a struct for external ids in append to response.

type MovieImage added in v1.4.5

type MovieImage struct {
	AspectRatio float32 `json:"aspect_ratio"`
	FilePath    string  `json:"file_path"`
	Height      int     `json:"height"`
	Iso639_1    string  `json:"iso_639_1"`
	VoteAverage float32 `json:"vote_average"`
	VoteCount   int64   `json:"vote_count"`
	Width       int     `json:"width"`
}

MovieImage type is a struct for a single image.

type MovieImages

type MovieImages struct {
	ID        int64        `json:"id,omitempty"`
	Backdrops []MovieImage `json:"backdrops"`
	Logos     []MovieImage `json:"logos"`
	Posters   []MovieImage `json:"posters"`
}

MovieImages type is a struct for images JSON response.

type MovieImagesAppend

type MovieImagesAppend struct {
	Images *MovieImages `json:"images,omitempty"`
}

MovieImagesAppend type is a struct for images in append to response.

type MovieKeywords

type MovieKeywords struct {
	ID       int64 `json:"id,omitempty"`
	Keywords []struct {
		ID   int64  `json:"id"`
		Name string `json:"name"`
	} `json:"keywords"`
}

MovieKeywords type is a struct for keywords JSON response.

type MovieKeywordsAppend

type MovieKeywordsAppend struct {
	Keywords struct {
		*MovieKeywords
	} `json:"keywords,omitempty"`
}

MovieKeywordsAppend type is a struct for keywords in append to response.

type MovieLatest

type MovieLatest struct {
	*MovieDetails
}

MovieLatest type is a struct for latest JSON response.

type MovieLists

type MovieLists struct {
	ID   int64 `json:"id"`
	Page int64 `json:"page"`
	*MovieListsResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

MovieLists type is a struct for lists JSON response.

type MovieListsAppend

type MovieListsAppend struct {
	Lists *MovieLists `json:"lists,omitempty"`
}

MovieListsAppend type is a struct for lists in append to response.

type MovieListsResults added in v1.3.5

type MovieListsResults struct {
	Results []struct {
		Description   string `json:"description"`
		FavoriteCount int64  `json:"favorite_count"`
		ID            int64  `json:"id"`
		ItemCount     int64  `json:"item_count"`
		Iso639_1      string `json:"iso_639_1"`
		ListType      string `json:"list_type"`
		Name          string `json:"name"`
		PosterPath    string `json:"poster_path"`
	} `json:"results"`
}

MovieListsResults Result Types

type MovieNowPlaying

type MovieNowPlaying struct {
	Page int64 `json:"page"`
	*MovieNowPlayingResults
	Dates struct {
		Maximum string `json:"maximum"`
		Minimum string `json:"minimum"`
	} `json:"dates"`
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

MovieNowPlaying type is a struct for now playing JSON response.

type MovieNowPlayingResults added in v1.3.5

type MovieNowPlayingResults struct {
	Results []struct {
		PosterPath  string `json:"poster_path"`
		Adult       bool   `json:"adult"`
		Overview    string `json:"overview"`
		ReleaseDate string `json:"release_date"`
		Genres      []struct {
			ID   int64  `json:"id"`
			Name string `json:"name"`
		} `json:"genres"`
		ID               int64   `json:"id"`
		OriginalTitle    string  `json:"original_title"`
		OriginalLanguage string  `json:"original_language"`
		Title            string  `json:"title"`
		BackdropPath     string  `json:"backdrop_path"`
		Popularity       float32 `json:"popularity"`
		VoteCount        int64   `json:"vote_count"`
		Video            bool    `json:"video"`
		VoteAverage      float32 `json:"vote_average"`
	} `json:"results"`
}

MovieNowPlayingResults Result Types

type MoviePopular

type MoviePopular struct {
	Page int64 `json:"page"`
	*MoviePopularResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

MoviePopular type is a struct for popular JSON response.

type MoviePopularResults added in v1.3.5

type MoviePopularResults struct {
	Results []struct {
		PosterPath  string `json:"poster_path"`
		Adult       bool   `json:"adult"`
		Overview    string `json:"overview"`
		ReleaseDate string `json:"release_date"`
		Genres      []struct {
			ID   int64  `json:"id"`
			Name string `json:"name"`
		} `json:"genres"`
		ID               int64   `json:"id"`
		OriginalTitle    string  `json:"original_title"`
		OriginalLanguage string  `json:"original_language"`
		Title            string  `json:"title"`
		BackdropPath     string  `json:"backdrop_path"`
		Popularity       float32 `json:"popularity"`
		VoteCount        int64   `json:"vote_count"`
		Video            bool    `json:"video"`
		VoteAverage      float32 `json:"vote_average"`
	} `json:"results"`
}

MoviePopularResults Result Types

type MovieRecommendations

type MovieRecommendations struct {
	Page int64 `json:"page"`
	*MovieRecommendationsResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

MovieRecommendations type is a struct for recommendations JSON response.

type MovieRecommendationsAppend

type MovieRecommendationsAppend struct {
	Recommendations *MovieRecommendations `json:"recommendations,omitempty"`
}

MovieRecommendationsAppend type is a struct for recommendations in append to response.

type MovieRecommendationsResults added in v1.3.5

type MovieRecommendationsResults struct {
	Results []struct {
		PosterPath       string  `json:"poster_path"`
		Adult            bool    `json:"adult"`
		Overview         string  `json:"overview"`
		ReleaseDate      string  `json:"release_date"`
		GenreIDs         []int64 `json:"genre_ids"`
		ID               int64   `json:"id"`
		OriginalTitle    string  `json:"original_title"`
		OriginalLanguage string  `json:"original_language"`
		Title            string  `json:"title"`
		BackdropPath     string  `json:"backdrop_path"`
		Popularity       float32 `json:"popularity"`
		VoteCount        int64   `json:"vote_count"`
		Video            bool    `json:"video"`
		VoteAverage      float32 `json:"vote_average"`
	} `json:"results"`
}

MovieRecommendationsResults Result Types

type MovieReleaseDates

type MovieReleaseDates struct {
	ID int64 `json:"id,omitempty"`
	*MovieReleaseDatesResults
}

MovieReleaseDates type is a struct for release dates JSON response.

type MovieReleaseDatesAppend

type MovieReleaseDatesAppend struct {
	ReleaseDates *MovieReleaseDates `json:"release_dates,omitempty"`
}

MovieReleaseDatesAppend type is a struct for release dates in append to response.

type MovieReleaseDatesResults added in v1.3.5

type MovieReleaseDatesResults struct {
	Results []struct {
		Iso3166_1    string `json:"iso_3166_1"`
		ReleaseDates []struct {
			Certification string `json:"certification"`
			Iso639_1      string `json:"iso_639_1"`
			ReleaseDate   string `json:"release_date"`
			Type          int    `json:"type"`
			Note          string `json:"note"`
		} `json:"release_dates"`
	} `json:"results"`
}

MovieReleaseDatesResults Result Types

type MovieReviews

type MovieReviews struct {
	ID   int64 `json:"id,omitempty"`
	Page int64 `json:"page"`
	*MovieReviewsResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

MovieReviews type is a struct for reviews JSON response.

type MovieReviewsAppend

type MovieReviewsAppend struct {
	Reviews struct {
		*MovieReviews
	} `json:"reviews,omitempty"`
}

MovieReviewsAppend type is a struct for reviews in append to response.

type MovieReviewsResults added in v1.3.5

type MovieReviewsResults struct {
	Results []struct {
		ID      string `json:"id"`
		Author  string `json:"author"`
		Content string `json:"content"`
		URL     string `json:"url"`
	} `json:"results"`
}

MovieReviewsResults Result Types

type MovieSimilar

type MovieSimilar struct {
	*MovieRecommendations
}

MovieSimilar type is a struct for similar movies JSON response.

type MovieSimilarAppend

type MovieSimilarAppend struct {
	Similar *MovieSimilar `json:"similar,omitempty"`
}

MovieSimilarAppend type is a struct for similar movies in append to response.

type MovieTopRated

type MovieTopRated struct {
	*MoviePopular
}

MovieTopRated type is a struct for top rated JSON response.

type MovieTranslations

type MovieTranslations struct {
	ID           int64 `json:"id,omitempty"`
	Translations []struct {
		Iso639_1    string `json:"iso_639_1"`
		Iso3166_1   string `json:"iso_3166_1"`
		Name        string `json:"name"`
		EnglishName string `json:"english_name"`
		Data        struct {
			Title    string `json:"title"`
			Overview string `json:"overview"`
			Runtime  int    `json:"runtime"`
			Tagline  string `json:"tagline"`
			Homepage string `json:"homepage"`
		} `json:"data"`
	} `json:"translations"`
}

MovieTranslations type is a struct for translations JSON response.

type MovieTranslationsAppend

type MovieTranslationsAppend struct {
	Translations *MovieTranslations `json:"translations,omitempty"`
}

MovieTranslationsAppend type is a struct for translations in append to response.

type MovieUpcoming

type MovieUpcoming struct {
	*MovieNowPlaying
}

MovieUpcoming type is a struct for upcoming JSON response.

type MovieVideos

type MovieVideos struct {
	ID int64 `json:"id,omitempty"`
	*MovieVideosResults
}

MovieVideos type is a struct for videos JSON response.

type MovieVideosAppend

type MovieVideosAppend struct {
	Videos struct {
		*MovieVideos
	} `json:"videos,omitempty"`
}

MovieVideosAppend type is a struct for videos in append to response.

type MovieVideosResults added in v1.3.5

type MovieVideosResults struct {
	Results []struct {
		ID          string `json:"id"`
		Iso639_1    string `json:"iso_639_1"`
		Iso3166_1   string `json:"iso_3166_1"`
		Key         string `json:"key"`
		Name        string `json:"name"`
		Official    bool   `json:"official"`
		PublishedAt string `json:"published_at"`
		Site        string `json:"site"`
		Size        int    `json:"size"`
		Type        string `json:"type"`
	} `json:"results"`
}

MovieVideosResults Result Types

type MovieWatchProviders added in v1.3.2

type MovieWatchProviders struct {
	ID int64 `json:"id,omitempty"`
	*MovieWatchProvidersResults
}

MovieWatchProviders type is a struct for watch/providers JSON response.

type MovieWatchProvidersAppend added in v1.3.2

type MovieWatchProvidersAppend struct {
	WatchProviders *MovieWatchProviders `json:"watch/providers,omitempty"`
}

MovieWatchProvidersAppend type is a struct for watch/providers in append to response.

type MovieWatchProvidersResults added in v1.3.5

type MovieWatchProvidersResults struct {
	Results map[string]struct {
		Link     string `json:"link"`
		Flatrate []struct {
			DisplayPriority int64  `json:"display_priority"`
			LogoPath        string `json:"logo_path"`
			ProviderID      int64  `json:"provider_id"`
			ProviderName    string `json:"provider_name"`
		} `json:"flatrate,omitempty"`
		Rent []struct {
			DisplayPriority int64  `json:"display_priority"`
			LogoPath        string `json:"logo_path"`
			ProviderID      int64  `json:"provider_id"`
			ProviderName    string `json:"provider_name"`
		} `json:"rent,omitempty"`
		Buy []struct {
			DisplayPriority int64  `json:"display_priority"`
			LogoPath        string `json:"logo_path"`
			ProviderID      int64  `json:"provider_id"`
			ProviderName    string `json:"provider_name"`
		} `json:"buy,omitempty"`
	} `json:"results"`
}

MovieWatchProvidersResults Result Types

type NetworkAlternativeNames

type NetworkAlternativeNames struct {
	ID      int64 `json:"id"`
	Results []struct {
		Name string `json:"name"`
		Type string `json:"type"`
	} `json:"results"`
}

NetworkAlternativeNames type is a struct for alternative names JSON response.

type NetworkDetails

type NetworkDetails struct {
	Headquarters  string `json:"headquarters"`
	Homepage      string `json:"homepage"`
	ID            int64  `json:"id"`
	LogoPath      string `json:"logo_path"`
	Name          string `json:"name"`
	OriginCountry string `json:"origin_country"`
}

NetworkDetails type is a struct for details JSON response.

type NetworkImage added in v1.5.6

type NetworkImage struct {
	AspectRatio float64 `json:"aspect_ratio"`
	FilePath    string  `json:"file_path"`
	Height      int     `json:"height"`
	ID          string  `json:"id"`
	FileType    string  `json:"file_type"`
	VoteAverage float64 `json:"vote_average"`
	VoteCount   int64   `json:"vote_count"`
	Width       int     `json:"width"`
}

NetworkImage type is a struct for a single image.

type NetworkImages

type NetworkImages struct {
	ID    int64          `json:"id"`
	Logos []NetworkImage `json:"logos"`
}

NetworkImages type is a struct for images JSON response.

type PersonChanges

type PersonChanges struct {
	Changes []struct {
		Key   string `json:"key"`
		Items []struct {
			ID            string `json:"id"`
			Action        string `json:"action"`
			Time          string `json:"time"`
			Iso639_1      string `json:"iso_639_1"`
			Iso3166_1     string `json:"iso_3166_1"`
			OriginalValue string `json:"original_value"`
		} `json:"items"`
	} `json:"changes"`
}

PersonChanges type is a struct for changes JSON response.

type PersonChangesAppend

type PersonChangesAppend struct {
	Changes *PersonChanges `json:"changes,omitempty"`
}

PersonChangesAppend type is a struct for changes JSON in append to response.

type PersonCombinedCredits

type PersonCombinedCredits struct {
	Cast []struct {
		ID               int64    `json:"id"`
		Character        string   `json:"character"`
		OriginalTitle    string   `json:"original_title"`
		Overview         string   `json:"overview"`
		VoteCount        int64    `json:"vote_count"`
		Video            bool     `json:"video"`
		MediaType        string   `json:"media_type"`
		ReleaseDate      string   `json:"release_date"`
		VoteAverage      float32  `json:"vote_average"`
		Title            string   `json:"title"`
		Popularity       float32  `json:"popularity"`
		OriginalLanguage string   `json:"original_language"`
		GenreIDs         []int64  `json:"genre_ids"`
		BackdropPath     string   `json:"backdrop_path"`
		Adult            bool     `json:"adult"`
		PosterPath       string   `json:"poster_path"`
		CreditID         string   `json:"credit_id"`
		EpisodeCount     int      `json:"episode_count"`
		OriginCountry    []string `json:"origin_country"`
		OriginalName     string   `json:"original_name"`
		Name             string   `json:"name"`
		FirstAirDate     string   `json:"first_air_date"`
	} `json:"cast"`
	Crew []struct {
		ID               int64   `json:"id"`
		Department       string  `json:"department"`
		OriginalLanguage string  `json:"original_language"`
		OriginalTitle    string  `json:"original_title"`
		Job              string  `json:"job"`
		Overview         string  `json:"overview"`
		VoteCount        int64   `json:"vote_count"`
		Video            bool    `json:"video"`
		MediaType        string  `json:"media_type"`
		PosterPath       string  `json:"poster_path"`
		BackdropPath     string  `json:"backdrop_path"`
		Title            string  `json:"title"`
		Popularity       float32 `json:"popularity"`
		GenreIDs         []int64 `json:"genre_ids"`
		VoteAverage      float32 `json:"vote_average"`
		Adult            bool    `json:"adult"`
		ReleaseDate      string  `json:"release_date"`
		CreditID         string  `json:"credit_id"`
	} `json:"crew"`
	ID int64 `json:"id,omitempty"`
}

PersonCombinedCredits type is a struct for combined credits JSON response.

type PersonCombinedCreditsAppend

type PersonCombinedCreditsAppend struct {
	CombinedCredits *PersonCombinedCredits `json:"combined_credits,omitempty"`
}

PersonCombinedCreditsAppend type is a struct for combined credits in append to response.

type PersonDetails

type PersonDetails struct {
	Birthday           string   `json:"birthday"`
	KnownForDepartment string   `json:"known_for_department"`
	Deathday           string   `json:"deathday"`
	ID                 int64    `json:"id"`
	Name               string   `json:"name"`
	AlsoKnownAs        []string `json:"also_known_as"`
	Gender             int      `json:"gender"`
	Biography          string   `json:"biography"`
	Popularity         float32  `json:"popularity"`
	PlaceOfBirth       string   `json:"place_of_birth"`
	ProfilePath        string   `json:"profile_path"`
	Adult              bool     `json:"adult"`
	IMDbID             string   `json:"imdb_id"`
	Homepage           string   `json:"homepage"`
	*PersonChangesAppend
	*PersonMovieCreditsAppend
	*PersonTVCreditsAppend
	*PersonCombinedCreditsAppend
	*PersonExternalIDsAppend
	*PersonImagesAppend
	*PersonTaggedImagesAppend
	*PersonTranslationsAppend
}

PersonDetails type is a struct for details JSON response.

type PersonExternalIDs

type PersonExternalIDs struct {
	ID          int64  `json:"id,omitempty"`
	TwitterID   string `json:"twitter_id"`
	FacebookID  string `json:"facebook_id"`
	TvrageID    int64  `json:"tvrage_id"`
	InstagramID string `json:"instagram_id"`
	FreebaseMid string `json:"freebase_mid"`
	IMDbID      string `json:"imdb_id"`
	FreebaseID  string `json:"freebase_id"`
}

PersonExternalIDs type is a struct for external ids JSON response.

type PersonExternalIDsAppend

type PersonExternalIDsAppend struct {
	ExternalIDs *PersonExternalIDs `json:"external_ids,omitempty"`
}

PersonExternalIDsAppend type is a struct for external ids in append to response.

type PersonImage added in v1.5.6

type PersonImage struct {
	Iso639_1    string  `json:"iso_639_1"`
	Width       int     `json:"width"`
	Height      int     `json:"height"`
	VoteCount   int64   `json:"vote_count"`
	VoteAverage float32 `json:"vote_average"`
	FilePath    string  `json:"file_path"`
	AspectRatio float32 `json:"aspect_ratio"`
}

PersonImage type is a struct for a single image.

type PersonImages

type PersonImages struct {
	Profiles []PersonImage `json:"profiles"`
	ID       int           `json:"id,omitempty"`
}

PersonImages type is a struct for images JSON response.

type PersonImagesAppend

type PersonImagesAppend struct {
	Images *PersonImages `json:"images,omitempty"`
}

PersonImagesAppend type is a struct for images in append to response.

type PersonLatest

type PersonLatest struct {
	Birthday     string   `json:"birthday"`
	Deathday     string   `json:"deathday"`
	ID           int64    `json:"id"`
	Name         string   `json:"name"`
	AlsoKnownAs  []string `json:"also_known_as"`
	Gender       int      `json:"gender"`
	Biography    string   `json:"biography"`
	Popularity   float32  `json:"popularity"`
	PlaceOfBirth string   `json:"place_of_birth"`
	ProfilePath  string   `json:"profile_path"`
	Adult        bool     `json:"adult"`
	IMDbID       string   `json:"imdb_id"`
	Homepage     string   `json:"homepage"`
}

PersonLatest type is a struct for latest JSON response.

type PersonMovieCredits

type PersonMovieCredits struct {
	Cast []struct {
		Character        string  `json:"character"`
		CreditID         string  `json:"credit_id"`
		PosterPath       string  `json:"poster_path"`
		ID               int64   `json:"id"`
		Order            int     `json:"order"`
		Video            bool    `json:"video"`
		VoteCount        int64   `json:"vote_count"`
		Adult            bool    `json:"adult"`
		BackdropPath     string  `json:"backdrop_path"`
		GenreIDs         []int64 `json:"genre_ids"`
		OriginalLanguage string  `json:"original_language"`
		OriginalTitle    string  `json:"original_title"`
		Popularity       float32 `json:"popularity"`
		Title            string  `json:"title"`
		VoteAverage      float32 `json:"vote_average"`
		Overview         string  `json:"overview"`
		ReleaseDate      string  `json:"release_date"`
	} `json:"cast"`
	Crew []struct {
		ID               int64   `json:"id"`
		Department       string  `json:"department"`
		OriginalLanguage string  `json:"original_language"`
		OriginalTitle    string  `json:"original_title"`
		Job              string  `json:"job"`
		Overview         string  `json:"overview"`
		VoteCount        int64   `json:"vote_count"`
		Video            bool    `json:"video"`
		ReleaseDate      string  `json:"release_date"`
		VoteAverage      float32 `json:"vote_average"`
		Title            string  `json:"title"`
		Popularity       float32 `json:"popularity"`
		GenreIDs         []int64 `json:"genre_ids"`
		BackdropPath     string  `json:"backdrop_path"`
		Adult            bool    `json:"adult"`
		PosterPath       string  `json:"poster_path"`
		CreditID         string  `json:"credit_id"`
	} `json:"crew"`
	ID int64 `json:"id,omitempty"`
}

PersonMovieCredits type is a struct for movie credits JSON response.

type PersonMovieCreditsAppend

type PersonMovieCreditsAppend struct {
	MovieCredits *PersonMovieCredits `json:"movie_credits,omitempty"`
}

PersonMovieCreditsAppend type is a struct for movie credits in append to response.

type PersonPopular

type PersonPopular struct {
	Page         int64 `json:"page"`
	TotalResults int64 `json:"total_results"`
	TotalPages   int64 `json:"total_pages"`
	Results      []struct {
		Popularity  float32 `json:"popularity"`
		ID          int64   `json:"id"`
		ProfilePath string  `json:"profile_path"`
		Name        string  `json:"name"`
		KnownFor    []struct {
			OriginalTitle    string   `json:"original_title,omitempty"`
			OriginalName     string   `json:"original_name,omitempty"`
			ID               int64    `json:"id"`
			MediaType        string   `json:"media_type"`
			Name             string   `json:"name,omitempty"`
			Title            string   `json:"title,omitempty"`
			VoteCount        int64    `json:"vote_count"`
			VoteAverage      float32  `json:"vote_average"`
			PosterPath       string   `json:"poster_path"`
			FirstAirDate     string   `json:"first_air_date,omitempty"`
			ReleaseDate      string   `json:"release_date,omitempty"`
			Popularity       float32  `json:"popularity"`
			GenreIDs         []int64  `json:"genre_ids"`
			OriginalLanguage string   `json:"original_language"`
			BackdropPath     string   `json:"backdrop_path"`
			Overview         string   `json:"overview"`
			OriginCountry    []string `json:"origin_country,omitempty"`
		} `json:"known_for"`
		Adult bool `json:"adult"`
	} `json:"results"`
}

PersonPopular type is a struct for popular JSON response.

type PersonTVCredits

type PersonTVCredits struct {
	Cast []struct {
		CreditID         string   `json:"credit_id"`
		OriginalName     string   `json:"original_name"`
		ID               int64    `json:"id"`
		GenreIDs         []int64  `json:"genre_ids"`
		Character        string   `json:"character"`
		Name             string   `json:"name"`
		PosterPath       string   `json:"poster_path"`
		VoteCount        int64    `json:"vote_count"`
		VoteAverage      float32  `json:"vote_average"`
		Popularity       float32  `json:"popularity"`
		EpisodeCount     int      `json:"episode_count"`
		OriginalLanguage string   `json:"original_language"`
		FirstAirDate     string   `json:"first_air_date"`
		BackdropPath     string   `json:"backdrop_path"`
		Overview         string   `json:"overview"`
		OriginCountry    []string `json:"origin_country"`
	} `json:"cast"`
	Crew []struct {
		ID               int64    `json:"id"`
		Department       string   `json:"department"`
		OriginalLanguage string   `json:"original_language"`
		EpisodeCount     int      `json:"episode_count"`
		Job              string   `json:"job"`
		Overview         string   `json:"overview"`
		OriginCountry    []string `json:"origin_country"`
		OriginalName     string   `json:"original_name"`
		GenreIDs         []int64  `json:"genre_ids"`
		Name             string   `json:"name"`
		FirstAirDate     string   `json:"first_air_date"`
		BackdropPath     string   `json:"backdrop_path"`
		Popularity       float32  `json:"popularity"`
		VoteCount        int64    `json:"vote_count"`
		VoteAverage      float32  `json:"vote_average"`
		PosterPath       string   `json:"poster_path"`
		CreditID         string   `json:"credit_id"`
	} `json:"crew"`
	ID int64 `json:"id,omitempty"`
}

PersonTVCredits type is a struct for tv credits JSON response.

type PersonTVCreditsAppend

type PersonTVCreditsAppend struct {
	TVCredits *PersonTVCredits `json:"tv_credits,omitempty"`
}

PersonTVCreditsAppend type is a struct for tv credits in append to response.

type PersonTaggedImages

type PersonTaggedImages struct {
	ID           int64 `json:"id"`
	Page         int64 `json:"page"`
	TotalResults int64 `json:"total_results"`
	TotalPages   int64 `json:"total_pages"`
	Results      []struct {
		Iso639_1    string  `json:"iso_639_1"`
		VoteCount   int64   `json:"vote_count"`
		MediaType   string  `json:"media_type"`
		FilePath    string  `json:"file_path"`
		AspectRatio float32 `json:"aspect_ratio"`
		Media       struct {
			Popularity       float32 `json:"popularity"`
			VoteCount        int64   `json:"vote_count"`
			Video            bool    `json:"video"`
			PosterPath       string  `json:"poster_path"`
			ID               int64   `json:"id"`
			Adult            bool    `json:"adult"`
			BackdropPath     string  `json:"backdrop_path"`
			OriginalLanguage string  `json:"original_language"`
			OriginalTitle    string  `json:"original_title"`
			GenreIDs         []int64 `json:"genre_ids"`
			Title            string  `json:"title"`
			VoteAverage      float32 `json:"vote_average"`
			Overview         string  `json:"overview"`
			ReleaseDate      string  `json:"release_date"`
		} `json:"media"`
		Height      int     `json:"height"`
		VoteAverage float32 `json:"vote_average"`
		Width       int     `json:"width"`
	} `json:"results"`
}

PersonTaggedImages type is a struct for tagged images JSON response.

type PersonTaggedImagesAppend

type PersonTaggedImagesAppend struct {
	TaggedImages *PersonTaggedImages `json:"tagged_images,omitempty"`
}

PersonTaggedImagesAppend type is a struct for tagged images in append to response.

type PersonTranslations

type PersonTranslations struct {
	Translations []struct {
		Iso639_1  string `json:"iso_639_1"`
		Iso3166_1 string `json:"iso_3166_1"`
		Name      string `json:"name"`
		Data      struct {
			Biography string `json:"biography"`
		} `json:"data"`
		EnglishName string `json:"english_name"`
	} `json:"translations"`
	ID int64 `json:"id,omitempty"`
}

PersonTranslations type is a struct for translations JSON response.

type PersonTranslationsAppend

type PersonTranslationsAppend struct {
	Translations *PersonTranslations `json:"translations,omitempty"`
}

PersonTranslationsAppend type is a struct for translations in append to response.

type RequestToken

type RequestToken struct {
	Success        bool   `json:"success"`
	ExpiresAt      string `json:"expires_at"`
	GuestSessionID string `json:"guest_session_id,omitempty"`
	RequestToken   string `json:"request_token,omitempty"`
}

RequestToken type is a struct for request token JSON response.

type Response added in v1.1.3

type Response struct {
	StatusCode    int    `json:"status_code"`
	StatusMessage string `json:"status_message"`
}

Response type is a struct for http responses.

type ReviewDetails

type ReviewDetails struct {
	ID            string `json:"id"`
	Author        string `json:"author"`
	AuthorDetails struct {
		AvatarPath string  `json:"avatar_path"`
		Name       string  `json:"name"`
		Rating     float32 `json:"rating"`
		Username   string  `json:"username"`
	} `json:"author_details"`
	Content    string `json:"content"`
	CreatedAt  string `json:"created_at"`
	UpdatedAt  string `json:"updated_at"`
	Iso639_1   string `json:"iso_639_1"`
	MediaID    int64  `json:"media_id"`
	MediaTitle string `json:"media_title"`
	MediaType  string `json:"media_type"`
	URL        string `json:"url"`
}

ReviewDetails type is a struct for details JSON response.

type SearchCollections

type SearchCollections struct {
	Page int64 `json:"page"`
	*SearchCollectionsResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

SearchCollections type is a strcut for collections JSON response.

type SearchCollectionsResults added in v1.3.5

type SearchCollectionsResults struct {
	Results []struct {
		Adult            bool   `json:"adult"`
		BackdropPath     string `json:"backdrop_path"`
		ID               int64  `json:"id"`
		Name             string `json:"name"`
		OriginalLanguage string `json:"original_language"`
		OriginalName     string `json:"original_name"`
		Overview         string `json:"overview"`
		PosterPath       string `json:"poster_path"`
	} `json:"results"`
}

SearchCollectionsResults Result Types

type SearchCompanies

type SearchCompanies struct {
	Page int64 `json:"page"`
	*SearchCompaniesResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

SearchCompanies type is a struct for companies JSON response.

type SearchCompaniesResults added in v1.3.5

type SearchCompaniesResults struct {
	Results []struct {
		ID            int64  `json:"id"`
		LogoPath      string `json:"logo_path"`
		Name          string `json:"name"`
		OriginCountry string `json:"origin_country"`
	} `json:"results"`
}

SearchCompaniesResults Result Types

type SearchKeywords

type SearchKeywords struct {
	Page int64 `json:"page"`
	*SearchKeywordsResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

SearchKeywords type is a struct for keywords JSON response.

type SearchKeywordsResults added in v1.3.5

type SearchKeywordsResults struct {
	Results []struct {
		ID   int64  `json:"id"`
		Name string `json:"name"`
	} `json:"results"`
}

SearchKeywordsResults Result Types

type SearchMovies

type SearchMovies struct {
	Page         int64 `json:"page"`
	TotalResults int64 `json:"total_results"`
	TotalPages   int64 `json:"total_pages"`
	*SearchMoviesResults
}

SearchMovies type is a struct for movies JSON response.

type SearchMoviesResults added in v1.3.5

type SearchMoviesResults struct {
	Results []struct {
		VoteCount        int64   `json:"vote_count"`
		ID               int64   `json:"id"`
		Video            bool    `json:"video"`
		VoteAverage      float32 `json:"vote_average"`
		Title            string  `json:"title"`
		Popularity       float32 `json:"popularity"`
		PosterPath       string  `json:"poster_path"`
		OriginalLanguage string  `json:"original_language"`
		OriginalTitle    string  `json:"original_title"`
		GenreIDs         []int64 `json:"genre_ids"`
		BackdropPath     string  `json:"backdrop_path"`
		Adult            bool    `json:"adult"`
		Overview         string  `json:"overview"`
		ReleaseDate      string  `json:"release_date"`
	} `json:"results"`
}

SearchMoviesResults Result Types

type SearchMulti

type SearchMulti struct {
	Page int `json:"page"`
	*SearchMultiResults
	TotalResults int64 `json:"total_results"`
	TotalPages   int64 `json:"total_pages"`
}

SearchMulti type is a struct for multi JSON response.

type SearchMultiResults added in v1.3.5

type SearchMultiResults struct {
	Results []struct {
		PosterPath       string   `json:"poster_path,omitempty"`
		Popularity       float32  `json:"popularity"`
		ID               int64    `json:"id"`
		Overview         string   `json:"overview,omitempty"`
		BackdropPath     string   `json:"backdrop_path,omitempty"`
		VoteAverage      float32  `json:"vote_average,omitempty"`
		MediaType        string   `json:"media_type"`
		FirstAirDate     string   `json:"first_air_date,omitempty"`
		OriginCountry    []string `json:"origin_country,omitempty"`
		GenreIDs         []int64  `json:"genre_ids,omitempty"`
		OriginalLanguage string   `json:"original_language,omitempty"`
		VoteCount        int64    `json:"vote_count,omitempty"`
		Name             string   `json:"name,omitempty"`
		OriginalName     string   `json:"original_name,omitempty"`
		Adult            bool     `json:"adult,omitempty"`
		ReleaseDate      string   `json:"release_date,omitempty"`
		OriginalTitle    string   `json:"original_title,omitempty"`
		Title            string   `json:"title,omitempty"`
		Video            bool     `json:"video,omitempty"`
		ProfilePath      string   `json:"profile_path,omitempty"`
		KnownFor         []struct {
			PosterPath       string  `json:"poster_path"`
			Adult            bool    `json:"adult"`
			Overview         string  `json:"overview"`
			ReleaseDate      string  `json:"release_date"`
			OriginalTitle    string  `json:"original_title"`
			GenreIDs         []int64 `json:"genre_ids"`
			ID               int64   `json:"id"`
			MediaType        string  `json:"media_type"`
			OriginalLanguage string  `json:"original_language"`
			Title            string  `json:"title"`
			BackdropPath     string  `json:"backdrop_path"`
			Popularity       float32 `json:"popularity"`
			VoteCount        int64   `json:"vote_count"`
			Video            bool    `json:"video"`
			VoteAverage      float32 `json:"vote_average"`
		} `json:"known_for,omitempty"`
	} `json:"results"`
}

SearchMultiResults Result Types

type SearchPeople

type SearchPeople struct {
	Page         int64 `json:"page"`
	TotalResults int64 `json:"total_results"`
	TotalPages   int64 `json:"total_pages"`
	*SearchPeopleResults
}

SearchPeople type is a struct for people JSON response.

type SearchPeopleResults added in v1.3.5

type SearchPeopleResults struct {
	Results []struct {
		Adult    bool  `json:"adult"`
		Gender   int   `json:"gender,omitempty"`
		ID       int64 `json:"id"`
		KnownFor []struct {
			Adult            bool     `json:"adult,omitempty"` // Movie
			BackdropPath     string   `json:"backdrop_path"`
			FirstAirDate     string   `json:"first_air_date,omitempty"` // TV
			GenreIDs         []int64  `json:"genre_ids"`
			ID               int64    `json:"id"`
			MediaType        string   `json:"media_type"`
			Name             string   `json:"name,omitempty"` // TV
			OriginalLanguage string   `json:"original_language"`
			OriginalName     string   `json:"original_name,omitempty"`  // TV
			OriginalTitle    string   `json:"original_title,omitempty"` // Movie
			OriginCountry    []string `json:"origin_country,omitempty"` // TV
			Overview         string   `json:"overview"`
			Popularity       float32  `json:"popularity"`
			PosterPath       string   `json:"poster_path"`
			ReleaseDate      string   `json:"release_date,omitempty"` // Movie
			Title            string   `json:"title,omitempty"`        // Movie
			Video            bool     `json:"video,omitempty"`        // Movie
			VoteAverage      float32  `json:"vote_average"`
			VoteCount        int64    `json:"vote_count"`
		} `json:"known_for"`
		KnownForDepartment string  `json:"known_for_department"`
		Name               string  `json:"name"`
		Popularity         float32 `json:"popularity"`
		ProfilePath        string  `json:"profile_path"`
	} `json:"results"`
}

SearchPeopleResults Result Types

type SearchTVShows

type SearchTVShows struct {
	Page         int64 `json:"page"`
	TotalResults int64 `json:"total_results"`
	TotalPages   int64 `json:"total_pages"`
	*SearchTVShowsResults
}

SearchTVShows type is a struct for tv show JSON response.

type SearchTVShowsResults added in v1.3.5

type SearchTVShowsResults struct {
	Results []struct {
		OriginalName     string   `json:"original_name"`
		ID               int64    `json:"id"`
		Name             string   `json:"name"`
		VoteCount        int64    `json:"vote_count"`
		VoteAverage      float32  `json:"vote_average"`
		PosterPath       string   `json:"poster_path"`
		FirstAirDate     string   `json:"first_air_date"`
		Popularity       float32  `json:"popularity"`
		GenreIDs         []int64  `json:"genre_ids"`
		OriginalLanguage string   `json:"original_language"`
		BackdropPath     string   `json:"backdrop_path"`
		Overview         string   `json:"overview"`
		OriginCountry    []string `json:"origin_country"`
	} `json:"results"`
}

SearchTVShowsResults Result Types

type Session

type Session struct {
	Success   bool   `json:"success"`
	SessionID string `json:"session_id"`
}

Session type is a struct for session JSON response.

type SessionWithLogin

type SessionWithLogin struct {
	Username     string `json:"username"`
	Password     string `json:"password"`
	RequestToken string `json:"request_token"`
}

SessionWithLogin type is a struct for session with login JSON response.

type TVAccountStates

type TVAccountStates struct {
	ID        int64               `json:"id"`
	Favorite  bool                `json:"favorite"`
	Rated     jsoniter.RawMessage `json:"rated"`
	Watchlist bool                `json:"watchlist"`
}

TVAccountStates type is a struct for account states JSON response.

type TVAggregateCredits added in v1.3.3

type TVAggregateCredits struct {
	ID   int64 `json:"id,omitempty"`
	Cast []struct {
		ID                 int64   `json:"id"`
		Adult              bool    `json:"adult"`
		Gender             int     `json:"gender"`
		KnownForDepartment string  `json:"known_for_department"`
		Name               string  `json:"name"`
		Order              int     `json:"order"`
		OriginalName       string  `json:"original_name"`
		Popularity         float64 `json:"popularity"`
		ProfilePath        string  `json:"profile_path"`
		Roles              []struct {
			Character    string `json:"character"`
			CreditID     string `json:"credit_id"`
			EpisodeCount int    `json:"episode_count"`
		} `json:"roles"`
		TotalEpisodeCount int `json:"total_episode_count"`
	} `json:"cast"`
	Crew []struct {
		ID         int64  `json:"id"`
		Adult      bool   `json:"adult"`
		Department string `json:"department"`
		Gender     int    `json:"gender"`
		Jobs       []struct {
			CreditID     string `json:"credit_id"`
			EpisodeCount int    `json:"episode_count"`
			Job          string `json:"job"`
		} `json:"jobs"`
		TotalEpisodeCount  int     `json:"total_episode_count"`
		KnownForDepartment string  `json:"known_for_department"`
		Name               string  `json:"name"`
		OriginalName       string  `json:"original_name"`
		Popularity         float64 `json:"popularity"`
		ProfilePath        string  `json:"profile_path"`
	} `json:"crew"`
}

TVAggregateCredits type is a struct for aggregate credits JSON response.

type TVAggregateCreditsAppend added in v1.3.3

type TVAggregateCreditsAppend struct {
	AggregateCredits *TVAggregateCredits `json:"aggregate_credits,omitempty"`
}

TVAggregateCreditsAppend type is a struct for aggregate credits in append to response.

type TVAiringToday

type TVAiringToday struct {
	Page         int64 `json:"page"`
	TotalResults int64 `json:"total_results"`
	TotalPages   int64 `json:"total_pages"`
	*TVAiringTodayResults
}

TVAiringToday type is a struct for airing today JSON response.

type TVAiringTodayResults added in v1.3.5

type TVAiringTodayResults struct {
	Results []struct {
		OriginalName     string   `json:"original_name"`
		GenreIDs         []int64  `json:"genre_ids"`
		Name             string   `json:"name"`
		Popularity       float32  `json:"popularity"`
		OriginCountry    []string `json:"origin_country"`
		VoteCount        int64    `json:"vote_count"`
		FirstAirDate     string   `json:"first_air_date"`
		BackdropPath     string   `json:"backdrop_path"`
		OriginalLanguage string   `json:"original_language"`
		ID               int64    `json:"id"`
		VoteAverage      float32  `json:"vote_average"`
		Overview         string   `json:"overview"`
		PosterPath       string   `json:"poster_path"`
	} `json:"results"`
}

TVAiringTodayResults Result Types

type TVAlternativeTitles

type TVAlternativeTitles struct {
	ID int `json:"id,omitempty"`
	*TVAlternativeTitlesResults
}

TVAlternativeTitles type is a struct for alternative titles JSON response.

type TVAlternativeTitlesAppend

type TVAlternativeTitlesAppend struct {
	AlternativeTitles *TVAlternativeTitles `json:"alternative_titles,omitempty"`
}

TVAlternativeTitlesAppend type is a struct for alternative titles in append to response.

type TVAlternativeTitlesResults added in v1.3.5

type TVAlternativeTitlesResults struct {
	Results []struct {
		Iso3166_1 string `json:"iso_3166_1"`
		Title     string `json:"title"`
		Type      string `json:"type"`
	} `json:"results"`
}

TVAlternativeTitlesResults Result Types

type TVChanges

type TVChanges struct {
	Changes []struct {
		Key   string `json:"key"`
		Items []struct {
			ID            string              `json:"id"`
			Action        string              `json:"action"`
			Time          string              `json:"time"`
			Iso639_1      string              `json:"iso_639_1"`
			Iso3166_1     string              `json:"iso_3166_1"`
			Value         jsoniter.RawMessage `json:"value"`
			OriginalValue jsoniter.RawMessage `json:"original_value"`
		} `json:"items"`
	} `json:"changes"`
}

TVChanges type is a struct for changes JSON response.

type TVChangesAppend

type TVChangesAppend struct {
	Changes *TVChanges `json:"changes,omitempty"`
}

TVChangesAppend type is a struct for changes in append to response.

type TVContentRatings

type TVContentRatings struct {
	*TVContentRatingsResults
	ID int64 `json:"id,omitempty"`
}

TVContentRatings type is a struct for content ratings JSON response.

type TVContentRatingsAppend

type TVContentRatingsAppend struct {
	ContentRatings *TVContentRatings `json:"content_ratings,omitempty"`
}

TVContentRatingsAppend type is a struct for content ratings in append to response.

type TVContentRatingsResults added in v1.3.5

type TVContentRatingsResults struct {
	Results []struct {
		Iso3166_1 string `json:"iso_3166_1"`
		Rating    string `json:"rating"`
	} `json:"results"`
}

TVContentRatingsResults Result Types

type TVCredits

type TVCredits struct {
	ID   int64 `json:"id,omitempty"`
	Cast []struct {
		Character          string  `json:"character"`
		CreditID           string  `json:"credit_id"`
		Gender             int     `json:"gender"`
		ID                 int64   `json:"id"`
		KnownForDepartment string  `json:"known_for_department"`
		Name               string  `json:"name"`
		Order              int     `json:"order"`
		OriginalName       string  `json:"original_name"`
		Popularity         float32 `json:"popularity"`
		ProfilePath        string  `json:"profile_path"`
	} `json:"cast"`
	Crew []struct {
		CreditID           string  `json:"credit_id"`
		Department         string  `json:"department"`
		Gender             int     `json:"gender"`
		ID                 int64   `json:"id"`
		Job                string  `json:"job"`
		KnownForDepartment string  `json:"known_for_department"`
		Name               string  `json:"name"`
		OriginalName       string  `json:"original_name"`
		Popularity         float32 `json:"popularity"`
		ProfilePath        string  `json:"profile_path"`
	} `json:"crew"`
}

TVCredits type is a struct for credits JSON response.

type TVCreditsAppend

type TVCreditsAppend struct {
	Credits struct {
		*TVCredits
	} `json:"credits,omitempty"`
}

TVCreditsAppend type is a struct for credits in append to response.

type TVDetails

type TVDetails struct {
	BackdropPath string `json:"backdrop_path"`
	CreatedBy    []struct {
		ID          int64  `json:"id"`
		CreditID    string `json:"credit_id"`
		Name        string `json:"name"`
		Gender      int    `json:"gender"`
		ProfilePath string `json:"profile_path"`
	} `json:"created_by"`
	EpisodeRunTime []int  `json:"episode_run_time"`
	FirstAirDate   string `json:"first_air_date"`
	Genres         []struct {
		ID   int64  `json:"id"`
		Name string `json:"name"`
	} `json:"genres"`
	Homepage         string   `json:"homepage"`
	ID               int64    `json:"id"`
	InProduction     bool     `json:"in_production"`
	Languages        []string `json:"languages"`
	LastAirDate      string   `json:"last_air_date"`
	LastEpisodeToAir struct {
		AirDate        string  `json:"air_date"`
		EpisodeNumber  int     `json:"episode_number"`
		ID             int64   `json:"id"`
		Name           string  `json:"name"`
		Overview       string  `json:"overview"`
		ProductionCode string  `json:"production_code"`
		SeasonNumber   int     `json:"season_number"`
		ShowID         int64   `json:"show_id"`
		StillPath      string  `json:"still_path"`
		VoteAverage    float32 `json:"vote_average"`
		VoteCount      int64   `json:"vote_count"`
	} `json:"last_episode_to_air"`
	Name             string `json:"name"`
	NextEpisodeToAir struct {
		AirDate        string  `json:"air_date"`
		EpisodeNumber  int     `json:"episode_number"`
		ID             int64   `json:"id"`
		Name           string  `json:"name"`
		Overview       string  `json:"overview"`
		ProductionCode string  `json:"production_code"`
		SeasonNumber   int     `json:"season_number"`
		ShowID         int64   `json:"show_id"`
		StillPath      string  `json:"still_path"`
		VoteAverage    float32 `json:"vote_average"`
		VoteCount      int64   `json:"vote_count"`
	} `json:"next_episode_to_air"`
	Networks []struct {
		Name          string `json:"name"`
		ID            int64  `json:"id"`
		LogoPath      string `json:"logo_path"`
		OriginCountry string `json:"origin_country"`
	} `json:"networks"`
	NumberOfEpisodes    int      `json:"number_of_episodes"`
	NumberOfSeasons     int      `json:"number_of_seasons"`
	OriginCountry       []string `json:"origin_country"`
	OriginalLanguage    string   `json:"original_language"`
	OriginalName        string   `json:"original_name"`
	Overview            string   `json:"overview"`
	Popularity          float32  `json:"popularity"`
	PosterPath          string   `json:"poster_path"`
	ProductionCompanies []struct {
		Name          string `json:"name"`
		ID            int64  `json:"id"`
		LogoPath      string `json:"logo_path"`
		OriginCountry string `json:"origin_country"`
	} `json:"production_companies"`
	ProductionCountries []struct {
		Iso3166_1 string `json:"iso_3166_1"`
		Name      string `json:"name"`
	} `json:"production_countries"`
	Seasons []struct {
		AirDate      string  `json:"air_date"`
		EpisodeCount int     `json:"episode_count"`
		ID           int64   `json:"id"`
		Name         string  `json:"name"`
		Overview     string  `json:"overview"`
		PosterPath   string  `json:"poster_path"`
		SeasonNumber int     `json:"season_number"`
		VoteAverage  float32 `json:"vote_average"`
	} `json:"seasons"`
	Status      string  `json:"status"`
	Tagline     string  `json:"tagline"`
	Type        string  `json:"type"`
	VoteAverage float32 `json:"vote_average"`
	VoteCount   int64   `json:"vote_count"`
	*TVAggregateCreditsAppend
	*TVAlternativeTitlesAppend
	*TVChangesAppend
	*TVContentRatingsAppend
	*TVCreditsAppend
	*TVEpisodeGroupsAppend
	*TVExternalIDsAppend
	*TVImagesAppend
	*TVKeywordsAppend
	*TVRecommendationsAppend
	*TVReviewsAppend
	*TVScreenedTheatricallyAppend
	*TVSimilarAppend
	*TVTranslationsAppend
	*TVVideosAppend
	*TVWatchProvidersAppend
}

TVDetails type is a struct for details JSON response.

type TVEpisodeChanges

type TVEpisodeChanges struct {
	Changes []struct {
		Key   string `json:"key"`
		Items []struct {
			ID            string `json:"id"`
			Action        string `json:"action"`
			Time          string `json:"time"`
			Iso639_1      string `json:"iso_639_1"`
			Iso3166_1     string `json:"iso_3166_1"`
			OriginalValue struct {
				PersonID  int64  `json:"person_id"`
				Character string `json:"character"`
				Order     int64  `json:"order"`
				CreditID  string `json:"credit_id"`
			} `json:"original_values,omitempty"`
			Value jsoniter.RawMessage `json:"value,omitempty"`
		} `json:"items"`
	} `json:"changes"`
}

TVEpisodeChanges type is a struct for changes JSON response.

type TVEpisodeCredits

type TVEpisodeCredits struct {
	Cast []struct {
		Character   string `json:"character"`
		CreditID    string `json:"credit_id"`
		Gender      int    `json:"gender"`
		ID          int64  `json:"id"`
		Name        string `json:"name"`
		Order       int    `json:"order"`
		ProfilePath string `json:"profile_path"`
	} `json:"cast"`
	Crew []struct {
		ID          int64  `json:"id"`
		CreditID    string `json:"credit_id"`
		Name        string `json:"name"`
		Department  string `json:"department"`
		Job         string `json:"job"`
		Gender      int    `json:"gender"`
		ProfilePath string `json:"profile_path"`
	} `json:"crew"`
	GuestStars []struct {
		ID          int64  `json:"id"`
		Name        string `json:"name"`
		CreditID    string `json:"credit_id"`
		Character   string `json:"character"`
		Order       int    `json:"order"`
		Gender      int    `json:"gender"`
		ProfilePath string `json:"profile_path"`
	} `json:"guest_stars"`
	ID int64 `json:"id,omitempty"`
}

TVEpisodeCredits type is a struct for credits JSON response.

type TVEpisodeCreditsAppend

type TVEpisodeCreditsAppend struct {
	Credits *TVEpisodeCredits `json:"credits,omitempty"`
}

TVEpisodeCreditsAppend type is a struct for credits in append to response.

type TVEpisodeDetails

type TVEpisodeDetails struct {
	AirDate string `json:"air_date"`
	Crew    []struct {
		ID          int64  `json:"id"`
		CreditID    string `json:"credit_id"`
		Name        string `json:"name"`
		Department  string `json:"department"`
		Job         string `json:"job"`
		Gender      int    `json:"gender"`
		ProfilePath string `json:"profile_path"`
	} `json:"crew"`
	EpisodeNumber int `json:"episode_number"`
	GuestStars    []struct {
		ID          int64  `json:"id"`
		Name        string `json:"name"`
		CreditID    string `json:"credit_id"`
		Character   string `json:"character"`
		Order       int    `json:"order"`
		Gender      int    `json:"gender"`
		ProfilePath string `json:"profile_path"`
	} `json:"guest_stars"`
	Name           string  `json:"name"`
	Overview       string  `json:"overview"`
	ID             int64   `json:"id"`
	ProductionCode string  `json:"production_code"`
	Runtime        int     `json:"runtime"`
	SeasonNumber   int     `json:"season_number"`
	StillPath      string  `json:"still_path"`
	VoteAverage    float32 `json:"vote_average"`
	VoteCount      int64   `json:"vote_count"`
	*TVEpisodeCreditsAppend
	*TVEpisodeExternalIDsAppend
	*TVEpisodeImagesAppend
	*TVEpisodeTranslationsAppend
	*TVEpisodeVideosAppend
}

TVEpisodeDetails type is a struct for details JSON response.

type TVEpisodeExternalIDs

type TVEpisodeExternalIDs struct {
	ID          int64  `json:"id,omitempty"`
	IMDbID      string `json:"imdb_id"`
	FreebaseMID string `json:"freebase_mid"`
	FreebaseID  string `json:"freebase_id"`
	TVDBID      int64  `json:"tvdb_id"`
	TVRageID    int64  `json:"tvrage_id"`
}

TVEpisodeExternalIDs type is a struct for external ids JSON response.

type TVEpisodeExternalIDsAppend

type TVEpisodeExternalIDsAppend struct {
	ExternalIDs *TVEpisodeExternalIDs `json:"external_ids,omitempty"`
}

TVEpisodeExternalIDsAppend type is a struct for external ids in append to response.

type TVEpisodeGroups

type TVEpisodeGroups struct {
	*TVEpisodeGroupsResults
	ID int64 `json:"id,omitempty"`
}

TVEpisodeGroups type is a struct for episode groups JSON response.

type TVEpisodeGroupsAppend

type TVEpisodeGroupsAppend struct {
	EpisodeGroups *TVEpisodeGroups `json:"episode_groups,omitempty"`
}

TVEpisodeGroupsAppend type is a struct for episode groups in append to response.

type TVEpisodeGroupsDetails

type TVEpisodeGroupsDetails struct {
	Description  string `json:"description"`
	EpisodeCount int    `json:"episode_count"`
	GroupCount   int    `json:"group_count"`
	Groups       []struct {
		ID       string `json:"id"`
		Name     string `json:"name"`
		Order    int    `json:"order"`
		Episodes []struct {
			AirDate        string              `json:"air_date"`
			EpisodeNumber  int                 `json:"episode_number"`
			ID             int64               `json:"id"`
			Name           string              `json:"name"`
			Overview       string              `json:"overview"`
			ProductionCode jsoniter.RawMessage `json:"production_code"`
			SeasonNumber   int                 `json:"season_number"`
			ShowID         int64               `json:"show_id"`
			StillPath      string              `json:"still_path"`
			VoteAverage    float32             `json:"vote_average"`
			VoteCount      int64               `json:"vote_count"`
			Order          int                 `json:"order"`
		} `json:"episodes"`
		Locked bool `json:"locked"`
	} `json:"groups"`
	ID      string `json:"id"`
	Name    string `json:"name"`
	Network struct {
		ID            int64  `json:"id"`
		LogoPath      string `json:"logo_path"`
		Name          string `json:"name"`
		OriginCountry string `json:"origin_country"`
	} `json:"network"`
	Type int `json:"type"`
}

TVEpisodeGroupsDetails type is a struct for details JSON response.

type TVEpisodeGroupsResults added in v1.3.5

type TVEpisodeGroupsResults struct {
	Results []struct {
		Description  string `json:"description"`
		EpisodeCount int    `json:"episode_count"`
		GroupCount   int    `json:"group_count"`
		ID           string `json:"id"`
		Name         string `json:"name"`
		Network      struct {
			ID            int64  `json:"id"`
			LogoPath      string `json:"logo_path"`
			Name          string `json:"name"`
			OriginCountry string `json:"origin_country"`
		} `json:"network"`
		Type int `json:"type"`
	} `json:"results"`
}

TVEpisodeGroupsResults Result Types

type TVEpisodeImage added in v1.5.6

type TVEpisodeImage struct {
	AspectRatio float32     `json:"aspect_ratio"`
	FilePath    string      `json:"file_path"`
	Height      int         `json:"height"`
	Iso6391     interface{} `json:"iso_639_1"`
	VoteAverage float32     `json:"vote_average"`
	VoteCount   int64       `json:"vote_count"`
	Width       int         `json:"width"`
}

TVEpisodeImage type is a struct for a single image.

type TVEpisodeImages

type TVEpisodeImages struct {
	ID     int64            `json:"id,omitempty"`
	Stills []TVEpisodeImage `json:"stills"`
}

TVEpisodeImages type is a struct for images JSON response.

type TVEpisodeImagesAppend

type TVEpisodeImagesAppend struct {
	Images *TVEpisodeImages `json:"images,omitempty"`
}

TVEpisodeImagesAppend type is a struct for images in append to response.

type TVEpisodeRate

type TVEpisodeRate struct {
	StatusCode    int    `json:"status_code"`
	StatusMessage string `json:"status_message"`
}

TVEpisodeRate type is a struct for rate JSON response.

type TVEpisodeTranslations

type TVEpisodeTranslations struct {
	ID           int64 `json:"id,omitempty"`
	Translations []struct {
		Iso3166_1   string `json:"iso_3166_1"`
		Iso639_1    string `json:"iso_639_1"`
		Name        string `json:"name"`
		EnglishName string `json:"english_name"`
		Data        struct {
			Name     string `json:"name"`
			Overview string `json:"overview"`
		} `json:"data"`
	} `json:"translations"`
}

TVEpisodeTranslations type is a struct for translations JSON response.

type TVEpisodeTranslationsAppend

type TVEpisodeTranslationsAppend struct {
	Translations *TVEpisodeTranslations `json:"translations,omitempty"`
}

TVEpisodeTranslationsAppend type is a struct for translations in append to response.

type TVEpisodeVideos

type TVEpisodeVideos struct {
	ID      int64 `json:"id,omitempty"`
	Results []struct {
		ID        string `json:"id"`
		Iso639_1  string `json:"iso_639_1"`
		Iso3166_1 string `json:"iso_3166_1"`
		Key       string `json:"key"`
		Name      string `json:"name"`
		Site      string `json:"site"`
		Size      int    `json:"size"`
		Type      string `json:"type"`
	} `json:"results"`
}

TVEpisodeVideos type is a struct for videos JSON response.

type TVEpisodeVideosAppend

type TVEpisodeVideosAppend struct {
	Videos *TVEpisodeVideos `json:"videos,omitempty"`
}

TVEpisodeVideosAppend type is a struct for videos in append to response.

type TVExternalIDs

type TVExternalIDs struct {
	IMDbID      string `json:"imdb_id"`
	FreebaseMID string `json:"freebase_mid"`
	FreebaseID  string `json:"freebase_id"`
	TVDBID      int64  `json:"tvdb_id"`
	TVRageID    int64  `json:"tvrage_id"`
	FacebookID  string `json:"facebook_id"`
	InstagramID string `json:"instagram_id"`
	TwitterID   string `json:"twitter_id"`
	ID          int64  `json:"id,omitempty"`
}

TVExternalIDs type is a struct for external ids JSON response.

type TVExternalIDsAppend

type TVExternalIDsAppend struct {
	*TVExternalIDs `json:"external_ids,omitempty"`
}

TVExternalIDsAppend type is a short for external ids in append to response.

type TVImage added in v1.5.5

type TVImage struct {
	AspectRatio float32 `json:"aspect_ratio"`
	FilePath    string  `json:"file_path"`
	Height      int     `json:"height"`
	Iso639_1    string  `json:"iso_639_1"`
	VoteAverage float32 `json:"vote_average"`
	VoteCount   int64   `json:"vote_count"`
	Width       int     `json:"width"`
}

TVImage type is a struct for a single image.

type TVImages

type TVImages struct {
	ID        int64     `json:"id,omitempty"`
	Backdrops []TVImage `json:"backdrops"`
	Logos     []TVImage `json:"logos"`
	Posters   []TVImage `json:"posters"`
}

TVImages type is a struct for images JSON response.

type TVImagesAppend

type TVImagesAppend struct {
	Images *TVImages `json:"images,omitempty"`
}

TVImagesAppend type is a struct for images in append to response.

type TVKeywords

type TVKeywords struct {
	ID int64 `json:"id,omitempty"`
	*TVKeywordsResults
}

TVKeywords type is a struct for keywords JSON response.

type TVKeywordsAppend

type TVKeywordsAppend struct {
	Keywords struct {
		*TVKeywords
	} `json:"keywords,omitempty"`
}

TVKeywordsAppend type is a struct for keywords in append to response.

type TVKeywordsResults added in v1.3.5

type TVKeywordsResults struct {
	Results []struct {
		ID   int64  `json:"id"`
		Name string `json:"name"`
	} `json:"results"`
}

TVKeywordsResults Result Types

type TVLatest

type TVLatest struct {
	*TVDetails
}

TVLatest type is a struct for latest JSON response.

type TVOnTheAir

type TVOnTheAir struct {
	*TVAiringToday
}

TVOnTheAir type is a struct for on the air JSON response.

type TVPopular

type TVPopular struct {
	*TVAiringToday
}

TVPopular type is a struct for popular JSON response.

type TVRecommendations

type TVRecommendations struct {
	Page int64 `json:"page"`
	*TVRecommendationsResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

TVRecommendations type is a struct for recommendations JSON response.

type TVRecommendationsAppend

type TVRecommendationsAppend struct {
	Recommendations *TVRecommendations `json:"recommendations,omitempty"`
}

TVRecommendationsAppend type is a struct for recommendations in append to response.

type TVRecommendationsResults added in v1.3.5

type TVRecommendationsResults struct {
	Results []struct {
		PosterPath       string   `json:"poster_path"`
		Popularity       float32  `json:"popularity"`
		ID               int64    `json:"id"`
		BackdropPath     string   `json:"backdrop_path"`
		VoteAverage      float32  `json:"vote_average"`
		Overview         string   `json:"overview"`
		FirstAirDate     string   `json:"first_air_date"`
		OriginCountry    []string `json:"origin_country"`
		GenreIDs         []int64  `json:"genre_ids"`
		OriginalLanguage string   `json:"original_language"`
		VoteCount        int64    `json:"vote_count"`
		Name             string   `json:"name"`
		OriginalName     string   `json:"original_name"`
	} `json:"results"`
}

TVRecommendationsResults Result Types

type TVReviews

type TVReviews struct {
	ID   int64 `json:"id,omitempty"`
	Page int64 `json:"page"`
	*TVReviewsResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

TVReviews type is a struct for reviews JSON response.

type TVReviewsAppend

type TVReviewsAppend struct {
	Reviews struct {
		*TVReviews
	} `json:"reviews,omitempty"`
}

TVReviewsAppend type is a struct for reviews in append to response.

type TVReviewsResults added in v1.3.5

type TVReviewsResults struct {
	Results []struct {
		ID      string `json:"id"`
		Author  string `json:"author"`
		Content string `json:"content"`
		URL     string `json:"url"`
	} `json:"results"`
}

TVReviewsResults Result Types

type TVScreenedTheatrically

type TVScreenedTheatrically struct {
	ID int64 `json:"id,omitempty"`
	*TVScreenedTheatricallyResults
}

TVScreenedTheatrically type is a struct for screened theatrically JSON response.

type TVScreenedTheatricallyAppend

type TVScreenedTheatricallyAppend struct {
	ScreenedTheatrically *TVScreenedTheatrically `json:"screened_theatrically,omitempty"`
}

TVScreenedTheatricallyAppend type is a struct for screened theatrically in append to response.

type TVScreenedTheatricallyResults added in v1.3.5

type TVScreenedTheatricallyResults struct {
	Results []struct {
		ID            int64 `json:"id"`
		EpisodeNumber int   `json:"episode_number"`
		SeasonNumber  int   `json:"season_number"`
	} `json:"results"`
}

TVScreenedTheatricallyResults Result Types

type TVSeasonChanges

type TVSeasonChanges struct {
	Changes []struct {
		Items []struct {
			ID        string `json:"id"`
			Action    string `json:"action"`
			Time      string `json:"time"`
			Iso639_1  string `json:"iso_639_1"`
			Iso3166_1 string `json:"iso_3166_1"`
			Value     struct {
				EpisodeID     int64 `json:"episode_id"`
				EpisodeNumber int   `json:"episode_number"`
			} `json:"value"`
		} `json:"items"`
		Key string `json:"key"`
	} `json:"changes"`
}

TVSeasonChanges is a struct for changes JSON response.

type TVSeasonCredits

type TVSeasonCredits struct {
	Cast []struct {
		Character   string `json:"character"`
		CreditID    string `json:"credit_id"`
		Gender      int    `json:"gender"`
		ID          int64  `json:"id"`
		Name        string `json:"name"`
		Order       int    `json:"order"`
		ProfilePath string `json:"profile_path"`
	} `json:"cast"`
	Crew []struct {
		CreditID    string `json:"credit_id"`
		Department  string `json:"department"`
		Gender      int    `json:"gender"`
		ID          int64  `json:"id"`
		Job         string `json:"job"`
		Name        string `json:"name"`
		ProfilePath string `json:"profile_path"`
	} `json:"crew"`
	ID int `json:"id"`
}

TVSeasonCredits type is a struct for credits JSON response.

type TVSeasonCreditsAppend

type TVSeasonCreditsAppend struct {
	Credits *TVSeasonCredits `json:"credits,omitempty"`
}

TVSeasonCreditsAppend type is a struct for credits in append to response.

type TVSeasonDetails

type TVSeasonDetails struct {
	IDString string `json:"_id"`
	AirDate  string `json:"air_date"`
	Episodes []struct {
		AirDate        string  `json:"air_date"`
		EpisodeNumber  int     `json:"episode_number"`
		ID             int64   `json:"id"`
		Name           string  `json:"name"`
		Overview       string  `json:"overview"`
		ProductionCode string  `json:"production_code"`
		Runtime        int     `json:"runtime"`
		SeasonNumber   int     `json:"season_number"`
		ShowID         int64   `json:"show_id"`
		StillPath      string  `json:"still_path"`
		VoteAverage    float32 `json:"vote_average"`
		VoteCount      int64   `json:"vote_count"`
		Crew           []struct {
			ID          int64  `json:"id"`
			CreditID    string `json:"credit_id"`
			Name        string `json:"name"`
			Department  string `json:"department"`
			Job         string `json:"job"`
			Gender      int    `json:"gender"`
			ProfilePath string `json:"profile_path"`
		} `json:"crew"`
		GuestStars []struct {
			ID          int64  `json:"id"`
			Name        string `json:"name"`
			CreditID    string `json:"credit_id"`
			Character   string `json:"character"`
			Order       int    `json:"order"`
			Gender      int    `json:"gender"`
			ProfilePath string `json:"profile_path"`
		} `json:"guest_stars"`
	} `json:"episodes"`
	Name         string `json:"name"`
	Overview     string `json:"overview"`
	ID           int64  `json:"id"`
	PosterPath   string `json:"poster_path"`
	SeasonNumber int    `json:"season_number"`
	*TVSeasonCreditsAppend
	*TVSeasonExternalIDsAppend
	*TVSeasonImagesAppend
	*TVSeasonVideosAppend
	*TVSeasonTranslationsAppend
}

TVSeasonDetails is a struct for details JSON response.

type TVSeasonExternalIDs

type TVSeasonExternalIDs struct {
	FreebaseMID string `json:"freebase_mid"`
	FreebaseID  string `json:"freebase_id"`
	TVDBID      int64  `json:"tvdb_id"`
	TVRageID    int64  `json:"tvrage_id"`
	ID          int64  `json:"id,omitempty"`
}

TVSeasonExternalIDs type is a struct for external ids JSON response.

type TVSeasonExternalIDsAppend

type TVSeasonExternalIDsAppend struct {
	ExternalIDs *TVSeasonExternalIDs `json:"external_ids,omitempty"`
}

TVSeasonExternalIDsAppend type is a struct for external ids in append to response.

type TVSeasonImage added in v1.5.6

type TVSeasonImage struct {
	AspectRatio float32 `json:"aspect_ratio"`
	FilePath    string  `json:"file_path"`
	Height      int     `json:"height"`
	Iso639_1    string  `json:"iso_639_1"`
	VoteAverage float32 `json:"vote_average"`
	VoteCount   int64   `json:"vote_count"`
	Width       int     `json:"width"`
}

TVSeasonImage type is a struct for a single image.

type TVSeasonImages

type TVSeasonImages struct {
	ID      int64           `json:"id,omitempty"`
	Posters []TVSeasonImage `json:"posters"`
}

TVSeasonImages type is a struct for images JSON response.

type TVSeasonImagesAppend

type TVSeasonImagesAppend struct {
	Images *TVSeasonImages `json:"images,omitempty"`
}

TVSeasonImagesAppend type is a struct for images in append to response.

type TVSeasonTranslations added in v1.5.7

type TVSeasonTranslations struct {
	ID           int64 `json:"id,omitempty"`
	Translations []struct {
		Iso31661    string `json:"iso_3166_1"`
		Iso6391     string `json:"iso_639_1"`
		Name        string `json:"name"`
		EnglishName string `json:"english_name"`
		Data        struct {
			Name     string `json:"name"`
			Overview string `json:"overview"`
		} `json:"data"`
	} `json:"translations"`
}

TVSeasonTranslations type is a struct

type TVSeasonTranslationsAppend added in v1.5.7

type TVSeasonTranslationsAppend struct {
	Translations *TVSeasonTranslations `json:"translations,omitempty"`
}

TVSeasonTranslationsAppend type is a struct for translations in append to response.

type TVSeasonVideos

type TVSeasonVideos struct {
	ID      int64 `json:"id,omitempty"`
	Results []struct {
		ID        string `json:"id"`
		Iso639_1  string `json:"iso_639_1"`
		Iso3166_1 string `json:"iso_3166_1"`
		Key       string `json:"key"`
		Name      string `json:"name"`
		Site      string `json:"site"`
		Size      int    `json:"size"`
		Type      string `json:"type"`
	} `json:"results"`
}

TVSeasonVideos type is a struct for videos JSON response.

type TVSeasonVideosAppend

type TVSeasonVideosAppend struct {
	Videos struct {
		*TVSeasonVideos
	} `json:"videos,omitempty"`
}

TVSeasonVideosAppend type is a struct for videos in append to response.

type TVSimilar

type TVSimilar struct {
	*TVRecommendations
}

TVSimilar type is a struct for similar tv shows JSON response.

type TVSimilarAppend

type TVSimilarAppend struct {
	Similar *TVSimilar `json:"similar,omitempty"`
}

TVSimilarAppend type is a struct for similar tv shows in append to response.

type TVTopRated

type TVTopRated struct {
	*TVAiringToday
}

TVTopRated type is a struct for top rated JSON response.

type TVTranslations

type TVTranslations struct {
	ID           int64 `json:"id,omitempty"`
	Translations []struct {
		Iso3166_1   string `json:"iso_3166_1"`
		Iso639_1    string `json:"iso_639_1"`
		Name        string `json:"name"`
		EnglishName string `json:"english_name"`
		Data        struct {
			Name     string `json:"name"`
			Overview string `json:"overview"`
			Tagline  string `json:"tagline"`
			Homepage string `json:"homepage"`
		} `json:"data"`
	} `json:"translations"`
}

TVTranslations type is a struct for translations JSON response.

type TVTranslationsAppend

type TVTranslationsAppend struct {
	Translations *TVTranslations `json:"translations,omitempty"`
}

TVTranslationsAppend type is a struct for translations in append to response.

type TVVideos

type TVVideos struct {
	ID int64 `json:"id,omitempty"`
	*TVVideosResults
}

TVVideos type is a struct for videos JSON response.

type TVVideosAppend

type TVVideosAppend struct {
	Videos struct {
		*TVVideos
	} `json:"videos,omitempty"`
}

TVVideosAppend type is a struct for videos in append to response.

type TVVideosResults added in v1.3.5

type TVVideosResults struct {
	Results []struct {
		ID        string `json:"id"`
		Iso639_1  string `json:"iso_639_1"`
		Iso3166_1 string `json:"iso_3166_1"`
		Key       string `json:"key"`
		Name      string `json:"name"`
		Site      string `json:"site"`
		Size      int    `json:"size"`
		Type      string `json:"type"`
	} `json:"results"`
}

TVVideosResults Result Types

type TVWatchProviders added in v1.3.2

type TVWatchProviders struct {
	ID int64 `json:"id,omitempty"`
	*TVWatchProvidersResults
}

TVWatchProviders type is a struct for watch/providers JSON response.

type TVWatchProvidersAppend added in v1.3.2

type TVWatchProvidersAppend struct {
	WatchProviders *TVWatchProviders `json:"watch/providers,omitempty"`
}

TVWatchProvidersAppend type is a struct for watch/providers in append to response.

type TVWatchProvidersResults added in v1.3.5

type TVWatchProvidersResults struct {
	Results map[string]struct {
		Link     string `json:"link"`
		Flatrate []struct {
			DisplayPriority int64  `json:"display_priority"`
			LogoPath        string `json:"logo_path"`
			ProviderID      int64  `json:"provider_id"`
			ProviderName    string `json:"provider_name"`
		} `json:"flatrate,omitempty"`
		Rent []struct {
			DisplayPriority int64  `json:"display_priority"`
			LogoPath        string `json:"logo_path"`
			ProviderID      int64  `json:"provider_id"`
			ProviderName    string `json:"provider_name"`
		} `json:"rent,omitempty"`
		Buy []struct {
			DisplayPriority int64  `json:"display_priority"`
			LogoPath        string `json:"logo_path"`
			ProviderID      int64  `json:"provider_id"`
			ProviderName    string `json:"provider_name"`
		} `json:"buy,omitempty"`
	} `json:"results"`
}

TVWatchProvidersResults Result Types

type Trending struct {
	Page int `json:"page"`
	*TrendingResults
	TotalPages   int64 `json:"total_pages"`
	TotalResults int64 `json:"total_results"`
}

Trending type is a struct for trending JSON response.

type TrendingResults added in v1.3.5

type TrendingResults struct {
	Results []struct {
		Adult              bool     `json:"adult,omitempty"`
		Gender             int      `json:"gender,omitempty"`
		BackdropPath       string   `json:"backdrop_path,omitempty"`
		GenreIDs           []int64  `json:"genre_ids,omitempty"`
		ID                 int64    `json:"id"`
		OriginalLanguage   string   `json:"original_language"`
		OriginalTitle      string   `json:"original_title,omitempty"`
		Overview           string   `json:"overview,omitempty"`
		PosterPath         string   `json:"poster_path,omitempty"`
		ReleaseDate        string   `json:"release_date,omitempty"`
		Title              string   `json:"title,omitempty"`
		Video              bool     `json:"video,omitempty"`
		VoteAverage        float32  `json:"vote_average,omitempty"`
		VoteCount          int64    `json:"vote_count,omitempty"`
		Popularity         float32  `json:"popularity,omitempty"`
		FirstAirDate       string   `json:"first_air_date,omitempty"`
		Name               string   `json:"name,omitempty"`
		OriginCountry      []string `json:"origin_country,omitempty"`
		OriginalName       string   `json:"original_name,omitempty"`
		KnownForDepartment string   `json:"known_for_department,omitempty"`
		ProfilePath        string   `json:"profile_path,omitempty"`
		KnownFor           []struct {
			Adult            bool    `json:"adult"`
			BackdropPath     string  `json:"backdrop_path"`
			GenreIds         []int   `json:"genre_ids"`
			ID               int     `json:"id"`
			OriginalLanguage string  `json:"original_language"`
			OriginalTitle    string  `json:"original_title"`
			Overview         string  `json:"overview"`
			PosterPath       string  `json:"poster_path"`
			ReleaseDate      string  `json:"release_date"`
			Title            string  `json:"title"`
			Video            bool    `json:"video"`
			VoteAverage      float64 `json:"vote_average"`
			VoteCount        int     `json:"vote_count"`
			Popularity       float64 `json:"popularity"`
			MediaType        string  `json:"media_type"`
		} `json:"known_for,omitempty"`
	} `json:"results"`
}

TrendingResults Result Types

type WatchProviderList added in v1.3.4

type WatchProviderList struct {
	Providers []struct {
		ID              int64  `json:"id"`
		Name            string `json:"name"`
		DisplayPriority int64  `json:"display_priority"`
		LogoPath        string `json:"logo_path"`
		ProviderName    string `json:"provider_name"`
		ProviderID      int    `json:"provider_id"`
	} `json:"results"`
}

WatchProviderList type is a struct for watch provider list JSON response.

type WatchRegionList added in v1.3.4

type WatchRegionList struct {
	Regions []struct {
		Iso3166_1   string `json:"iso_3166_1"`
		EnglishName string `json:"english_name"`
		NativeName  string `json:"native_name"`
	} `json:"results"`
}

WatchRegionList type is a struct for watch region list JSON response.

Directories

Path Synopsis
examples
tv

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL