diff --git a/src/main/java/org/apache/tomee/website/ApisUsed.java b/src/main/java/org/apache/tomee/website/ApisUsed.java
index 08d24a9..aa61897 100644
--- a/src/main/java/org/apache/tomee/website/ApisUsed.java
+++ b/src/main/java/org/apache/tomee/website/ApisUsed.java
@@ -28,7 +28,7 @@
     public static String insertHref(String source, final String link, final String linkText) {
         source = normalize(source);
 
-        if (source.contains("\n= APIs Used\n")) {
+        if (source.contains("\n== APIs Used\n")) {
             return updateApiList(source, link, linkText);
         } else {
             return addApiList(source, link, linkText);
@@ -38,7 +38,7 @@
     private static String addApiList(final String source, final String link, final String linkText) {
         final PrintString out = new PrintString();
         out.println("");
-        out.println("= APIs Used");
+        out.println("== APIs Used");
         out.println("");
         out.printf("- link:%s[%s]%n", link, linkText);
 
@@ -46,7 +46,7 @@
     }
 
     private static String updateApiList(final String source, final String link, final String linkText) {
-        final int start = source.indexOf("\n= APIs Used\n");
+        final int start = source.indexOf("\n== APIs Used\n");
         final int end = ExampleLinks.min(source.indexOf("\n=", start + 1), source.length());
         final String content = source.substring(start, end);
 
@@ -64,6 +64,6 @@
         final Matcher matcher = HEADER.matcher(source);
         if (!matcher.find()) return source;
 
-        return matcher.replaceAll("\n= APIs Used\n");
+        return matcher.replaceAll("\n== APIs Used\n");
     }
 }
diff --git a/src/test/java/org/apache/tomee/website/ApisUsedTest.java b/src/test/java/org/apache/tomee/website/ApisUsedTest.java
index 6807e5b..484df03 100644
--- a/src/test/java/org/apache/tomee/website/ApisUsedTest.java
+++ b/src/test/java/org/apache/tomee/website/ApisUsedTest.java
@@ -121,7 +121,7 @@
 
     @Test
     public void normalize() throws Exception {
-        assertEquals("\n= APIs Used\n- link", ApisUsed.normalize("\n====  ApIs usEd\n- link"));
+        assertEquals("\n== APIs Used\n- link", ApisUsed.normalize("\n====  ApIs usEd\n- link"));
     }
 
 }
diff --git a/src/test/resources/ApisUsedTest/abnormalHeading/after.adoc b/src/test/resources/ApisUsedTest/abnormalHeading/after.adoc
index 9a6d5db..059541a 100644
--- a/src/test/resources/ApisUsedTest/abnormalHeading/after.adoc
+++ b/src/test/resources/ApisUsedTest/abnormalHeading/after.adoc
@@ -225,6 +225,6 @@
 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
 ----
 
-= APIs Used
+== APIs Used
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/Entity.html[jakarta.persistence.Entity]
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/EntityManager.html[jakarta.persistence.EntityManager]
diff --git a/src/test/resources/ApisUsedTest/hasOtherSections/after.adoc b/src/test/resources/ApisUsedTest/hasOtherSections/after.adoc
index f6e1e43..aa3e841 100644
--- a/src/test/resources/ApisUsedTest/hasOtherSections/after.adoc
+++ b/src/test/resources/ApisUsedTest/hasOtherSections/after.adoc
@@ -225,7 +225,7 @@
 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
 ----
 
-= APIs Used
+== APIs Used
 
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/Entity.html[jakarta.persistence.Entity]
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/EntityManager.html[jakarta.persistence.EntityManager]
diff --git a/src/test/resources/ApisUsedTest/hasOtherSections/before.adoc b/src/test/resources/ApisUsedTest/hasOtherSections/before.adoc
index 7966535..d5a06a4 100644
--- a/src/test/resources/ApisUsedTest/hasOtherSections/before.adoc
+++ b/src/test/resources/ApisUsedTest/hasOtherSections/before.adoc
@@ -225,7 +225,7 @@
 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
 ----
 
-= APIs Used
+== APIs Used
 
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/Entity.html[jakarta.persistence.Entity]
 
diff --git a/src/test/resources/ApisUsedTest/insertHref/after.adoc b/src/test/resources/ApisUsedTest/insertHref/after.adoc
index f83a09d..bcfdfa3 100644
--- a/src/test/resources/ApisUsedTest/insertHref/after.adoc
+++ b/src/test/resources/ApisUsedTest/insertHref/after.adoc
@@ -225,6 +225,6 @@
 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
 ----
 
-= APIs Used
+== APIs Used
 
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/Entity.html[jakarta.persistence.Entity]
diff --git a/src/test/resources/ApisUsedTest/multipleInserts/after1.adoc b/src/test/resources/ApisUsedTest/multipleInserts/after1.adoc
index f83a09d..bcfdfa3 100644
--- a/src/test/resources/ApisUsedTest/multipleInserts/after1.adoc
+++ b/src/test/resources/ApisUsedTest/multipleInserts/after1.adoc
@@ -225,6 +225,6 @@
 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
 ----
 
-= APIs Used
+== APIs Used
 
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/Entity.html[jakarta.persistence.Entity]
diff --git a/src/test/resources/ApisUsedTest/multipleInserts/after2.adoc b/src/test/resources/ApisUsedTest/multipleInserts/after2.adoc
index 95aaa88..849b13a 100644
--- a/src/test/resources/ApisUsedTest/multipleInserts/after2.adoc
+++ b/src/test/resources/ApisUsedTest/multipleInserts/after2.adoc
@@ -225,7 +225,7 @@
 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
 ----
 
-= APIs Used
+== APIs Used
 
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/Entity.html[jakarta.persistence.Entity]
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/EntityManager.html[jakarta.persistence.EntityManager]
diff --git a/src/test/resources/ApisUsedTest/multipleInserts/after3.adoc b/src/test/resources/ApisUsedTest/multipleInserts/after3.adoc
index 906b6ff..8bd4f04 100644
--- a/src/test/resources/ApisUsedTest/multipleInserts/after3.adoc
+++ b/src/test/resources/ApisUsedTest/multipleInserts/after3.adoc
@@ -225,7 +225,7 @@
 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
 ----
 
-= APIs Used
+== APIs Used
 
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/Entity.html[jakarta.persistence.Entity]
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/EntityManager.html[jakarta.persistence.EntityManager]
diff --git a/src/test/resources/ApisUsedTest/noDuplicates/after.adoc b/src/test/resources/ApisUsedTest/noDuplicates/after.adoc
index f83a09d..bcfdfa3 100644
--- a/src/test/resources/ApisUsedTest/noDuplicates/after.adoc
+++ b/src/test/resources/ApisUsedTest/noDuplicates/after.adoc
@@ -225,6 +225,6 @@
 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
 ----
 
-= APIs Used
+== APIs Used
 
 - link:../../../jakartaee-9.0/javadoc/jakarta/persistence/Entity.html[jakarta.persistence.Entity]
