Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. GraphQL Tools
  3. GraphQL Kotlin

GraphQL Kotlin

What it is

GraphQL Kotlin is a free collection of libraries for running GraphQL clients and servers in Kotlin, built on graphql-java. Its schema generator creates schemas from Kotlin code, and a federation module can generate Apollo Federation compliant schemas. Gradle and Maven plugins generate type-safe Kotlin client code from an existing schema. Generated clients support queries and mutations, batching, coroutines, custom scalars and configurable enum defaults; generated models support Jackson and kotlinx.serialization. Reference HTTP clients use Ktor HTTP Client and Spring WebClient, while custom implementations can use other engines. Server implementations are available for Spring Boot and Ktor, with the Spring server using Spring WebFlux. Ktor supports Kotlin Flow subscriptions over WebSockets using the graphql-transport-ws subprotocol. Its plugin leaves route configuration to the application, which can selectively enable routes and add logic such as authentication. The schema generator supports Kotlin Lists, but Sets, arbitrary Maps and arrays are not supported out of the box. The project is licensed under Apache License 2.0, and maintainers invite questions through GitHub Discussions and Kotlin Slack.

For and against

For

  • Generates schemas from Kotlin code and clients from existing schemas.
  • Supports batching, coroutines and custom scalars.
  • Spring Boot and Ktor server implementations are provided.
  • Free under Apache License 2.0.

Against

  • Ktor routes must be configured explicitly.
  • Sets, arbitrary Maps and arrays lack out-of-box schema support.
  • Server and client development requires Kotlin.

The verdict

GraphQL Kotlin provides a broad set of client and server libraries for Kotlin applications. Check its collection and route-configuration limits against the types and server setup your project needs.

Who it suits

GraphQL Kotlin suits developers building GraphQL servers or generating type-safe clients in Kotlin. It is especially relevant to teams using Spring Boot or Ktor integrations.

Plans and prices

Open source

Free

Apache License 2.0

Every plan, in full

On the record

Client features
Clients support query and mutation operations, batching, coroutines, custom scalars, and configurable enum defaults.opensource.expediagroup.com · read 4 Oct 2026
Client generation
Gradle and Maven plugins generate type-safe Kotlin client code from an existing GraphQL schema.opensource.expediagroup.com · read 4 Oct 2026
Client integrations
Reference HTTP client implementations use Ktor HTTP client and Spring WebClient, and custom implementations can use other engines.opensource.expediagroup.com · read 4 Oct 2026
Collection limit
The schema generator explicitly supports Kotlin Lists; Sets, arbitrary Maps, and arrays are not supported out of the box.opensource.expediagroup.com · read 4 Oct 2026
Configuration limit
The Ktor plugin does not automatically configure routes; routes must be explicitly configured with the Routing plugin.opensource.expediagroup.com · read 4 Oct 2026
Federation
The federation module can generate Apollo Federation compliant schemas.opensource.expediagroup.com · read 4 Oct 2026
Integrations
Reference client implementations use Ktor HTTP Client and Spring WebClient, and custom implementations can use other engines.opensource.expediagroup.com · read 4 Oct 2026
Intended users
The project describes its common use cases as running a GraphQL server and generating a type-safe client in Kotlin.github.com · read 4 Oct 2026
License
The library is licensed under Apache License 2.0.github.com · read 4 Oct 2026
Purpose
GraphQL Kotlin is a collection of libraries built on graphql-java to run GraphQL clients and servers in Kotlin.opensource.expediagroup.com · read 4 Oct 2026
Schema generation
Its schema generator creates a GraphQL schema from Kotlin code and can expose it through a server library.opensource.expediagroup.com · read 4 Oct 2026
Security
The repository README directs users to SECURITY.md for security issue contact information and supported versions receiving security updates.github.com · read 4 Oct 2026
Security policy
The repository directs users to its security policy for reporting issues and information about versions receiving security updates.github.com · read 4 Oct 2026
Serialization
Generated client models support Jackson and kotlinx.serialization formats.opensource.expediagroup.com · read 4 Oct 2026
Server configuration
The Ktor plugin does not configure routes automatically, allowing applications to selectively enable routes and wrap them with logic such as authentication.opensource.expediagroup.com · read 4 Oct 2026
Server frameworks
The documentation describes server examples and integrations for Spring Boot and Ktor.opensource.expediagroup.com · read 4 Oct 2026
Server integrations
The project provides Spring Boot and Ktor server implementations; the Spring server uses Spring WebFlux.opensource.expediagroup.com · read 4 Oct 2026
Subscriptions
The Ktor server supports Kotlin Flow subscriptions over WebSockets using the graphql-transport-ws subprotocol.opensource.expediagroup.com · read 4 Oct 2026

Alternatives to GraphQL Kotlin

Every alternative, ranked