The Sport SDK is a Kotlin Multiplatform SDK that wraps Sportradar Fishnet feeds behind a strongly typed API for Android, iOS, and Web.
It is built for the most common sports-data workflows:
Install the SDK, initialize it once with your credentials, then use the sports feed as your first health check. If getAllSports() / getSports() works, your credentials, networking, and SDK setup are usually correct.
Gradle dependency, SportSdk.init(...), and Compose-friendly usage patterns.
SportSDK.xcframework, Swift concurrency, and SwiftUI-first integration examples.
| Platform | Minimum |
|---|---|
| Android | API 26 / Android 8.0 |
| iOS | iOS 13.0 |
| Web | Modern ES2020-capable browsers with BigInt support |
clientId = IntclientId = Int32clientId = All platforms need the same core values:
SportsControllerSeasonControllerMatchControllerPlayerControllernumber instead of biginterrorMessage when a result is emptyval initialized = SportSdk.init(
applicationContext,
enableAnalytics = true,
clientConfig = ClientConfig(
clientId = YOUR_CLIENT_ID,
appKey = "YOUR_APP_KEY",
),
)
if (initialized) {
val sports = SportControllers.sportsController.getAllSports().data.orEmpty()
println("Loaded ${sports.size} sports")
}sport-sdk package usage, KtList conversion, and bigint handling in TypeScript.
numberDo not pass clientId as a string.
clientId -> provided by Sportradar
appKey -> provided by Sportradar
appIdentifier -> required on JVM/Web; auto-resolved on Android/iOSOn Android and iOS, the SDK resolves appIdentifier automatically from the running app and ignores any caller-provided value. On Web and JVM, provide it explicitly in ClientConfig.
throwErrorOnInit exists for testing error handling and should normally remain false.