GraphQL Kotlin vs Netflix DGS
GraphQL Kotlin
opensource.expediagroup.comNetflix DGS
netflix.github.ioSide by side
| Figure | GraphQL Kotlin | Netflix DGS |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · GraphQL Tools | 8.0 (#8) | 7.7 (#14) |
| Federation | The federation module can generate Apollo Federation compliant schemas. | DGS supports GraphQL Federation and can reference and extend federated types. |
| License | The library is licensed under Apache License 2.0. | The repository lists the Apache-2.0 license. |
| Purpose | GraphQL Kotlin is a collection of libraries built on graphql-java to run GraphQL clients and servers in Kotlin. | DGS is a GraphQL server framework for Spring Boot that makes it easier to create GraphQL services. |
Plans
In their own words
GraphQL Kotlin
GraphQL Kotlin is a free Apache License 2.0 collection of libraries, built on graphql-java, for running GraphQL clients and servers in Kotlin. Its schema generator creates schemas from Kotlin code, and a federation module can produce Apollo Federation-compliant schemas. Gradle and Maven plugins generate type-safe Kotlin clients from existing schemas. Generated clients support queries, mutations, batching, coroutines, custom scalars, configurable enum defaults, and Jackson or kotlinx.serialization models. Reference HTTP integrations use Ktor HTTP Client and Spring WebClient, while custom engines are possible. Server implementations target Spring Boot and Ktor; the Spring server uses Spring WebFlux. Ktor supports Kotlin Flow subscriptions over WebSockets with the graphql-transport-ws subprotocol. Its plugin leaves route configuration to the application, allowing selective routes and added authentication logic. The schema generator supports Kotlin Lists, but Sets, arbitrary Maps, and arrays are not supported out of the box. The project is self-hosted, with security guidance in its repository and community support through GitHub Discussions and Kotlin Slack.
Netflix DGS
Netflix DGS is a free, open-source GraphQL server framework for Spring Boot, deployed as a self-hosted API service. Its annotation-based programming model supports Java and Kotlin, with Gradle or Maven builds. DGS favors schema-first development: schema files belong in src/main/resources/schema, and its Gradle plugin can generate Java types from a GraphQL schema. A test framework runs GraphQL queries in lightweight unit tests, while data loaders batch requests to help address the N+1 problem. The framework supports GraphQL Federation, WebSocket and SSE subscriptions, file uploads, error handling, and extension points. Spring Security integration allows @Secured on data fetchers after security configuration. DGS also integrates with Spring for GraphQL, although that path currently lacks SSE subscriptions and some DGS data-loader features do not work with Spring for GraphQL data loaders. A browser GraphiQL editor and an IntelliJ plugin are included. Current documentation requires Spring Boot 3 and JDK 17; DGS 11+ with Spring Boot 4 is actively maintained, while DGS 10.x receives most feature backports until the second half of 2026.