diff --git a/api/funkwhale_api/federation/renderers.py b/api/funkwhale_api/federation/renderers.py
new file mode 100644
index 0000000000000000000000000000000000000000..642b634628f2787044eae9b6a96b9e7004b05244
--- /dev/null
+++ b/api/funkwhale_api/federation/renderers.py
@@ -0,0 +1,9 @@
+from rest_framework.renderers import JSONRenderer
+
+
+class ActivityPubRenderer(JSONRenderer):
+    media_type = 'application/activity+json'
+
+
+class WebfingerRenderer(JSONRenderer):
+    media_type = 'application/jrd+json'
diff --git a/api/funkwhale_api/federation/views.py b/api/funkwhale_api/federation/views.py
index 93ce3973924eace60c7b89106c99d2306deaa05e..5f1ee36f76fada4bc3aa90e6941958fe1781f7a1 100644
--- a/api/funkwhale_api/federation/views.py
+++ b/api/funkwhale_api/federation/views.py
@@ -7,6 +7,7 @@ from rest_framework import views
 from rest_framework import response
 from rest_framework.decorators import list_route
 
+from . import renderers
 from . import serializers
 from . import webfinger
 
@@ -21,6 +22,7 @@ class FederationMixin(object):
 class InstanceViewSet(FederationMixin, viewsets.GenericViewSet):
     authentication_classes = []
     permission_classes = []
+    renderer_classes = [renderers.ActivityPubRenderer]
 
     @list_route(methods=['get'])
     def actor(self, request, *args, **kwargs):
@@ -38,6 +40,7 @@ class InstanceViewSet(FederationMixin, viewsets.GenericViewSet):
 class WellKnownViewSet(FederationMixin, viewsets.GenericViewSet):
     authentication_classes = []
     permission_classes = []
+    renderer_classes = [renderers.WebfingerRenderer]
 
     @list_route(methods=['get'])
     def webfinger(self, request, *args, **kwargs):
@@ -62,9 +65,7 @@ class WellKnownViewSet(FederationMixin, viewsets.GenericViewSet):
         handler = getattr(self, 'handler_{}'.format(resource_type))
         data = handler(result)
 
-        return response.Response(
-            data,
-            content_type='application/jrd+json; charset=utf-8')
+        return response.Response(data)
 
     def handler_acct(self, clean_result):
         username, hostname = clean_result
diff --git a/api/tests/federation/test_views.py b/api/tests/federation/test_views.py
index 2bb35f8e87b4894db875ffd52a394261e150680a..3d8218c230293211f45b16594d32cdbdc131f2f4 100644
--- a/api/tests/federation/test_views.py
+++ b/api/tests/federation/test_views.py
@@ -65,5 +65,5 @@ def test_wellknown_webfinger_system(
         url, data={'resource': 'acct:service@test.federation'})
 
     assert response.status_code == 200
-    assert response['Content-Type'] == 'application/jrd+json; charset=utf-8'
+    assert response['Content-Type'] == 'application/jrd+json'
     assert response.data == webfinger.serialize_system_acct()