diff --git a/Makefile b/Makefile
index ab14b3871bba3ca80d2b5c425bf3af356bd8f374..36483662ebf22ba1900bbe2c82e9307cdb6547ef 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-TAG=0.4.0
+TAG=0.5.0
 
 build:
 	DOCKER_DEFAULT_PLATFORM=linux/amd64 docker build -t gitlab.sauerburger.com:5049/frank/wakefield-movie-recommender:$(TAG) .
diff --git a/app.py b/app.py
index 923cb3e55053b958f896ef0768c5cb7384305b53..d3122307e321f4693bfef9a2c11c06d10f45987b 100644
--- a/app.py
+++ b/app.py
@@ -50,18 +50,30 @@ def suggest():
     }
 
 
-@app.route("/titles/<int:mid>")
-def byid(mid):
-    """Show healthz status"""
-    if mid not in movie_titles:
-        abort(404)
+@app.route("/titles/<mids>")
+def byid(mids):
+    """Load movie data by id"""
+    results = []
+
+    for mid in mids.split(","):
+        try:
+            mid = int(mid)
+            if mid not in movie_titles:
+                raise ValueError()
+        except ValueError:
+            results.append({})
+            continue
+
+        res_title, res_year = movie_titles[mid]
+        data = {
+            "id": mid,
+            "title": res_title,
+            "year": res_year
+        }
+        results.append(data)
+
+    return {"movies": results}
 
-    res_title, res_year = movie_titles[mid]
-    return {
-        "id": mid,
-        "title": res_title,
-        "year": res_year
-    }
 
 @app.route("/titles/healthz")
 def healthz():