The Movie Database Support

As I have seen that the discover response returns total_pages in the API response like 3032, 2045, 891. But What's the point of showing it, If I can't go to that range. In simple words, User can't access or go to pages more than 500 otherwise it will return

{"success":false,"status_code":22,"status_message":"Invalid page: Pages start at 1 and max at 500. They are expected to be an integer."}

And There is no solution to get or access the pages more than 500. so You're stuck with only 500 pages.

5 replies (on page 1 of 1)

Jump to last post

@jhhomjhhom said:

As I have seen that the discover response returns total_pages in the API response like 3032, 2045, 891. But What's the point of showing it, If I can't go to that range. In simple words, User can't access or go to pages more than 500 otherwise it will return

{"success":false,"status_code":22,"status_message":"Invalid page: Pages start at 1 and max at 500. They are expected to be an integer."}

And There is no solution to get or access the pages more than 500. so You're stuck with only 500 pages.

It is still often very useful to have the total_results, regardless if you can't retrieve all of the pages. You can always break up your query into smaller groups in order to get whatever data you're looking for (by release date as an example) so that queries stay below 10,000 results.

@travisbell said:

You can always break up your query into smaller groups in order to get whatever data you're looking for (by release date as an example) so that queries stay below 10,000 results.

What do you mean into smaller groups?

If I am using discover endpoint and there are 3000 total_pages available and after 500 pages, I don't know what's after it then How can I even know about the next result's(pages. 743, 554, 2952) release dates, genres, ids?

Let's assume you have this query (with_genres=28):

https://api.themoviedb.org/3/discover/movie?api_key=###&with_genres=28

There are 373379 results. But you can easily split it up by release date (by year in this example):

https://api.themoviedb.org/3/discover/movie?api_key=###&with_genres=28&primary_release_date.gte=2000-01-01&primary_release_date.lte=2000-12-31
https://api.themoviedb.org/3/discover/movie?api_key=###&with_genres=28&primary_release_date.gte=2001-01-01&primary_release_date.lte=2001-12-31
https://api.themoviedb.org/3/discover/movie?api_key=###&with_genres=28&primary_release_date.gte=2002-01-01&primary_release_date.lte=2002-12-31
https://api.themoviedb.org/3/discover/movie?api_key=###&with_genres=28&primary_release_date.gte=2003-01-01&primary_release_date.lte=2003-12-31

All of these queries should yield less than 10,000 items so you can page through each of these as a way to get all of the results. Using dates is a simple way to accomplish this, but depending on your query, there could be alternative approaches.

@travisbell Now I understand, this is good solution too. But this can take too long to query about 1000 to 2000 results. API endpoint's speed is very nice and it doesn't take long to query any kind of result but querying this large number of calls might lower the speed.

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?

Login