The Movie Database Support

Hi there. I don't think the field "certification" in the discover route is working. I have some search filters and I get the results as though certification hasn't been selected. Here's my code:

const fetchMovies = async () => {
    const queryParams = {
      api_key: apiKey,
      sort_by: sortBy,
      "vote_average.gte": voteAverageGte,
      "vote_average.lte": voteAverageLte,
      "primary_release_date.gte": convertToYYYYMMDD(primaryReleaseDateGte),
      "primary_release_date.lte": convertToYYYYMMDD(primaryReleaseDateLte),
      with_genres: genreSelections.join(","),
      certification: certificationSelections.join("|"),
      "vote_count.gte": voteCountGte,
      "with_runtime.gte": withRuntimeGte,
      "with_runtime.lte": withRuntimeLte,
      page: pageNumber,
      language: language,
      region: "BR"
    };
    for (const key in queryParams) {
      // Just checking if the dates are valid
      if (key === "primary_release_date.gte" || key === "primary_release_date.lte")
      {
        if (!moment(queryParams[key], 'YYYY-MM-DD').isValid())
        delete queryParams[key];
      }
      else if (queryParams[key] === null || queryParams[key] === "") {
        delete queryParams[key];
      }
    }
    try {
      const response = await axios.get(filteredMovieURL, {
        params: queryParams,
      });
      const data = response.data;
      setMovies((prevMovies) => [...prevMovies, ...data.results]);
    } catch (error) {
      console.error("Erro ao receber os dados:", error);
    }
  };

For instance, when using the URL:

https://api.themoviedb.org/3/discover/movie?api_key=MY_API_KEY&certification=L&page=1&language=pt-BR&region=BR

I get all of the movies as though the certification hasn't been specified. Also, I've noticed none of the 20 array elements has a certification field. Here's a screenshot: Mission Impossible fields

2 replies (on page 1 of 1)

Jump to last post

Hi @vitorary90, I believe that you should use the filter "certification_country" to specify a country for certifications. However, the discover movie documentation does say to use "region". Hopefully a staff member or moderator will look at this and tell us which is correct.

The certification is not included in the results, to see a movie certification you would have to call the movie release dates endpoint for each movie.

Also, it looks like your code may try to join multiple certifications with "|", I'm not sure but I believe you can only specify one certification. Again, hopefully someone else may be able to give more information. You can specifiy a range of certifications with "certification.lte" and/or "certification.gte", the names and order are given in the certifications for movies list.

Using certification_country worked. On a sidenote, using "|" also worked. Thanks for your help, Robbie.

Can't find a movie or TV show? Login to create it.

Global

s focus the search bar
p open profile menu
esc close an open window
? open keyboard shortcut window

On media pages

b go back (or to parent when applicable)
e go to edit page

On TV season pages

(right arrow) go to next season
(left arrow) go to previous season

On TV episode pages

(right arrow) go to next episode
(left arrow) go to previous episode

On all image pages

a open add image window

On all edit pages

t open translation selector
ctrl+ s submit form

On discussion pages

n create new discussion
w toggle watching status
p toggle public/private
c toggle close/open
a open activity
r reply to discussion
l go to last reply
ctrl+ enter submit your message
(right arrow) next page
(left arrow) previous page

Settings

Want to rate or add this item to a list?

लॉगिन