Join us from October 8-10 in New York City to learn the latest tips, trends, and news about GraphQL Federation and API platform engineering.Join us for GraphQL Summit 2024 in NYC
Docs
Start for Free

Federation-Compatible Subgraph Implementations

Reference for compatible GraphQL server libraries


The following open-source libraries and hosted solutions support acting as a in a federated . 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 subgraph to this list, feel free to open an issue or check out the Apollo Federation Subgraph Maintainers Implementation Guide to learn how to submit a PR for your implementation!

Table Legend

IconDescription
Maintained by Apollo
Maintained by Apollo
🟒Functionality is supported
❌Critical functionality is NOT supported
πŸ”²Additional federation functionality is NOT supported

Ballerina

LibraryFederation 1 SupportFederation 2 Support
Ballerina GraphQL Module
A spec-compliant, production-ready, Standard Library module for building and interacting with GraphQL APIs using Ballerina.

Github: ballerina-platform/module-ballerina-graphql

Type: Code first
Stars: 144 ⭐
Last Release: 2024-05-03

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

C# / .NET

LibraryFederation 1 SupportFederation 2 Support
GraphQL for .NET
GraphQL for .NET

Github: graphql-dotnet/graphql-dotnet

Type: Code first | SDL first
Stars: 5.8k ⭐
Last Release: 2024-02-06

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @keyπŸ”²
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Hot Chocolate
Open-source GraphQL server for the Microsoft .NET platform that takes the complexity away and lets you focus on delivering the next big thing.

Github: ChilliCream/graphql-platform

Type: Code first | SDL first
Stars: 4.9k ⭐
Last Release: 2024-04-22

Federation Library: apollographql/federation-hotchocolate
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Elixir

LibraryFederation 1 SupportFederation 2 Support
Absinthe
The GraphQL toolkit for Elixir

Github: absinthe-graphql/absinthe

Type: Code first
Stars: 4.2k ⭐
Last Release: 2021-09-28

Federation Library: DivvyPayHQ/absinthe_federation
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Go

LibraryFederation 1 SupportFederation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.6k ⭐
Last Release: 2024-03-11

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Go (fork)
This is a fork of graphql-go/graphql that adds Federation support

Github: dariuszkuc/graphql

Type: Code first
Stars: 2 ⭐
Last Release: 2022-11-11

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Java / Kotlin

LibraryFederation 1 SupportFederation 2 Support
dgs-framework
GraphQL for Java with Spring Boot made easy.

Github: netflix/dgs-framework

Type: SDL first
Stars: 3.0k ⭐
Last Release: 2024-04-30

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β 
Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Java Kickstart (Spring Boot)
GraphQL and GraphiQL Spring Framework Boot Starters - Forked from oembedler/graphql-spring-boot due to inactivity.

Github: graphql-java-kickstart/graphql-spring-boot

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2023-12-07

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β 
Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-04-18

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2024-04-16

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β 
Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

JavaScript / TypeScript

LibraryFederation 1 SupportFederation 2 Support
Apollo Server
🌍  Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.

Github: apollographql/apollo-serverΒ Β 
Maintained by Apollo


Type: SDL first
Stars: 13.7k ⭐
Last Release: 2024-04-18

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β 
Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
express-graphql
Create a GraphQL HTTP server with Express.

Github: graphql/express-graphql

Type: SDL first
Stars: 6.3k ⭐
Last Release: 2020-11-19

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β 
Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Yoga
The fully-featured GraphQL server with focus on easy setup, performance and great developer experience.

Github: dotansimha/graphql-yoga

Type: SDL first
Stars: 8.0k ⭐
Last Release: 2024-03-29

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β 
Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 831 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β 
Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2024-04-22

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β 
Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
NestJS (code first)
A progressive Node.js framework for building efficient, reliable and scalable server-side applications.

Github: nestjs/graphql

Type: Code first
Stars: 1.4k ⭐
Last Release: 2024-02-07

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β 
Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
NestJS (SDL First)
A progressive Node.js framework for building efficient, reliable and scalable server-side applications.

Github: nestjs/graphql

Type: SDL first
Stars: 1.4k ⭐
Last Release: 2024-02-07

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β 
Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Pothos GraphQL
Plugin based GraphQL schema builder that makes building graphql schemas with TypeScript easy, fast and enjoyable.

Github: hayes/pothos

Type: Code first
Stars: 2.2k ⭐
Last Release: 2024-04-17

Core Library: GraphQL.js
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

PHP

LibraryFederation 1 SupportFederation 2 Support
Lighthouse (Laravel)
A framework for serving GraphQL from Laravel

Github: nuwave/lighthouse

Type: SDL first
Stars: 3.3k ⭐
Last Release: 2024-05-01

Core Library: webonyx/graphql-php
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL PHP
PHP implementation of the GraphQL specification based on the reference implementation in JavaScript

Github: webonyx/graphql-php

Type: Code first
Stars: 4.6k ⭐
Last Release: 2024-03-11

Federation Library: Skillshare/apollo-federation-php
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Python

LibraryFederation 1 SupportFederation 2 Support
Ariadne
Python library for implementing GraphQL servers using schema-first approach.

Github: mirumee/ariadne

Type: SDL first
Stars: 2.1k ⭐
Last Release: 2024-03-18

Core Library: GraphQL-core 3
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 8.0k ⭐
Last Release: 2023-07-26

Core Library: GraphQL-core 3
Federation Library: graphql-python/graphene-federation
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.8k ⭐
Last Release: 2024-05-01

Core Library: GraphQL-core 3
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Ruby

LibraryFederation 1 SupportFederation 2 Support
GraphQL Ruby
Ruby implementation of GraphQL

Github: rmosolgo/graphql-ruby

Type: Code first
Stars: 5.3k ⭐
Last Release: 2021-02-12

Federation Library: Gusto/apollo-federation-ruby
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

Rust

LibraryFederation 1 SupportFederation 2 Support
async-graphql
A GraphQL server library implemented in Rust

Github: async-graphql/async-graphql

Type: Code first
Stars: 3.2k ⭐
Last Release: 2022-11-28

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Scala

LibraryFederation 1 SupportFederation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 939 ⭐
Last Release: 2024-04-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Sangria
Scala GraphQL implementation

Github: sangria-graphql/sangria

Type: Code first
Stars: 2.0k ⭐
Last Release: 2024-02-01

Federation Library: sangria-graphql/sangria-federated
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Swift

LibraryFederation 1 SupportFederation 2 Support
Graphiti
The Swift GraphQL Schema framework for macOS and Linux

Github: GraphQLSwift/Graphiti

Type: SDL first
Stars: 523 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions

LibraryFederation 1 SupportFederation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 934 ⭐
Last Release: 2024-02-23

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.2k ⭐
Last Release: 2024-04-30

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Neo4J Graph Database
A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations.

Github: neo4j/graphql

Type: Code first | SDL first
Stars: 485 ⭐
Last Release: 2024-04-30

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β 
Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Previous
Subgraphs
Next
Router
Rate articleRateEdit on GitHubEditForumsDiscord

Β© 2024 Apollo Graph Inc., d/b/a Apollo GraphQL.

Privacy Policy

Company