I'm developing a system that heavily accesses the content of tmdb and was hoping there was some support for downloading the entire database and then being able to query for changes to avoid stressing the API services?
I've thought about just iterating over every possible id slowly and pulling the entire database out, and that would work, but then I wouldn't know if anything has changed without iterating over everything periodically.
Can't find a movie or TV show? Login to create it.
Want to rate or add this item to a list?
Not a member?
Reply by Travis Bell
on February 5, 2015 at 4:34 PM
Hi nabotv,
Unfortunately we don't provide any kind of downloadable dump. We are fine with caching and storing the data locally though, just be sure to attribute TMDb as the source. Best you can do is loop through IDs and grab the data that is important to you.
Reply by nabotv
on February 5, 2015 at 8:24 PM
Thanks for the response Travis. Is there any way to easily get updates without having to iterate over everything in the database?
Reply by nabotv
on February 7, 2015 at 12:32 PM
Thanks, that's exactly what I needed. :)
Reply by faresar
on December 20, 2019 at 1:44 PM
Such a pity that you don't provide all the IDs
Reply by Travis Bell
on December 20, 2019 at 2:24 PM
@faresar What do you mean by not providing all of the IDs? Our daily ID exports provide all of the IDs that are valid on TMDb. You can use them to iterate over, knowing in advance which IDs are valid and which are not.
Reply by nafr1
on September 12, 2021 at 11:08 AM
@travisbell I am in exact same situation where I would like to have a local copy of entire TMDB (movies/tv-shows/people etc). I would also like to keep the data updated on daily basis. I understand that "Daily ID exports" provide the list of IDs that have changed in last 24 hours. But I am wondering how can I do the entire database Import for the first time?
Also my guess is if an Object (movie, tv-show, person etc) has not changed, than daily id exports isn't going to have ID for that correct?
If a new Object is added to TMDB, is Daily ID Exports going to have id for that? is there any flag in daily id exports that indicates if the Object is Added or Modified?
Reply by Travis Bell
on September 12, 2021 at 11:17 AM
Not quite, the the ID export does not represent the changed IDs, it's an export of all of the valid IDs that exist at the time of the export. In order to make an initial import, you will have to iterate over the IDs and use the API.
As mentioned above, not quite. The daily ID export has nothing to do with changes.
See my comment above.
If you want to track changes, you will want to use the
/changes
end point(s).Reply by nafr1
on September 12, 2021 at 11:43 AM
@travisbell
Thanks very much for prompt response. So my algorithm should be
1) Go through "Daily ID Exports" everyday, check if they exist in my local database and only Import the Objects to my Local Database that doesn't already exist (that means that this is new ID).
2) Go through all the IDs in my database (once in a while, maybe once a week) and use the "/changes" endpoint to get the changes and update my local database.
I guess that way I will always have updated database? Please let me know if I am missing anything?
Thanks
Reply by Travis Bell
on September 14, 2021 at 12:52 PM
Yes, that would be one way. The other is to just ping the /changes method every day and if you don't have an ID that is returned, you can assume it's new (or not tracked by you yet).
You don't need to go through all of your local IDs, it's easier to just use the changes endpoint to track what has been changed every
n
days. It will return the usual few hundred/thousand IDs that get changed in your queried time period and you can make your own choice about what to do with them. You can query up to the past 14 days so this is completely configurable by you.Reply by nafr1
on September 15, 2021 at 5:23 PM
The Changes endpoint also gives the ids of the Objects whose Popularity changes on daily basis?
Reply by Travis Bell
on September 17, 2021 at 12:40 PM
No, popularity changes on every object every day, so there's no real need to track it separately.
If all you are wanting is to track popularity changes, you'd be better off just pulled that data from the daily ID exports and not touching the changes end points.
Reply by nafr1
on September 26, 2021 at 11:31 AM
Does the Change api track the Ratings/User Score?
Reply by Travis Bell
on September 27, 2021 at 10:57 AM
Hi @nafr1, no they are not. The change API is generally about tracking the metadata of items, not our internal scores or trend data.
Reply by nafr1
on September 27, 2021 at 1:40 PM
@travisbell Thanks very much for letting me know. Any plans to add "User Score" part of daily export? that would be great. Currently I don't see any easy way to keep the User Score synced without making many API calls for each movie/tvshow.
Reply by Travis Bell
on September 30, 2021 at 10:46 AM
This is certainly something for me to consider. I've created a new ticket to track this here.
Thanks.