How We Built a Movie Database of 20,000+ Films
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:
- Matches each movie to its IMDb entry and pulls the IMDb rating and vote count
- Fetches Rotten Tomatoes critics and audience scores
- Retrieves Metacritic scores from professional critics
- 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
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.
You Might Also Like
Stop scrolling. Start watching.