diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerHeaderMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerHeaderMapper.java
index 0f808337e735facf53907a528625137260ca09a6..31e0e25657b72d4208ef1a371dbdbfd28a9ea8f0 100644
--- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerHeaderMapper.java
+++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerHeaderMapper.java
@@ -9,6 +9,7 @@ import java.util.Map;
 import org.springframework.stereotype.Component;
 
 import de.ozgcloud.eingang.common.errorhandling.TechnicalException;
+import de.ozgcloud.eingang.common.formdata.Antragsteller;
 import de.ozgcloud.eingang.common.formdata.FormData;
 
 @Component
@@ -26,7 +27,21 @@ public class AfmAntragstellerHeaderMapper {
 	static final String KEY_ORT = "u:saml_localityname";
 
 	public FormData parseAntragstellerData(FormData formData) {
-		return formData;
+		return formData.toBuilder().antragsteller(buildAntragsteller(getHeaders(formData))).build();
+	}
+
+	Antragsteller buildAntragsteller(Map<String, Object> headers) {
+		return Antragsteller.builder()
+				.postfachId((String) headers.get(KEY_POSTFACH_ID))
+				.vorname((String) headers.get(KEY_VORNAME))
+				.nachname((String) headers.get(KEY_NACHNAME))
+				.geburtsort((String) headers.get(KEY_GEBURTSORT))
+				.email((String) headers.get(KEY_EMAIL))
+				.telefon((String) headers.get(KEY_TELEFON))
+				.strasse((String) headers.get(KEY_STRASSE))
+				.plz((String) headers.get(KEY_PLZ))
+				.ort((String) headers.get(KEY_ORT))
+				.build();
 	}
 
 	public boolean isResponsible(FormData formData) {
diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerHeaderMapperTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerHeaderMapperTest.java
index f659992813a66eb649b627e4d979f8e154031d0c..6b68709fdd773e68b8919c2e535c124bce73a0d2 100644
--- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerHeaderMapperTest.java
+++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerHeaderMapperTest.java
@@ -9,7 +9,6 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
@@ -19,6 +18,7 @@ import org.mockito.Mock;
 import org.mockito.Spy;
 
 import de.ozgcloud.eingang.common.errorhandling.TechnicalException;
+import de.ozgcloud.eingang.common.formdata.AntragstellerTestFactory;
 import de.ozgcloud.eingang.common.formdata.FormData;
 
 class AfmAntragstellerHeaderMapperTest {
@@ -30,6 +30,103 @@ class AfmAntragstellerHeaderMapperTest {
 	@Nested
 	class TestParseAntragstellerData {
 
+		@Test
+		void shouldCallGetHeaders() {
+			var formData = FormData.builder().build();
+			doReturn(Collections.emptyMap()).when(mapper).getHeaders(any());
+
+			mapper.parseAntragstellerData(formData);
+
+			verify(mapper).getHeaders(formData);
+		}
+
+		@Test
+		void shouldCallBuildAntragsteller() {
+			var headerMap = AfmHeaderTestFactory.createCustomHeaderMap();
+			doReturn(headerMap).when(mapper).getHeaders(any());
+
+			mapper.parseAntragstellerData(FormData.builder().build());
+
+			verify(mapper).buildAntragsteller(headerMap);
+		}
+
+		@Test
+		void shouldSetAntragsteller() {
+			var antragsteller = AntragstellerTestFactory.create();
+			doReturn(antragsteller).when(mapper).buildAntragsteller(any());
+
+			var result = mapper.parseAntragstellerData(FormData.builder().build());
+
+			assertThat(result.getAntragsteller()).isEqualTo(antragsteller);
+		}
+
+		@Nested
+		class TestBuildAntragsteller {
+
+			private Map<String, Object> headers = AfmHeaderTestFactory.createCustomHeaderMap();
+			@Test
+			void shouldSetPostfachId() {
+				var result = mapper.buildAntragsteller(headers);
+
+				assertThat(result.getPostfachId()).isEqualTo(AfmHeaderTestFactory.CUSTOM_POSTFACH_ID);
+			}
+
+			@Test
+			void shouldSetVorname() {
+				var result = mapper.buildAntragsteller(headers);
+
+				assertThat(result.getVorname()).isEqualTo(AfmHeaderTestFactory.CUSTOM_VORNAME);
+			}
+
+			@Test
+			void shouldSetNachname() {
+				var result = mapper.buildAntragsteller(headers);
+
+				assertThat(result.getNachname()).isEqualTo(AfmHeaderTestFactory.CUSTOM_NACHNAME);
+			}
+
+			@Test
+			void shouldSetGeburtsort() {
+				var result = mapper.buildAntragsteller(headers);
+
+				assertThat(result.getGeburtsort()).isEqualTo(AfmHeaderTestFactory.CUSTOM_GEBURTSORT);
+			}
+
+			@Test
+			void shoudlSetEmail() {
+				var result = mapper.buildAntragsteller(headers);
+
+				assertThat(result.getEmail()).isEqualTo(AfmHeaderTestFactory.CUSTOM_EMAIL);
+			}
+
+			@Test
+			void shouldSetTelefon() {
+				var result = mapper.buildAntragsteller(headers);
+
+				assertThat(result.getTelefon()).isEqualTo(AfmHeaderTestFactory.CUSTOM_TELEFON);
+			}
+
+			@Test
+			void shouldSetStrasse() {
+				var result = mapper.buildAntragsteller(headers);
+
+				assertThat(result.getStrasse()).isEqualTo(AfmHeaderTestFactory.CUSTOM_STRASSE);
+			}
+
+			@Test
+			void shouldSetPlz() {
+				var result = mapper.buildAntragsteller(headers);
+
+				assertThat(result.getPlz()).isEqualTo(AfmHeaderTestFactory.CUSTOM_PLZ);
+			}
+
+			@Test
+			void shouldSetOrt() {
+				var result = mapper.buildAntragsteller(headers);
+
+				assertThat(result.getOrt()).isEqualTo(AfmHeaderTestFactory.CUSTOM_ORT);
+			}
+		}
 	}
 
 	@Nested
@@ -38,11 +135,6 @@ class AfmAntragstellerHeaderMapperTest {
 		@Mock
 		private FormData formData;
 
-		@BeforeEach
-		void setup() {
-
-		}
-
 		@Test
 		void shouldApproveResponsibility() {
 			doReturn(true).when(mapper).isPostfachIdNotBlank(any());
@@ -83,29 +175,6 @@ class AfmAntragstellerHeaderMapperTest {
 				assertFalse(isResponsible);
 			}
 
-			@Nested
-			class TestGetHeaders {
-
-				@Test
-				void shouldReturnHeaders() {
-					var headers = createHeaders(AfmAntragstellerHeaderMapper.KEY_POSTFACH_ID, "123");
-					var formData =  FormData.builder().formData(createHeaders(AfmHeaderMapper.HEADER_FIELD, headers)).build();
-
-					var result = mapper.getHeaders(formData);
-
-					assertThat(result).isEqualTo(headers);
-				}
-
-				@Test
-				void shouldReturnEmptyMapWhenNoHeaders() {
-					var formData = FormData.builder().build();
-
-					var result = mapper.getHeaders(formData);
-
-					assertThat(result).isEmpty();
-				}
-			}
-
 			@Nested
 			class TestIsPostfachIdNotBlank {
 
@@ -134,6 +203,29 @@ class AfmAntragstellerHeaderMapperTest {
 		}
 	}
 
+	@Nested
+	class TestGetHeaders {
+
+		@Test
+		void shouldReturnHeaders() {
+			var headers = createHeaders(AfmAntragstellerHeaderMapper.KEY_POSTFACH_ID, "123");
+			var formData =  FormData.builder().formData(createHeaders(AfmHeaderMapper.HEADER_FIELD, headers)).build();
+
+			var result = mapper.getHeaders(formData);
+
+			assertThat(result).isEqualTo(headers);
+		}
+
+		@Test
+		void shouldReturnEmptyMapWhenNoHeaders() {
+			var formData = FormData.builder().build();
+
+			var result = mapper.getHeaders(formData);
+
+			assertThat(result).isEmpty();
+		}
+	}
+
 	private Map<String, Object> createHeaders(String key, Object value) {
 		var map = new HashMap<String, Object>();
 		map.put(key, value);