Last chance to speak on stage at GraphQL Summit! Submit your GraphQL Summit proposal by June 29. 🌴
Docs
Try Apollo Studio

Subgraph-compatible server libraries


The following open-source GraphQL server libraries support acting as a subgraph in a federated graph, and their support is tracked in Apollo's subgraph compatibility repository. Check out the repository for details on the compatibility tests listed in the table below.

To add a library to this list, feel free to open an issue or check out the Apollo Federation Library Maintainers Implementation Guide to learn how to submit a PR for your library!

C# / .NET

LibraryFederation 1 SupportFederation 2 Support
GraphQL for .NET
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible
Hot Chocolate
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible

Elixir

LibraryFederation 1 SupportFederation 2 Support
Absinthe.Federation
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible

Go

LibraryFederation 1 SupportFederation 2 Support
gqlgen
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible

Java / Kotlin

LibraryFederation 1 SupportFederation 2 Support
dgs-framework
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible
Federation JVM
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible
GraphQL Java Kickstart (Spring Boot)
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible
GraphQL Kotlin
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible

JavaScript / TypeScript

LibraryFederation 1 SupportFederation 2 Support
Apollo Server
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible
express-graphql
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible
GraphQL Yoga
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible
Mercurius
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible

Multi-language

LibraryFederation 1 SupportFederation 2 Support
AWS AppSync
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible

PHP

LibraryFederation 1 SupportFederation 2 Support
Lighthouse (Laravel)
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible
Apollo Federation PHP
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible

Python

LibraryFederation 1 SupportFederation 2 Support
Ariadne
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible
Graphene
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible
Strawberry
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible

Ruby

LibraryFederation 1 SupportFederation 2 Support
GraphQL Ruby
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible

Rust

LibraryFederation 1 SupportFederation 2 Support
Async-graphql
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible

Scala

LibraryFederation 1 SupportFederation 2 Support
Caliban
_service
@key (single)
@key (multi)
@key (composite)
@requires
@provides
@ftv1
@link
@shareable
@tag
@override
@inaccessible
Edit on GitHub
Previous
Subgraphs
Next
The gateway