diff --git a/SodaLive/Sources/App/AppDelegate.swift b/SodaLive/Sources/App/AppDelegate.swift
index a3ff8b7..21e04fb 100644
--- a/SodaLive/Sources/App/AppDelegate.swift
+++ b/SodaLive/Sources/App/AppDelegate.swift
@@ -22,6 +22,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
         FirebaseApp.configure()
         Notifly.initialize(projectId: NOTIFLY_PROJECT_ID, username: NOTIFLY_USERNAME, password: NOTIFLY_PASSWORD)
         Messaging.messaging().delegate = self
+        setupAppsFlyer()
         
         // For iOS 10 display notification (sent via APNS)
         UNUserNotificationCenter.current().delegate = self
@@ -37,8 +38,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
         ApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
         AppEvents.shared.activateApp()
         
-        setupAppsFlyer()
-        
         return true
     }
     
diff --git a/SodaLive/Sources/Content/ContentApi.swift b/SodaLive/Sources/Content/ContentApi.swift
index 47c9e6f..d163a30 100644
--- a/SodaLive/Sources/Content/ContentApi.swift
+++ b/SodaLive/Sources/Content/ContentApi.swift
@@ -29,7 +29,7 @@ enum ContentApi {
     case getCurationList(isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int)
     case donation(request: AudioContentDonationRequest)
     case modifyComment(request: ModifyCommentRequest)
-    case getNewContentThemeList
+    case getNewContentThemeList(isAdultContentVisible: Bool, contentType: ContentType)
     case getNewContentAllOfTheme(isFree: Bool, theme: String, isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int)
     case getAudioContentListByCurationId(curationId: Int, isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int, sort: ContentCurationViewModel.Sort)
     case getContentRanking(page: Int, size: Int, sortType: String)
@@ -39,33 +39,33 @@ enum ContentApi {
     case getAudioContentByTheme(themeId: Int, isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int, sort: ContentAllByThemeViewModel.Sort)
     case generateUrl(contentId: Int)
     
-    case getContentMainHome
-    case getPopularContentByCreator(creatorId: Int)
+    case getContentMainHome(isAdultContentVisible: Bool, contentType: ContentType)
+    case getPopularContentByCreator(creatorId: Int, isAdultContentVisible: Bool, contentType: ContentType)
     
-    case getContentMainSeries
-    case getRecommendSeriesListByGenre(genreId: Int)
-    case getRecommendSeriesByCreator(creatorId: Int)
-    case getCompletedSeries(page: Int, size: Int)
+    case getContentMainSeries(isAdultContentVisible: Bool, contentType: ContentType)
+    case getRecommendSeriesListByGenre(genreId: Int, isAdultContentVisible: Bool, contentType: ContentType)
+    case getRecommendSeriesByCreator(creatorId: Int, isAdultContentVisible: Bool, contentType: ContentType)
+    case getCompletedSeries(isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int)
     
-    case getContentMainContent
+    case getContentMainContent(isAdultContentVisible: Bool, contentType: ContentType)
     case getContentMainNewContentOfTheme(theme: String, isAdultContentVisible: Bool, contentType: ContentType)
-    case getDailyContentRanking(sortType: String)
-    case getRecommendContentByTag(tag: String)
-    case getContentMainContentPopularContentByCreator(creatorId: Int)
+    case getDailyContentRanking(sortType: String, isAdultContentVisible: Bool, contentType: ContentType)
+    case getRecommendContentByTag(tag: String, contentType: ContentType)
+    case getContentMainContentPopularContentByCreator(creatorId: Int, isAdultContentVisible: Bool, contentType: ContentType)
     
-    case getContentMainAlarm
-    case getContentMainAlarmAll(theme: String, page: Int, size: Int)
+    case getContentMainAlarm(isAdultContentVisible: Bool, contentType: ContentType)
+    case getContentMainAlarmAll(theme: String, isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int)
     
-    case getContentMainAsmr
-    case getPopularAsmrContentByCreator(creatorId: Int)
+    case getContentMainAsmr(isAdultContentVisible: Bool, contentType: ContentType)
+    case getPopularAsmrContentByCreator(creatorId: Int, isAdultContentVisible: Bool, contentType: ContentType)
     
-    case getContentMainReplay
-    case getPopularReplayContentByCreator(creatorId: Int)
+    case getContentMainReplay(isAdultContentVisible: Bool, contentType: ContentType)
+    case getPopularReplayContentByCreator(creatorId: Int, isAdultContentVisible: Bool, contentType: ContentType)
     
-    case getContentMainFree
-    case getIntroduceCreatorList(page: Int, size: Int)
-    case getNewFreeContentOfTheme(theme: String, page: Int, size: Int)
-    case getPopularFreeContentByCreator(creatorId: Int)
+    case getContentMainFree(isAdultContentVisible: Bool, contentType: ContentType)
+    case getIntroduceCreatorList(isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int)
+    case getNewFreeContentOfTheme(theme: String, isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int)
+    case getPopularFreeContentByCreator(creatorId: Int, isAdultContentVisible: Bool, contentType: ContentType)
 }
 
 extension ContentApi: TargetType {
@@ -337,8 +337,13 @@ extension ContentApi: TargetType {
         case .modifyComment(let request):
             return .requestJSONEncodable(request)
             
-        case .getNewContentThemeList:
-            return .requestPlain
+        case .getNewContentThemeList(let isAdultContentVisible, let contentType):
+            let parameters = [
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType
+            ] as [String : Any]
+            
+            return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
             
         case .getNewContentAllOfTheme(let isFree, let theme, let isAdultContentVisible, let contentType, let page, let size):
             let parameters = [
@@ -399,20 +404,45 @@ extension ContentApi: TargetType {
             
             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
             
-        case .getContentMainHome, .getContentMainSeries, .getContentMainContent, 
-                .getContentMainAlarm, .getContentMainAsmr, .getContentMainReplay, .getContentMainFree:
-            return .requestPlain
+        case .getContentMainHome(let isAdultContentVisible, let contentType),
+                .getContentMainSeries(let isAdultContentVisible, let contentType),
+                .getContentMainContent(let isAdultContentVisible, let contentType),
+                .getContentMainAlarm(let isAdultContentVisible, let contentType),
+                .getContentMainAsmr(let isAdultContentVisible, let contentType),
+                .getContentMainReplay(let isAdultContentVisible, let contentType),
+                .getContentMainFree(let isAdultContentVisible, let contentType):
+            let parameters = [
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType
+            ] as [String : Any]
             
-        case .getRecommendSeriesListByGenre(let genreId):
-            let parameters = ["genreId": genreId]
             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
             
-        case .getPopularContentByCreator(let creatorId):
-            let parameters = ["creatorId": creatorId]
+        case .getRecommendSeriesListByGenre(let genreId, let isAdultContentVisible, let contentType):
+            let parameters = [
+                "genreId": genreId,
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType
+            ] as [String : Any]
+            
             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
             
-        case .getRecommendSeriesByCreator(let creatorId):
-            let parameters = ["creatorId": creatorId]
+        case .getPopularContentByCreator(let creatorId, let isAdultContentVisible, let contentType):
+            let parameters = [
+                "creatorId": creatorId,
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType
+            ] as [String : Any]
+            
+            return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
+            
+        case .getRecommendSeriesByCreator(let creatorId, let isAdultContentVisible, let contentType):
+            let parameters = [
+                "creatorId": creatorId,
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType
+            ] as [String : Any]
+            
             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
             
         case .getContentMainNewContentOfTheme(let theme, let isAdultContentVisible, let contentType):
@@ -423,39 +453,77 @@ extension ContentApi: TargetType {
             ] as [String : Any]
             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
             
-        case .getDailyContentRanking(let sortType):
-            let parameters = ["sort-type": sortType]
+        case .getDailyContentRanking(let sortType, let isAdultContentVisible, let contentType):
+            let parameters = [
+                "sort-type": sortType,
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType
+            ] as [String : Any]
             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
             
-        case .getRecommendContentByTag(let tag):
-            let parameters = ["tag": tag]
+        case .getRecommendContentByTag(let tag, let contentType):
+            let parameters = [
+                "tag": tag,
+                "contentType": contentType
+            ] as [String : Any]
             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
             
-        case .getContentMainContentPopularContentByCreator(let creatorId):
-            let parameters = ["creatorId": creatorId]
+        case .getContentMainContentPopularContentByCreator(let creatorId, let isAdultContentVisible, let contentType):
+            let parameters = [
+                "creatorId": creatorId,
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType
+            ] as [String : Any]
+            
             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
             
-        case .getContentMainAlarmAll(let theme, let page, let size), .getNewFreeContentOfTheme(let theme, let page, let size):
+        case .getNewFreeContentOfTheme(let theme, let isAdultContentVisible, let contentType, let page, let size):
             let parameters = [
                 "theme": theme,
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType,
                 "page": page - 1,
                 "size": size
             ] as [String : Any]
             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
             
-        case .getIntroduceCreatorList(let page, let size):
-            let parameters = ["page": page - 1, "size": size]
-            return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
-            
-        case .getPopularAsmrContentByCreator(let creatorId), .getPopularReplayContentByCreator(let creatorId), .getPopularFreeContentByCreator(let creatorId):
-            let parameters = ["creatorId": creatorId]
-            return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
-            
-        case .getCompletedSeries(let page, let size):
+        case .getContentMainAlarmAll(let theme, let isAdultContentVisible, let contentType, let page, let size):
             let parameters = [
+                "theme": theme,
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType,
                 "page": page - 1,
                 "size": size
-            ]
+            ] as [String : Any]
+            return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
+            
+        case .getIntroduceCreatorList(let isAdultContentVisible, let contentType, let page, let size):
+            let parameters = [
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType,
+                "page": page - 1,
+                "size": size
+            ] as [String : Any]
+            return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
+            
+        case .getPopularAsmrContentByCreator(let creatorId, let isAdultContentVisible, let contentType),
+                .getPopularReplayContentByCreator(let creatorId, let isAdultContentVisible, let contentType),
+                .getPopularFreeContentByCreator(let creatorId, let isAdultContentVisible, let contentType):
+            let parameters = [
+                "creatorId": creatorId,
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType
+            ] as [String : Any]
+            return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
+            
+        case .getCompletedSeries(let isAdultContentVisible, let contentType, let page, let size):
+            let parameters = [
+                "isAdultContentVisible": isAdultContentVisible,
+                "contentType": contentType,
+                "page": page - 1,
+                "size": size
+            ] as [String : Any]
+            
             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString)
         }
     }
diff --git a/SodaLive/Sources/Content/ContentRepository.swift b/SodaLive/Sources/Content/ContentRepository.swift
index 1a105d2..55d5260 100644
--- a/SodaLive/Sources/Content/ContentRepository.swift
+++ b/SodaLive/Sources/Content/ContentRepository.swift
@@ -109,7 +109,12 @@ final class ContentRepository {
     }
     
     func getNewContentThemeList() -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getNewContentThemeList)
