I'm building a movie social network where a user can access various data like actors, movie titles, directors, studios, etc. TheMovieDB (TMDB) is a great source for getting those kind of data, but it does have a limitation of 40 requests per 10 seconds. What I'm planning to overcome this limitation is:
I'm wondering are these the best options ? Does the option 2 violate the ToS of TMDB ? Do you guys have better suggestions ? Many thanks !
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 talestalker
on October 8, 2019 at 5:20 AM
I don't think this is reasonable option, as the request limit is actually applied per IP address basis, but you can in theory spread your download traffic between more IPs with single API key.
This seems to be way better.
Generally, I think that if you make the initial data mirror and then just update changed records, you'll be fine with one API key and one IP address.
And please don't forget to follow our attribution requirements as stated here and here.
Reply by sonlt
on October 8, 2019 at 5:24 AM
thanks @talestalker ! I personally think option 2 is the better option, but I'm not sure if it will violate the ToS of TMDB ? (the fact that I'm cloning the data from TMDB to my own db)
Reply by talestalker
on October 8, 2019 at 5:37 AM
AFAIK it is OK as long as you meet our attribution requirements. You can think of it as of some kind of cache on your end and actually all bigger users of our API (Plex, Letterboxd) are doing that. Just consider carefully if it is worth the effort to run your own cache server and write all code for it. Another option is to let your users download all data as needed using your API key and their IP address. Most of our 3rd party apps are choosing this way.
Reply by sonlt
on October 9, 2019 at 7:20 AM
Thanks a lot @talestalker ! Can I get an estimation about how large TheMovieDB's database is ? I'll need that information to setup my own server 😅
Reply by talestalker
on October 9, 2019 at 7:33 AM
Sorry, you have to make that estimate yourself, as it depends on the scope of data you need to cache and db you want to use. Generally if I download raw data (json) for myself, it is approximately 10 k per movie and 25 k per TV show (Czech content only), but it may differ.
Reply by sonlt
on October 9, 2019 at 8:00 AM
@talestalker thanks for the information!