The Movie Database Support

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:

  • option 1: create many API keys on TMDB and interchangeably use them to fetch data from the API
  • option 2: gradually scrape the needed data (e.g the "titles" collection) from TMDB to my own db. After that, my app can fetch data from my own db

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 !

6 replies (on page 1 of 1)

Jump to last post

option 1: create many API keys on TMDB and interchangeably use them to fetch data from the API

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.

option 2: gradually scrape the needed data (e.g the "titles" collection) from TMDB to my own db. After that, my app can fetch data from my own db

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.

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)

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)

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.

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 😅

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.

@talestalker thanks for the information!

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