@apollo/server

Spec-compliant, production-ready GraphQL server for Node.js

Framework
npm
v5.5.1
13,952 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
76 /100 Good
Development Activity 64
Maintenance 56
Community 84
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
76 /100 Good
Architecture 80
Code Quality 82
Innovation 76
Learning Curve 66

@apollo/server is Apollo’s modern GraphQL server engine — the actively maintained successor to the original apollo-server package in this same monorepo — built for schema-first development where you define your GraphQL schema and resolvers and Apollo handles parsing, validation, execution, and the surrounding HTTP layer.

It can run standalone (via startStandaloneServer) or be mounted as middleware inside Express and other Node HTTP frameworks, ships a plugin lifecycle for caching, tracing, and usage reporting, and integrates with Apollo Federation for composing multiple GraphQL services into a single supergraph.

What You Get

  • A schema-first GraphQL execution engine with built-in parsing, validation, and resolver execution
  • A standalone HTTP server (startStandaloneServer) or Express middleware integration for existing Node apps
  • A plugin API for hooking into the request lifecycle (response caching, usage reporting, tracing)
  • Apollo Federation support for composing multiple subgraph services into one supergraph
  • TypeScript-first APIs with generated types for schema and resolver context

Common Use Cases

  • Standing up a production GraphQL API on top of an existing REST/data layer with schema-first resolvers
  • Running a federated subgraph as part of a larger Apollo Federation supergraph
  • Adding GraphQL to an existing Express application via middleware rather than a standalone server
  • Instrumenting a GraphQL API with usage reporting and response caching via the plugin system

Under The Hood

Architecture - the repo is an npm/lerna-style monorepo under packages/, with @apollo/server as the core engine, usage-reporting-protobuf and gateway-interface supporting federation/telemetry, plugin-response-cache implementing the caching plugin, and integration-testsuite providing shared HTTP-integration test harnesses reused across the framework adapters; the core server exposes both a CJS and ESM build via dual exports map entries (dist/cjs and dist/esm). Tech Stack - TypeScript throughout, built with the project’s own tsconfig layering (tsconfig.build.cjs.json/tsconfig.build.esm.json) to emit dual module formats, Jest for testing (jest.config.base.js), Renovate for dependency automation, and codegen (codegen.yml) for generating GraphQL-related types. Code Quality - the monorepo carries a dedicated integration-testsuite package purely for cross-package HTTP integration tests, codecov integration for coverage tracking, ESLint (flat config) plus cspell spell-checking wired into CI, reflecting a mature, well-instrumented test and lint setup for a widely-depended-on server framework. API Design - @apollo/server deliberately narrowed its API relative to the older apollo-server package (dropping built-in framework-specific integrations in favor of a generic HTTP interface plus small adapter packages), trading a bit of setup boilerplate for a smaller, more explicit core surface and clearer separation between the GraphQL engine and the HTTP transport it’s mounted on.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers