diff --git a/swh/model/model.py b/swh/model/model.py
index da0547186bc54cbeb30df7570e8bb1c3a44cb3f8..2030da8c1b615d2330472254cd4cb6a4d53e079a 100644
--- a/swh/model/model.py
+++ b/swh/model/model.py
@@ -1098,6 +1098,13 @@ class RawExtrinsicMetadata(HashableObject, BaseModel):
 
         return super().from_dict(d)
 
+    def swhid(self) -> ExtendedSWHID:
+        """Returns a SWHID representing this RawExtrinsicMetadata object."""
+        return ExtendedSWHID(
+            object_type=SwhidExtendedObjectType.RAW_EXTRINSIC_METADATA,
+            object_id=self.id,
+        )
+
 
 @attr.s(frozen=True, slots=True)
 class ExtID(HashableObject, BaseModel):
diff --git a/swh/model/tests/test_model.py b/swh/model/tests/test_model.py
index bf9725c628c337b8d701ad73ee7b39dba25d060e..3c55b07cff38f6e750a2390fcff223e605bd2c18 100644
--- a/swh/model/tests/test_model.py
+++ b/swh/model/tests/test_model.py
@@ -21,6 +21,7 @@ from swh.model.identifiers import (
     content_identifier,
     directory_identifier,
     origin_identifier,
+    raw_extrinsic_metadata_identifier,
     release_identifier,
     revision_identifier,
     snapshot_identifier,
@@ -802,6 +803,14 @@ def test_origin_model_id_computation():
     assert str(ori_model.swhid()) == "swh:1:ori:" + ori_id_str
 
 
+def test_raw_extrinsic_metadata_model_id_computation():
+    emd_dict = metadata_example.copy()
+
+    emd_id_str = raw_extrinsic_metadata_identifier(emd_dict)
+    emd_model = RawExtrinsicMetadata.from_dict(emd_dict)
+    assert str(emd_model.swhid()) == "swh:1:emd:" + emd_id_str
+
+
 @given(strategies.objects(split_content=True))
 def test_object_type(objtype_and_obj):
     obj_type, obj = objtype_and_obj