diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentController.kt
index 80762a1..375d316 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentController.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentController.kt
@@ -2,10 +2,13 @@ package kr.co.vividnext.sodalive.content.main.tab.content
 
 import kr.co.vividnext.sodalive.common.ApiResponse
 import kr.co.vividnext.sodalive.common.SodaException
+import kr.co.vividnext.sodalive.content.ContentType
 import kr.co.vividnext.sodalive.member.Member
+import org.springframework.data.domain.Pageable
 import org.springframework.security.core.annotation.AuthenticationPrincipal
 import org.springframework.web.bind.annotation.GetMapping
 import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RequestParam
 import org.springframework.web.bind.annotation.RestController
 
 @RestController
@@ -13,10 +16,38 @@ import org.springframework.web.bind.annotation.RestController
 class AudioContentMainTabContentController(private val service: AudioContentMainTabContentService) {
     @GetMapping
     fun fetchContentMainTabContent(
+        @RequestParam("isAdultContentVisible", required = false) isAdultContentVisible: Boolean? = null,
+        @RequestParam("contentType", required = false) contentType: ContentType? = null,
         @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
     ) = run {
         if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
 
-        ApiResponse.ok(service.fetchData(member))
+        ApiResponse.ok(
+            service.fetchData(
+                isAdultContentVisible = isAdultContentVisible ?: true,
+                contentType = contentType ?: ContentType.ALL,
+                member
+            )
+        )
+    }
+
+    @GetMapping("/new-content-by-theme")
+    fun getNewContentByTheme(
+        @RequestParam("theme") theme: String,
+        @RequestParam("isAdultContentVisible", required = false) isAdultContentVisible: Boolean? = null,
+        @RequestParam("contentType", required = false) contentType: ContentType? = null,
+        @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?,
+        pageable: Pageable
+    ) = run {
+        if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
+
+        ApiResponse.ok(
+            service.getNewContentByTheme(
+                theme,
+                isAdultContentVisible = isAdultContentVisible ?: true,
+                contentType = contentType ?: ContentType.ALL,
+                member
+            )
+        )
     }
 }
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt
index f505e2e..8c20e44 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt
@@ -2,6 +2,7 @@ package kr.co.vividnext.sodalive.content.main.tab.content
 
 import kr.co.vividnext.sodalive.content.AudioContentRepository
 import kr.co.vividnext.sodalive.content.ContentType
+import kr.co.vividnext.sodalive.content.main.GetAudioContentMainItem
 import kr.co.vividnext.sodalive.content.main.banner.AudioContentBannerService
 import kr.co.vividnext.sodalive.content.theme.AudioContentThemeQueryRepository
 import kr.co.vividnext.sodalive.event.EventService
@@ -18,7 +19,11 @@ class AudioContentMainTabContentService(
     private val rankingService: RankingService,
     private val eventService: EventService
 ) {
-    fun fetchData(member: Member): GetContentMainTabContentResponse {
+    fun fetchData(
+        isAdultContentVisible: Boolean,
+        contentType: ContentType,
+        member: Member
+    ): GetContentMainTabContentResponse {
         val memberId = member.id!!
         val isAdult = member.auth != null
 
@@ -98,4 +103,20 @@ class AudioContentMainTabContentService(
             eventBannerList = eventBannerList
         )
     }
+
+    fun getNewContentByTheme(
+        theme: String,
+        isAdultContentVisible: Boolean,
+        contentType: ContentType,
+        member: Member
+    ): List<GetAudioContentMainItem> {
+        return audioContentRepository.findByTheme(
+            memberId = member.id!!,
+            theme = theme,
+            isAdult = member.auth != null && isAdultContentVisible,
+            contentType = contentType,
+            offset = 0,
+            limit = 10
+        )
+    }
 }