diff --git a/api/funkwhale_api/music/metadata.py b/api/funkwhale_api/music/metadata.py
index 519dd8b5eb1aefe04c01c51d2d859452c02c316a..3aa643e56f4f3774b00d9aa2b2eb1905ace28fef 100644
--- a/api/funkwhale_api/music/metadata.py
+++ b/api/funkwhale_api/music/metadata.py
@@ -97,6 +97,37 @@ CONF = {
             },
         }
     },
+    'OggTheora': {
+        'getter': lambda f, k: f[k][0],
+        'fields': {
+            'track_number': {
+                'field': 'TRACKNUMBER',
+                'to_application': convert_track_number
+            },
+            'title': {
+                'field': 'title'
+            },
+            'artist': {
+                'field': 'artist'
+            },
+            'album': {
+                'field': 'album'
+            },
+            'date': {
+                'field': 'date',
+                'to_application': lambda v: arrow.get(v).date()
+            },
+            'musicbrainz_albumid': {
+                'field': 'MusicBrainz Album Id'
+            },
+            'musicbrainz_artistid': {
+                'field': 'MusicBrainz Artist Id'
+            },
+            'musicbrainz_recordingid': {
+                'field': 'MusicBrainz Track Id'
+            },
+        }
+    },
     'MP3': {
         'getter': get_id3_tag,
         'fields': {
diff --git a/api/tests/music/test_metadata.py b/api/tests/music/test_metadata.py
index e7b9012b609232f890e96092b0bc0d8331722063..bacec07fb55da8695411437e9e6b08133512d5b4 100644
--- a/api/tests/music/test_metadata.py
+++ b/api/tests/music/test_metadata.py
@@ -24,6 +24,22 @@ def test_can_get_metadata_from_ogg_file(field, value):
 
     assert data.get(field) == value
 
+@pytest.mark.parametrize('field,value', [
+    ('title', 'Drei Kreuze (dass wir hier sind)'),
+    ('artist', 'Die Toten Hosen'),
+    ('album', 'Ballast der Republik'),
+    ('date', datetime.date(2012, 5, 4)),
+    ('track_number', 1),
+    ('musicbrainz_albumid', uuid.UUID('1f0441ad-e609-446d-b355-809c445773cf')),
+    ('musicbrainz_recordingid', uuid.UUID('124d0150-8627-46bc-bc14-789a3bc960c8')),
+    ('musicbrainz_artistid', uuid.UUID('c3bc80a6-1f4a-4e17-8cf0-6b1efe8302f1')),
+])
+def test_can_get_metadata_from_ogg_theora_file(field, value):
+    path = os.path.join(DATA_DIR, 'test_theora.ogg')
+    data = metadata.Metadata(path)
+
+    assert data.get(field) == value
+
 
 @pytest.mark.parametrize('field,value', [
     ('title', 'Bend'),
diff --git a/api/tests/music/test_theora.ogg b/api/tests/music/test_theora.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..3aa7117387a87115d9316f9d34205254381c95ec
Binary files /dev/null and b/api/tests/music/test_theora.ogg differ
diff --git a/changes/changelog.d/216.enhancement b/changes/changelog.d/216.enhancement
new file mode 100644
index 0000000000000000000000000000000000000000..0ed9dec4860fd71ce2652fa6721e191eeca41b1c
--- /dev/null
+++ b/changes/changelog.d/216.enhancement
@@ -0,0 +1 @@
+Added Support for OggTheora in import.