GitHunt
KU

Kurozora/kurozorakit-android

Simple to use framework for interacting with the Kurozora API for Android

The magic behind Kurozora apps for Android

KurozoraKit Kotlin Kurozora Discord Server Documentation License

KurozoraKit lets users manage their anime, manga, games and music library and access many other services from your app. When users provide permission to access their Kurozora account, they can use your app to share anime, add it to their library, and discover any of the thousands of content in the Kurozora catalog. If your app detects that the user is not yet a Kurozora member, you can offer them to create an account within your app.

KurozoraKit is designed to be:

  • 🛠 Intuitive: KurozoraKit is built with Kotlin, a concise and multiplatform programming language.

  • 🧵 Asynchronous: By utilizing the power of Kotlin Coroutines, KurozoraKit is more readable and less prone to errors like data races and deadlocks by design.

  • ✨ Magical: The kit is carefully designed to work as efficient and reliable as you would expect it to.

  • ⚙️ Reliable: Built for the best API. The way KurozoraKit works together with the Kurozora API is truly otherworldly.

Requirements

KurozoraKit has been tested to work on Android 15.0+. It also works best with Kotlin 5.0+

To use KurozoraKit in your project, you need to install it first.

Installation

Gradle

KurozoraKit is also available through Gradle Build Tool. To install it, simply add the package to your build.gradle.kts file:

dependencies {
    implementation("app.kurozora:kurozorakit:1.0.0")
}

Usage

KurozoraKit can be initialized as simply as:

val kurozoraKit = KurozoraKit.Builder()
    .apiKey("your_api_key")
    .userAgent(UserAgent(appName = "your_app_name", appID = "com.username.kurozora", platformName = "your_platform_name", platformVersion = "your_platform_version"))
    .build()

KurozoraKit allows you to set your own API endpoint. For example, if you have a custom API endpoint for debugging purposes, you can set it like this:

val kurozoraKit = KurozoraKit.Builder()
    .apiEndpoint(KurozoraApi.V1.baseUrl)
    .apiKey("your_api_key")
    .userAgent(UserAgent(appName = "your_app_name", appID = "com.username.kurozora", platformName = "your_platform_name", platformVersion = "your_platform_version"))
    .build()

KurozoraKit also accepts a TokenProvider object to enable and manage user accounts. For example, you can do something like the following:

// Prepare token provider.
object KurozoraTokenProvider: TokenProvider {
    val accountManager = GlobalContext.get().get<AccountManager>()

    override suspend fun saveToken(user: AccountUser) {
        accountManager.addAccount(user)
    }

    override suspend fun getToken(): String? {
        return accountManager.activeAccount.value?.token
    }
}

// Pass KurozoraTokenProvider
val kurozoraKit = KurozoraKit.Builder()
    .apiEndpoint(KurozoraApi.V1.baseUrl)
    .apiKey("your_api_key")
    .userAgent(UserAgent(appName = "your_app_name", appID = "com.username.kurozora", platformName = "your_platform_name", platformVersion = "your_platform_version"))
    .tokenProvider(KurozoraTokenProvider)
    .platform(getPlatform())
    .build()

An example of AccountManager can be found on the Kurozora Android repo.

After setting up KurozoraKit you can use an API by calling its own method. For example, to get the explore page data, you do the following:

val genreId = "1"

val kurozoraKit = KurozoraKit.explore()
    .getExplore(genreId = genreId)
    .onSuccess { res ->
        // Handle success case…
    }

Contributing

Read the Contributing Guide to learn about reporting issues, contributing code, and more ways to contribute.

Security

Read our Security Policy to learn about reporting security issues.

Getting in Touch

If you have any questions or just want to say hi, join the Kurozora Discord and drop a message on the #development channel.

Code of Conduct

This project has a Code of Conduct. By interacting with this repository, or community you agree to abide by its terms.

More by Kurozora

License

KurozoraKit is an Open Source project covered by the MIT License.

Languages

Kotlin100.0%

Contributors

MIT License
Created August 5, 2025
Updated February 11, 2026