Fiddlesticks is a set of synchronous Java clients for Riot Games APIs. The repository publishes the modules independently, while keeping their versions aligned for releases.
| Module | Maven coordinate | Description |
|---|---|---|
| League API | io.github.jkrannich:leagueapi |
Riot Games League of Legends API client |
| Data Dragon | io.github.jkrannich:datadragon |
Data Dragon metadata, JSON, and asset client |
Both modules target Java 26 and use Jackson 3 for JSON mapping. Jackson's annotation module remains on its com.fasterxml.jackson namespace as required by Jackson 3.
After a release is available on Maven Central, use the same version for whichever modules your application needs:
repositories {
mavenCentral()
}
dependencies {
implementation("io.github.jkrannich:leagueapi:<version>")
implementation("io.github.jkrannich:datadragon:<version>")
}The modules are independent; an application can depend on either one without depending on the other.
League API calls require a Riot API key:
RiotApi api = RiotApi.builder()
.apiKey(System.getenv("RIOT_API_KEY"))
.defaultPlatformRegion(Regions.PlatformRegion.EUW1)
.defaultRegionalRoute(Regions.RegionalRoute.EUROPE)
.build();
AccountDto account = api.regional()
.accounts()
.byRiotId("GameName", "TAG");See the League API documentation for routing, endpoint clients, Clash, match history, and integration tests.
Data Dragon is public and does not require an API key:
DataDragonClient dataDragon = new HttpDataDragonClient();
String version = dataDragon.latestVersion();
ChampionsIndexDto champions = dataDragon.champions(version, "en_US");
URI ahriIcon = dataDragon.championSquare(version, "Ahri");See the Data Dragon documentation for champion, item, rune, summoner spell, profile icon, and patch asset endpoints.
Run the normal unit tests and build both modules from the repository root:
./gradlew :leagueapi:test :datadragon:test
./gradlew :leagueapi:build :datadragon:build
League API integration tests are opt-in and require RIOT_API_KEY:
./gradlew :leagueapi:test -PincludeIntegrationTests
For local consumer testing, publish both modules to Maven Local:
./gradlew :leagueapi:publishToMavenLocal :datadragon:publishToMavenLocal
See RELEASING.md for Central Portal credentials, signing, tags, and the combined release workflow.