package tmdb import ( "encoding/json" "strconv" "github.com/pkg/errors" ) type Movie struct { Adult bool `json:"adult"` Backdrop string `json:"backdrop_path"` Collection string `json:"belongs_to_collection"` Budget int `json:"budget"` Genres []Genre `json:"genres"` Homepage string `json:"homepage"` ID int32 `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"` Poster string `json:"poster_path"` ProductionCompanies []ProductionCompany `json:"production_companies"` ProductionCountries []ProductionCountry `json:"production_countries"` ReleaseDate string `json:"release_date"` Revenue int `json:"revenue"` Runtime int `json:"runtime"` SpokenLanguages []SpokenLanguage `json:"spoken_languages"` Status string `json:"status"` Tagline string `json:"tagline"` Title string `json:"title"` Video bool `json:"video"` } func (api *API) GetMovie(movieid int64) (*Movie, error) { path := []string{"movie", strconv.FormatInt(movieid, 10)} url := buildURL(path, nil) data, err := api.get(url) if err != nil { return nil, errors.Wrap(err, "api.get") } movie := Movie{} json.Unmarshal(data, &movie) return &movie, nil }