Suporte do The Movie Database

Hello,

I noticed something about the discover movie endpoint. Unlike what is written on its documentation page, if I specify a page parameter greather than 500 I get the 22 error code "Invalid page: Pages start at 1 and max at 500. They are expected to be an integer.". Then, is it an error on the documentation page ? If it's normal, why is it like this while much more results can exist (in function of the request of course) ?

Best regards

8 respostas (na página 1 de 1)

Jump to last post

Only the 500 first pages of results from a query can be returned, even if there are more results available.

Okay, so there is a mistake in the docs. But then what about these results, it's possible that they can never be reached ? Can you explain why this technical choice was made ?

I can't explain the choice as I wasn't a designer of the API.

Okay no problem. Can you do some internal research on this ? I would really like to know, and I'm sure I'm not the only one slight_smile : maybe it could be clarified in the docs.

@LucasUlmer said:
Okay, so there is a mistake in the docs.
But then what about these results, it's possible that they can never be reached ?

It depends on the API Request you are making.
If it is Discover you can use all available filters and sort by &sort_by=primary_release_date.des and use the date parameters &primary_release_date.gte and &primary_release_date.lte.
Make a first Request and see what date came in the response.
And make a second Request limiting the initial date.
And so on until you get all the items.

Can you explain why this technical choice was made ?

I think the initial reason, about 15 years ago, was to save processing resources.
Besides, the greatest asset of a Database is its data.
It is not interesting to allow someone to get ALL the data and build their own data site.
But that is just my guess.

@LucasUlmer said:
Querying specific pages
Hello,
I noticed something about the discover movie endpoint.
Unlike what is written on its documentation page, if I specify a page parameter greather than 500 I get the 22 error code "Invalid page: Pages start at 1 and max at 500. They are expected to be an integer.".
Then, is it an error on the documentation page ?

Maybe it would be better if it was written there that the limit is 500.
Where it says "page int32 Defaults to 1" add "Maximum 500".

If it's normal, why is it like this while much more results can exist (in function of the request of course) ?

I believe I already answered in my previous comment.

The number/quantity of Items per Page and the number/quantity of Pages
cannot be changed, configured, specified, restricted, or anything like that.
There will always be up to 20 items per page.
And a maximum of 500 pages.
Therefore, at most 10,000 items.

Of course, depending on the parameters used in your API Request
this number/quantity can be much smaller.
Eventually zero.

Here's what Travis Bell, the Administrator, said on 2022-06-28:
https://www.themoviedb.org/talk/62bb2ea18b959e00526428c9#62bb37d2c613ce0094222e71

Unfortunately, there is no planned change on the page limit.
We still show the total results so one can get an accurate count but that is all.

I believe that only if you make several API Requests.
For example, for decades.

https://api.themoviedb.org/3/discover/movie?api_key=THE_KEY&language=en-US&sort_by=release_date.asc&page=1&primary_release_date.gte=1860-01-01&primary_release_date.lte=1910-12-31  

If I'm not mistaken the movie count must be over 650,000.
EDIT: over 706,322 (2022-06-28)
EDIT2: over 1,010,724 (2025-01-06)

Increasing Answer items from 10,000 to 1,010,724 means multiplying the items by 100.
I believe it would demand a lot from the system.

Thanks for the answers. About the documentation, maybe yeah "maximum 500", but there is also the info box when you click in the page field which shows PHP's minimum and maximum integer values.

@LucasUlmer said:
Thanks for the answers.
About the documentation, maybe yeah "maximum 500",
but there is also the info box when you click in the page field which shows PHP's minimum and maximum integer values.

I'm not a code programmer.
I've always understood this as a general field characteristic.

type:integer
format:int32
minimum:-2147483648
maximum:2147483647

Also because a negative number of pages wouldn't make sense.
But anyway, it's something for admin Travis Bell to resolve.

Não consegue encontrar um certo filme ou série? Inicie sessão e adicione-o.

Geral

s focus the search bar
p abrir menu do perfil
esc close an open window
? open keyboard shortcut window

Em páginas de Média

b go back (or to parent when applicable)
e ir para a página de edição

Em páginas de temporadas de séries

(seta para a direita) ir para a próxima temporada
(seta para a esquerda) ir para a temporada anterior

Em Páginas de Episódios de Séries

(seta para a direita) ir para o próximo episódio
(seta para a esquerda) ir para o episódio anterior

Em Todas as Páginas de Imagens

a abrir janela para adicionar imagem

Em Todas as Páginas de Edição

t open translation selector
ctrl+ s submit form

Em Páginas de Discussão

n criar uma nova discussão
w toggle watching status
p toggle public/private
c toggle close/open
a abrir actividade
r reply to discussion
l ir para a última resposta
ctrl+ enter submit your message
(seta para a direita) página seguinte
(seta para a esquerda) página anterior

Definições

Deseja classificar ou adicionar este item a uma lista?

Iniciar Sessão

Ainda não é um membro?

Crie uma Conta e Adere a Comunidade