Skip to content
SPECIFICTION
Get listed

GraphQL Kotlin vs Strawberry GraphQL

GraphQL Kotlin

opensource.expediagroup.com

Strawberry GraphQL

strawberry.rocks

Side by side

FigureGraphQL KotlinStrawberry GraphQL
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
APIYesYes
Self-hostedYesYes
Plans published11
Spec score · GraphQL Tools8.0 (#8)7.1 (#21)
FederationThe federation module can generate Apollo Federation compliant schemas.It supports creating a federated GraphQL schema.
LicenseThe library is licensed under Apache License 2.0.The repository states that Strawberry is licensed under the MIT license.
SupportThe maintainers invite questions through GitHub Discussions and the public #graphql-kotlin channel on Kotlin Slack.The project is open source and maintained by a small developer team; enterprise support is available through Farbun.
What it doesGraphQL Kotlin is a collection of libraries built on graphql-java for running GraphQL clients and servers in Kotlin.Strawberry is a developer-friendly GraphQL library for Python for creating GraphQL APIs.

Plans

GraphQL Kotlin

  • Open sourceFree

GraphQL Kotlin pricing →

Strawberry GraphQL

  • Strawberry GraphQLFree

Strawberry GraphQL pricing →

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.

Visit opensource.expediagroup.com

Strawberry GraphQL

Strawberry GraphQL is a free, open-source Python library for creating GraphQL APIs. It uses Python type hints to define schemas and support a developer-oriented workflow. Async/await allows resolvers to run without blocking, while schema and field extensions provide places for custom logic. Generics support reusable types, and federated GraphQL schemas are supported. Built-in dataloaders can batch multiple queries into one. Documentation lists integrations for Django, Channels, FastAPI, Flask, Quart, Sanic, Chalice, Starlette, Litestar and AIOHTTP, while noting that the integration table may not be current. Installation uses pip and requires Python 3.10 or later. Strawberry is MIT licensed and intended for self-hosted deployment. Authentication is handled by the web framework; authorization uses Permissions classes. API explorer, client code generation and operation testing are listed. Enterprise support is available through Farbun.

Visit strawberry.rocks