The Movie Database Support

Hey!

I'm struggling to understand the purpose of some of the query parameters.
For instance, in /3/discover/movie there's the primary_release_date, then the gte and lte versions of release_date, and then year. And, when trying to get all movies of 2023, it only seems to work if I use both release_date.lte and year, but not just using one or the other, as one would expect.

Knowing the accepted values for some parameters isn't straightforward, either.

Is there any way I can find out more information about an API's query parameters?

Thanks!

7 replies (on page 1 of 1)

Jump to last post

@Thecafremo said:

Hey!

I'm struggling to understand the purpose of some of the query parameters.
For instance, in /3/discover/movie there's the primary_release_date, then the gte and lte versions of release_date, and then year. And, when trying to get all movies of 2023, it only seems to work if I use both release_date.lte and year, but not just using one or the other, as one would expect.

Knowing the accepted values for some parameters isn't straightforward, either.

Is there any way I can find out more information about an API's query parameters?

Thanks!

Primary Release Date versus Release Date

primary_release_date= is the date chosen by the TMDb system to be the official release date for a Movie. World Premiere.
This date determines the year that appears in parentheses next to the film's title on the film's page.

release_date= are all the release dates of a Movie in each and every country in the world, over time,
including premieres, festival, on television, in Bluray or DVD, digital media, etc ...

A movie can only have one primary_release_date
But it can have several and countless release_date

A different opening date for each country, for each media,
for open television, for cable TV, re-releases, 50th anniversary celebration, etc ... etc ... etc ...

Using "release_date=" and defining a "region=" you can filter by release dates in your country.

If you only want movies from a specific year just use "year" and you will get movies whose "primary_release_date" is from the year you are looking for.
But if you want movies from 2 different subsequent years, 2008 and 2009 for example, then you should use for example:
primary_release_date.gte=2008-01-01
primary_release_date.lte=2009-12-31

Hey @ticao2 and thanks for clarifying these, it does help.

My concern, though, is that this information is not – as far as I know – within the official documentation so, when you using these endpoints, you have to assume what they are for, or the expected values.

Is this documented anywhere? Even if it's on a third party library that you're aware of? Are there any plans on updating the documentation to cover this?

Thanks!

I have to add... I like many facets of the new documentation: the online queries work correctly now, for example. However, it does seem like some of the helpful details are now missing. I've had to go back to notes in my code to understand how to use some of the queries. Pros and cons, I guess...

And, I definitely appreciate the massive effort @TravisBell and the team had to undergo to get it all published when the old system went down without notice!!!

@Thecafremo said:

Hey @ticao2 and thanks for clarifying these, it does help.

My concern, though, is that this information is not – as far as I know – within the official documentation so, when you using these endpoints, you have to assume what they are for, or the expected values.

It's not in the new documentation.
It was in the old one. We migrated 1 or 2 months ago.

Is this documented anywhere? Even if it's on a third party library that you're aware of?

Not that I know of.

Are there any plans on updating the documentation to cover this?

Only Administrator Travis Bell can respond. Let's wait for him to come by.

Hey

I am going through the same struggle that @Thecafremo was going through. In /3/discover/movie I have no idea whether the integer values for with_runtime.gte and with_runtime.lte are supposed to represent seconds or minutes. I am guessing they take minute values. If they do, the results aren't as accurate as I would expect. For example, a with_runtime.lte value of 107 returns Dune: Part Two in the results (has a runtime of 167m)

Problems with API Request

In order for someone to help you with API Request questions,
it is critical that you post here the API Request you are sending to the TMDb server.
Remember to replace your Key with MY_KEY , YOUR_KEY , THE_KEY , or something like that.

Not the programming code/script you used to build the API Request.
But the API Request that is sent to the TMDb server.
Or the API Request you would like to send.

If the only parameter/filter used in your API Request was this, with_runtime.lte, then there is no error.
This is because all runtime values added in all translations/countries are considered.
And in this case, whoever entered data from Azerbaijan added 1h 45m, that is 105m.
https://www.themoviedb.org/movie/693134-dune-part-two/translations
There are some filters/parameters that can solve the problem.
But I don't know if you used any of them.

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