diff --git a/api/funkwhale_api/subsonic/renderers.py b/api/funkwhale_api/subsonic/renderers.py
index fac12d6c1928f9e429944a98e1ca81ee3381b0ef..fd98633aad1e32b9316224cf4a0a3fcfec3d1e21 100644
--- a/api/funkwhale_api/subsonic/renderers.py
+++ b/api/funkwhale_api/subsonic/renderers.py
@@ -2,13 +2,22 @@ import xml.etree.ElementTree as ET
 
 from rest_framework import renderers
 
+import funkwhale_api
+
 
 class SubsonicJSONRenderer(renderers.JSONRenderer):
     def render(self, data, accepted_media_type=None, renderer_context=None):
         if not data:
             # when stream view is called, we don't have any data
             return super().render(data, accepted_media_type, renderer_context)
-        final = {"subsonic-response": {"status": "ok", "version": "1.16.0"}}
+        final = {
+            "subsonic-response": {
+                "status": "ok",
+                "version": "1.16.0",
+                "type": "funkwhale",
+                "funkwhale-version": funkwhale_api.__version__,
+            }
+        }
         final["subsonic-response"].update(data)
         if "error" in final:
             # an error was returned
diff --git a/api/tests/subsonic/test_renderers.py b/api/tests/subsonic/test_renderers.py
index 301fee8b5d2e67673d7cc829fcdeb399fb1b0b76..e234a993a5414915be1f7480cbd37f86d76c90bf 100644
--- a/api/tests/subsonic/test_renderers.py
+++ b/api/tests/subsonic/test_renderers.py
@@ -1,13 +1,21 @@
 import json
 import xml.etree.ElementTree as ET
 
+import funkwhale_api
+
 from funkwhale_api.subsonic import renderers
 
 
 def test_json_renderer():
     data = {"hello": "world"}
     expected = {
-        "subsonic-response": {"status": "ok", "version": "1.16.0", "hello": "world"}
+        "subsonic-response": {
+            "status": "ok",
+            "version": "1.16.0",
+            "type": "funkwhale",
+            "funkwhale-version": funkwhale_api.__version__,
+            "hello": "world",
+        }
     }
     renderer = renderers.SubsonicJSONRenderer()
     assert json.loads(renderer.render(data)) == expected
diff --git a/api/tests/subsonic/test_views.py b/api/tests/subsonic/test_views.py
index 94cbd8c16a73fc90cf717b876aa19da3349f236e..f856146ec40a847e86e12889b9bab2251abbdeee 100644
--- a/api/tests/subsonic/test_views.py
+++ b/api/tests/subsonic/test_views.py
@@ -5,6 +5,8 @@ import pytest
 from django.urls import reverse
 from django.utils import timezone
 
+import funkwhale_api
+
 from funkwhale_api.music import models as music_models
 from funkwhale_api.music import views as music_views
 from funkwhale_api.subsonic import renderers, serializers
@@ -18,7 +20,12 @@ def test_render_content_json(db, api_client):
     url = reverse("api:subsonic-ping")
     response = api_client.get(url, {"f": "json"})
 
-    expected = {"status": "ok", "version": "1.16.0"}
+    expected = {
+        "status": "ok",
+        "version": "1.16.0",
+        "type": "funkwhale",
+        "funkwhale-version": funkwhale_api.__version__,
+    }
     assert response.status_code == 200
     assert json.loads(response.content) == render_json(expected)
 
diff --git a/changes/changelog.d/573.enhancement b/changes/changelog.d/573.enhancement
new file mode 100644
index 0000000000000000000000000000000000000000..45a29e809b0283b4653b56cc45f68e73ee83a1d6
--- /dev/null
+++ b/changes/changelog.d/573.enhancement
@@ -0,0 +1 @@
+Added "type: funkwhale" and "funkwhale-version" in Subsonic responses (#573)