Docs
Launch GraphOS Studio

Federation-compatible subgraph implementations

For use in a federated supergraph


The following open-source libraries and hosted solutions support acting as a in a federated . Their support is tracked in Apollo's

. Check out the repository for details on the compatibility tests listed in the table below.

To add a to this list, feel free to open an

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-02-21

_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.7k ⭐
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.8k ⭐
Last Release: 2024-03-02

Federation Library:
apollographql/federation-hotchocolateΒ Β 
Maintained by Apollo
_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.5k ⭐
Last Release: 2024-02-15

_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: 2.9k ⭐
Last Release: 2024-02-28

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-01-25

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-02-21

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.6k ⭐
Last Release: 2024-01-02

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-02-04

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: 832 ⭐
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: 2023-12-26

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-03-02

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-03-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-01-25

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-02-29

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: 7.9k ⭐
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.7k ⭐
Last Release: 2024-02-06

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: 925 ⭐
Last Release: 2024-02-17

_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: 521 ⭐
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.1k ⭐
Last Release: 2024-02-28

_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: 467 ⭐
Last Release: 2024-02-27

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 / Gateway
Edit on GitHubEditForumsDiscord

Β© 2024 Apollo Graph Inc.

Privacy Policy

Company