diff --git a/api/funkwhale_api/common/renderers.py b/api/funkwhale_api/common/renderers.py
new file mode 100644
index 0000000000000000000000000000000000000000..eba3638a5039300c8661daf691e6c71852a3cdf6
--- /dev/null
+++ b/api/funkwhale_api/common/renderers.py
@@ -0,0 +1,5 @@
+from rest_framework.renderers import JSONRenderer
+
+
+class ActivityStreamRenderer(JSONRenderer):
+    media_type = "application/activity+json"
diff --git a/api/funkwhale_api/instance/views.py b/api/funkwhale_api/instance/views.py
index 23f8beb2217cb58ed0782cbaaaa0c63d04526594..cde306ed56707ca52847d8b19709a3c8dd81a7c7 100644
--- a/api/funkwhale_api/instance/views.py
+++ b/api/funkwhale_api/instance/views.py
@@ -15,6 +15,7 @@ from rest_framework.response import Response
 from funkwhale_api import __version__ as funkwhale_version
 from funkwhale_api.common import middleware
 from funkwhale_api.common import preferences
+from funkwhale_api.common.renderers import ActivityStreamRenderer
 from funkwhale_api.federation.models import Domain
 from funkwhale_api.federation.actors import get_service_actor
 from funkwhale_api.users.oauth import permissions as oauth_permissions
@@ -123,6 +124,7 @@ class SpaManifest(generics.GenericAPIView):
     permission_classes = []
     authentication_classes = []
     serializer_class = serializers.SpaManifestSerializer
+    renderer_classes = [ActivityStreamRenderer]
 
     @extend_schema(operation_id="get_spa_manifest")
     def get(self, request):