diff --git a/api/funkwhale_api/instance/views.py b/api/funkwhale_api/instance/views.py
index b40721c9c76da86aa18cfde3e00231b17b73ed47..5953ca555a3081d5e58a1d60da1d3dec58279e3b 100644
--- a/api/funkwhale_api/instance/views.py
+++ b/api/funkwhale_api/instance/views.py
@@ -10,6 +10,11 @@ from . import nodeinfo
 from . import stats
 
 
+NODEINFO_2_CONTENT_TYPE = (
+    'application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8'  # noqa
+)
+
+
 class InstanceSettings(views.APIView):
     permission_classes = []
     authentication_classes = []
@@ -38,4 +43,5 @@ class NodeInfo(views.APIView):
         if not preferences.get('instance__nodeinfo_enabled'):
             return Response(status=404)
         data = nodeinfo.get()
-        return Response(data, status=200)
+        return Response(
+            data, status=200, content_type=NODEINFO_2_CONTENT_TYPE)
diff --git a/api/tests/instance/test_views.py b/api/tests/instance/test_views.py
index 4ac79086e5461324b0a4216697441516997237d6..468c0ddae9de440b3edce7fd65fdc57c6ead8fff 100644
--- a/api/tests/instance/test_views.py
+++ b/api/tests/instance/test_views.py
@@ -9,8 +9,9 @@ def test_nodeinfo_endpoint(db, api_client, mocker):
         'funkwhale_api.instance.nodeinfo.get', return_value=payload)
     url = reverse('api:v1:instance:nodeinfo-2.0')
     response = api_client.get(url)
-
+    ct = 'application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8'  # noqa
     assert response.status_code == 200
+    assert response['Content-Type'] == ct
     assert response.data == payload