diff --git a/scipost_django/journals/api/serializers/publication.py b/scipost_django/journals/api/serializers/publication.py
index c202fc5a634af02e8725d012288e3747d1f85884..158f72da9c8e3adea45276a1fd15a16f174995c5 100644
--- a/scipost_django/journals/api/serializers/publication.py
+++ b/scipost_django/journals/api/serializers/publication.py
@@ -10,7 +10,12 @@ from ...models import Publication
 
 class PublicationPublicSerializer(DynamicFieldsModelSerializer):
     url = serializers.URLField(source="get_absolute_url")
+    doi = serializers.URLField(source="doi_string")
     accepted_submission = serializers.SerializerMethodField()
+    acad_field = serializers.StringRelatedField()
+    specialties = serializers.StringRelatedField(many=True)
+    topics = serializers.StringRelatedField(many=True)
+    approaches = serializers.StringRelatedField()
 
     class Meta:
         model = Publication
@@ -20,8 +25,16 @@ class PublicationPublicSerializer(DynamicFieldsModelSerializer):
             "author_list",
             "abstract",
             "doi_label",
+            "doi",
+            "submission_date",
+            "acceptance_date",
             "publication_date",
+            "cc_license",
             "accepted_submission",
+            "acad_field",
+            "specialties",
+            "topics",
+            "approaches",
         ]
 
     def get_accepted_submission(self, obj):