Apollo Server Integrations


Are you looking to build a new integration? Or help maintain an existing integration? See Building Web Framework Integrations for Apollo Server for step-by-step guidance!

Apollo Server 4's startStandaloneServer function spins up a basic web server with sensible defaults. The server is a fully functional GraphQL server supporting all of Apollo Server's GraphQL-level customizations, but it offers minimal opportunities for HTTP-level configuration.

If you need more control over how your GraphQL server speaks HTTP, you should instead use an integration. Integrations are packages which connect the Apollo Server API to your favorite web framework.

Apollo maintains an integration between Apollo Server and Express, the most popular Node.js web framework. The integration with Express v4 is published as @as-integrations/express4, and the integration with Express v5 is published as @as-integrations/express5. Both packages export the function expressMiddleware.

The Express v4 integration is also included in the main @apollo/server package, exported from @apollo/server/express4. Its behavior is identical to the @as-integrations/express4. Express v5 is only supported by the external package. (A future major version of Apollo Server will remove @apollo/server/express4.)

Have you built, or are you maintaining, an Apollo Server integration that isn't listed here? Please submit a PR to be added to this list!

The larger community maintains the following open-source integrations for Apollo Server:

Apollo does not provide official support for the above community-maintained libraries. We cannot guarantee that community-maintained libraries adhere to best practices or that they will continue to be maintained.

For those building a new integration library, we'd like to welcome you (and your repository!) to the apollo-server-integrations Github organization alongside other community-maintained Apollo Server integrations. If you participate in our organization, you'll have the option to publish under our community's NPM scope @as-integrations, ensuring your integration is discoverable.

Feedback

Edit on GitHub

Ask Community