Hello. The main purpose I'm using the TMDB API for is to normalize the titles and years of a list of movies. The list came from a Google Form, so users can type the titles however they want, in any language they choose (mainly English, Portuguese, and the original language of the film). My plan is to search for the movie using the TMDB API, get the first result, and save the title and year from TMDB to facilitate data analysis.
I was trying to search for Lucky Star, 1929, and this query works fine: https://api.themoviedb.org/3/search/movie?query=Lucky+Star&primary_release_year=1929 It returns the data for this movie: https://www.themoviedb.org/movie/105981-lucky-star
But if my user doesn't type the year of the movie: https://api.themoviedb.org/3/search/movie?query=Lucky+Star It returns data for this series: https://www.themoviedb.org/tv/42500-lucky-star
I find this very strange since I'm querying in the movie section.
I tried the same thing on the user website. Typing "Lucky Star" results in the following query: https://www.themoviedb.org/search?query=Lucky+Star And the top result is this: https://www.themoviedb.org/tv/42500-lucky-star
Which is fine, because it's a search of the entire database, not just movies. But when I search specifically for movies:
https://www.themoviedb.org/search/movie?query=Lucky%20Star It results in the movie I really want to find as the top result: https://www.themoviedb.org/movie/105981-lucky-star
Am I doing something wrong that causes me to get the wrong result when the year is not included?
I'm also having problems with the language section. Is there any way I can try to find movies in any language, just like the website does? Or maybe to include more them one language?
It would also be interesting if I could restrict the results by decades.
Не можете найти фильм или сериал? Войдите на сайт, чтобы добавить его.
Хотите поставить оценку или добавить в список?
Нет аккаунта?
Ответ от superboy97
, 9 января 2025 в 15:16
Are you sure of the query you have sent ? In my case, using that query, I got this movie as the top result : https://www.themoviedb.org/movie/18707
Ответ от joaopabdala
, 10 января 2025 в 06:08
Yes, I literally copy pasted it from here https://developer.themoviedb.org/reference/search-movie.
Ответ от superboy97
, 10 января 2025 в 06:14
I got your result if I use https://api.themoviedb.org/3/search/multi instead of https://api.themoviedb.org/3/search/movie
Ответ от ticao2 🇧🇷 pt-BR
, 10 января 2025 в 07:13
It seems to me that Superboy97's guess is what is happening.
Your programming code should be with search/multi and not with search/movie.
Only you can check that.
But it is good to warn you about another problem.
The number of homonymous films is large.
Adding the year of the film reduces the error considerably.
But expecting that without the year the film searched for will be the first on the list is a mistake.
The older or less famous the greater the chance that the film will not be in the first place in the answer.
Ответ от joaopabdala
, 10 января 2025 в 08:07
It didn't worked for me. Maybe it's a region filter doing it. I tried to do url = "https://api.themoviedb.org/3/search/movie?query=Lucky%20Star&include_adult=false&language=en-US&page=1" and got https://www.themoviedb.org/movie/18707 (just as you got earlier), but when I useurl = "https://api.themoviedb.org/3/search/movie?query=Lucky%20Star&include_adult=false&language=pt-BR&page=1" I get https://www.themoviedb.org/movie/105981-lucky-star (which is very strange, because Lucky Star is a US movie, but i'm not sure if the top result should appear according to language)
Ответ от joaopabdala
, 10 января 2025 в 08:09
I'm actually doing a list for each decade, so maybe I'll try to get all the results and filter to the ones that are between the decades. I think there isn't much more I can do if the user don't add the year. Thanks for the answers you all.