Blog Behind the Scenes

How We Built a Movie Database of 20,000+ Films

February 07, 2026 5 min read

GoodWatch's movie database currently has over 22,000 films — each with ratings from up to four platforms, streaming availability data, genre tags, mood profiles, and more. Here's how we built it.

Starting with TMDB

Our foundation is The Movie Database (TMDB) — an open, community-maintained database with excellent API access. TMDB gives us titles, release dates, genres, cast, crew, overviews, poster images, and user ratings for virtually every movie ever released.

Multi-Source Rating Enrichment

TMDB ratings alone aren't enough. We run a weekly enrichment pipeline that:

  1. Matches each movie to its IMDb entry and pulls the IMDb rating and vote count
  2. Fetches Rotten Tomatoes critics and audience scores
  3. Retrieves Metacritic scores from professional critics
  4. Calculates the composite score using our weighted formula

This enrichment runs automatically via GitHub Actions — no manual intervention needed.

OTT Availability Tracking

Knowing a movie is good isn't enough — you need to know where to watch it. We sync OTT availability data twice a week, covering Netflix, Amazon Prime Video, JioHotstar, Apple TV, Sony LIV, and more.

Emotional Profiling

Beyond ratings, each movie in our database has an emotional profile — how dark, intense, funny, or rewatchable it is. This powers our mood-based recommendations. When you tell GoodWatch you want something "light and funny," we don't just filter by genre — we match your mood to the film's emotional DNA.

The Numbers

Total movies in database 22,370+
With composite score 20,629
With OTT availability Updated 2x/week
Languages covered 30+
Rating sources IMDb, RT, Metacritic, TMDB

All this data is what powers GoodWatch's recommendations. When we suggest a movie, it's backed by real data from multiple sources — not just one algorithm's opinion.

Stop scrolling. Start watching.

GoodWatch — One recommendation. No decision fatigue.

Get the App — It's Free