diff --git a/program/views.py b/program/views.py
index ea69e683240bfe9027e0ccd134130fc5100628c3..926289de1d7d086fbde5a005893f2078ce5a6a28 100644
--- a/program/views.py
+++ b/program/views.py
@@ -1699,3 +1699,28 @@ class APIPlaylistViewSet(viewsets.ModelViewSet):
         playlist.delete()
 
         return Response(status=status.HTTP_204_NO_CONTENT)
+
+
+class APIPlaylistUsageViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
+    serializer_class = PlaylistSerializer
+
+    def get_queryset(self):
+        """The queryset is empty if the request is not authenticated. Otherwise, it contains all
+        the playlists."""
+
+        if not self.request.user.is_authenticated:
+            return Playlist.objects.none()
+
+        return Playlist.objects.all()
+
+    def list(self, request, *args, **kwargs):
+        """The list filters the playlists by the `file_id` they refer to."""
+
+        if file_id := request.query_params.get("file_id"):
+            queryset = self.get_queryset().filter(entries__file_id=int(file_id))
+        else:
+            queryset = self.get_queryset()
+
+        serializer = PlaylistSerializer(queryset, many=True)
+
+        return Response(serializer.data)
diff --git a/steering/urls.py b/steering/urls.py
index 194e6993d94c3ed7a94821cca7c677752fda9d7f..b2d518efaba60c12c4c9dad0a1183859250430d0 100644
--- a/steering/urls.py
+++ b/steering/urls.py
@@ -35,6 +35,7 @@ from program.views import (
     APILinkTypeViewSet,
     APIMusicFocusViewSet,
     APINoteViewSet,
+    APIPlaylistUsageViewSet,
     APIPlaylistViewSet,
     APIProfileViewSet,
     APIProgramBasicViewSet,
@@ -73,6 +74,7 @@ router.register(r"settings", APIRadioSettingsViewSet, basename="settings")
 router.register(r"program/basic", APIProgramBasicViewSet, basename="program-basic")
 router.register(r"program/playout", APIProgramPlayoutViewSet, basename="program-playout")
 router.register(r"program/calendar", APIProgramCalendarViewSet, basename="program-calendar")
+router.register(r"playlists/usage", APIPlaylistUsageViewSet, basename="playlists-usage")
 router.register(r"playlists", APIPlaylistViewSet, basename="playlists")
 
 urlpatterns = [