+        return api.requestPublisher(
+            .getNewContentThemeList(
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getNewContentAllOfTheme(isFree: Bool, theme: String, page: Int, size: Int) -> AnyPublisher<Response, MoyaError> {
diff --git a/SodaLive/Sources/Content/Main/V2/Alarm/ContentMainTabAlarmRepository.swift b/SodaLive/Sources/Content/Main/V2/Alarm/ContentMainTabAlarmRepository.swift
index b208ee5..67aa001 100644
--- a/SodaLive/Sources/Content/Main/V2/Alarm/ContentMainTabAlarmRepository.swift
+++ b/SodaLive/Sources/Content/Main/V2/Alarm/ContentMainTabAlarmRepository.swift
@@ -15,10 +15,23 @@ final class ContentMainTabAlarmRepository {
     private let api = MoyaProvider<ContentApi>()
     
     func getContentMainAlarm() -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getContentMainAlarm)
+        return api.requestPublisher(
+            .getContentMainAlarm(
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getContentMainAlarmAll(theme: String, page: Int = 1, size: Int = 10) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getContentMainAlarmAll(theme: theme, page: page, size: size))
+        return api.requestPublisher(
+            .getContentMainAlarmAll(
+                theme: theme,
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL,
+                page: page,
+                size: size
+            )
+        )
     }
 }
diff --git a/SodaLive/Sources/Content/Main/V2/Asmr/ContentMainTabAsmrRepository.swift b/SodaLive/Sources/Content/Main/V2/Asmr/ContentMainTabAsmrRepository.swift
index c99beec..312129e 100644
--- a/SodaLive/Sources/Content/Main/V2/Asmr/ContentMainTabAsmrRepository.swift
+++ b/SodaLive/Sources/Content/Main/V2/Asmr/ContentMainTabAsmrRepository.swift
@@ -15,10 +15,21 @@ final class ContentMainTabAsmrRepository {
     private let api = MoyaProvider<ContentApi>()
     
     func getContentMainAsmr() -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getContentMainAsmr)
+        return api.requestPublisher(
+            .getContentMainAsmr(
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getPopularContentByCreator(creatorId: Int) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getPopularAsmrContentByCreator(creatorId: creatorId))
+        return api.requestPublisher(
+            .getPopularAsmrContentByCreator(
+                creatorId: creatorId,
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
 }
diff --git a/SodaLive/Sources/Content/Main/V2/Content/ContentMainTabContentRepository.swift b/SodaLive/Sources/Content/Main/V2/Content/ContentMainTabContentRepository.swift
index cd55fc4..f50f8f9 100644
--- a/SodaLive/Sources/Content/Main/V2/Content/ContentMainTabContentRepository.swift
+++ b/SodaLive/Sources/Content/Main/V2/Content/ContentMainTabContentRepository.swift
@@ -15,7 +15,12 @@ final class ContentMainTabContentRepository {
     private let api = MoyaProvider<ContentApi>()
     
     func getContentMainContent() -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getContentMainContent)
+        return api.requestPublisher(
+            .getContentMainContent(
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getNewContentOfTheme(theme: String) -> AnyPublisher<Response, MoyaError> {
@@ -29,14 +34,31 @@ final class ContentMainTabContentRepository {
     }
     
     func getContentRanking(sortType: String) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getDailyContentRanking(sortType: sortType))
+        return api.requestPublisher(
+            .getDailyContentRanking(
+                sortType: sortType,
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getRecommendContentByTag(tag: String) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getRecommendContentByTag(tag: tag))
+        return api.requestPublisher(
+            .getRecommendContentByTag(
+                tag: tag,
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getPopularContentByCreator(creatorId: Int) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getContentMainContentPopularContentByCreator(creatorId: creatorId))
+        return api.requestPublisher(
+            .getContentMainContentPopularContentByCreator(
+                creatorId: creatorId,
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
 }
diff --git a/SodaLive/Sources/Content/Main/V2/Free/ContentMainTabFreeRepository.swift b/SodaLive/Sources/Content/Main/V2/Free/ContentMainTabFreeRepository.swift
index 1d01a66..54015c5 100644
--- a/SodaLive/Sources/Content/Main/V2/Free/ContentMainTabFreeRepository.swift
+++ b/SodaLive/Sources/Content/Main/V2/Free/ContentMainTabFreeRepository.swift
@@ -15,18 +15,44 @@ final class ContentMainTabFreeRepository {
     private let api = MoyaProvider<ContentApi>()
     
     func getContentMainFree() -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getContentMainFree)
+        return api.requestPublisher(
+            .getContentMainFree(
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getIntroduceCreatorList(page: Int, size: Int) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getIntroduceCreatorList(page: page, size: size))
+        return api.requestPublisher(
+            .getIntroduceCreatorList(
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL,
+                page: page,
+                size: size
+            )
+        )
     }
     
     func getNewContentOfTheme(theme: String, page: Int = 1, size: Int = 20) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getNewFreeContentOfTheme(theme: theme, page: page, size: size))
+        return api.requestPublisher(
+            .getNewFreeContentOfTheme(
+                theme: theme,
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL,
+                page: page,
+                size: size
+            )
+        )
     }
     
     func getPopularContentByCreator(creatorId: Int) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getPopularFreeContentByCreator(creatorId: creatorId))
+        return api.requestPublisher(
+            .getPopularFreeContentByCreator(
+                creatorId: creatorId,
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
 }
diff --git a/SodaLive/Sources/Content/Main/V2/Home/ContentMainTabHomeRepository.swift b/SodaLive/Sources/Content/Main/V2/Home/ContentMainTabHomeRepository.swift
index f723da6..387e26c 100644
--- a/SodaLive/Sources/Content/Main/V2/Home/ContentMainTabHomeRepository.swift
+++ b/SodaLive/Sources/Content/Main/V2/Home/ContentMainTabHomeRepository.swift
@@ -14,10 +14,21 @@ class ContentMainTabHomeRepository {
     private let api = MoyaProvider<ContentApi>()
     
     func getContentMainHome() -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getContentMainHome)
+        return api.requestPublisher(
+            .getContentMainHome(
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getPopularContentByCreator(creatorId: Int) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getPopularContentByCreator(creatorId: creatorId))
+        return api.requestPublisher(
+            .getPopularContentByCreator(
+                creatorId: creatorId,
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
 }
diff --git a/SodaLive/Sources/Content/Main/V2/Replay/ContentMainTabReplayRepository.swift b/SodaLive/Sources/Content/Main/V2/Replay/ContentMainTabReplayRepository.swift
index 0f5f147..b48ed27 100644
--- a/SodaLive/Sources/Content/Main/V2/Replay/ContentMainTabReplayRepository.swift
+++ b/SodaLive/Sources/Content/Main/V2/Replay/ContentMainTabReplayRepository.swift
@@ -15,10 +15,21 @@ final class ContentMainTabReplayRepository {
     private let api = MoyaProvider<ContentApi>()
     
     func getContentMainReplay() -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getContentMainReplay)
+        return api.requestPublisher(
+            .getContentMainReplay(
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getPopularContentByCreator(creatorId: Int) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getPopularReplayContentByCreator(creatorId: creatorId))
+        return api.requestPublisher(
+            .getPopularReplayContentByCreator(
+                creatorId: creatorId,
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
 }
diff --git a/SodaLive/Sources/Content/Main/V2/Series/ContentMainTabSeriesRepository.swift b/SodaLive/Sources/Content/Main/V2/Series/ContentMainTabSeriesRepository.swift
index f9a6fd2..3d55928 100644
--- a/SodaLive/Sources/Content/Main/V2/Series/ContentMainTabSeriesRepository.swift
+++ b/SodaLive/Sources/Content/Main/V2/Series/ContentMainTabSeriesRepository.swift
@@ -14,18 +14,42 @@ final class ContentMainTabSeriesRepository {
     private let api = MoyaProvider<ContentApi>()
     
     func getContentMainSeries() -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getContentMainSeries)
+        return api.requestPublisher(
+            .getContentMainSeries(
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getRecommendSeriesListByGenre(genreId: Int) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getRecommendSeriesListByGenre(genreId: genreId))
+        return api.requestPublisher(
+            .getRecommendSeriesListByGenre(
+                genreId: genreId,
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getRecommendSeriesByCreator(creatorId: Int) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getRecommendSeriesByCreator(creatorId: creatorId))
+        return api.requestPublisher(
+            .getRecommendSeriesByCreator(
+                creatorId: creatorId,
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL
+            )
+        )
     }
     
     func getCompletedSeries(page: Int, size: Int) -> AnyPublisher<Response, MoyaError> {
-        return api.requestPublisher(.getCompletedSeries(page: page, size: size))
+        return api.requestPublisher(
+            .getCompletedSeries(
+                isAdultContentVisible: UserDefaults.isAdultContentVisible(),
+                contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL,
+                page: page,
+                size: size
+            )
+        )
     }
 }