# @apollo/gateway

> Apollo Gateway

Latest version **2.14.4** (published 2026-08-18) · Elastic-2.0 license · 0 weekly downloads

## Install

```sh
npm install @apollo/gateway
pnpm add @apollo/gateway
yarn add @apollo/gateway
bun add @apollo/gateway
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; no vulnerabilities; has provenance; recently updated; high maintenance score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 2.14.4 |
| Published | 2026-08-18 |
| First published | 2019-05-10 |
| Weekly downloads | 0 |
| License | Elastic-2.0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=14.15.0 |
| Dependencies | 28 |
| Unpacked size | 482.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 727 |
| Author | Apollo |
| Maintainers | dkuc, apollo-bot, phryneas, abernix |
| Keywords | graphql, federation, gateway, server, apollo |

## Links

- npm: https://www.npmjs.com/package/@apollo/gateway
- Repository: https://github.com/apollographql/federation
- Homepage: https://github.com/apollographql/federation#readme
- Issues: https://github.com/apollographql/federation/issues
- npm.io page: https://npm.io/package/@apollo/gateway

## Dependencies (28)

- [loglevel](https://npm.io/package/loglevel.md) ^1.6.1
- [node-fetch](https://npm.io/package/node-fetch.md) ^2.6.7
- [async-retry](https://npm.io/package/async-retry.md) ^1.3.3
- [node-cpu-count](https://npm.io/package/node-cpu-count.md) ^0.1.1
- [@types/node-fetch](https://npm.io/package/@types/node-fetch.md) ^2.6.2
- [make-fetch-happen](https://npm.io/package/make-fetch-happen.md) ^11.0.0 || ^15.0.3
- [@opentelemetry/api](https://npm.io/package/@opentelemetry/api.md) ^1.9.0
- [@apollo/composition](https://npm.io/package/@apollo/composition.md) 2.14.4
- [@josephg/resolvable](https://npm.io/package/@josephg/resolvable.md) ^1.0.1
- [@opentelemetry/core](https://npm.io/package/@opentelemetry/core.md) ^1.30.1
- [@apollo/utils.logger](https://npm.io/package/@apollo/utils.logger.md) ^2.0.0
- [@apollo/query-planner](https://npm.io/package/@apollo/query-planner.md) 2.14.4
- [@apollo/utils.fetcher](https://npm.io/package/@apollo/utils.fetcher.md) ^2.0.0
- [node-abort-controller](https://npm.io/package/node-abort-controller.md) ^3.0.1
- [@apollo/utils.createhash](https://npm.io/package/@apollo/utils.createhash.md) ^2.0.0
- [@apollo/utils.isnodelike](https://npm.io/package/@apollo/utils.isnodelike.md) ^2.0.0
- [@opentelemetry/resources](https://npm.io/package/@opentelemetry/resources.md) ^1.30.1
- [@opentelemetry/sdk-metrics](https://npm.io/package/@opentelemetry/sdk-metrics.md) ^1.30.1
- [@apollo/utils.keyvaluecache](https://npm.io/package/@apollo/utils.keyvaluecache.md) ^2.1.0
- [@apollo/federation-internals](https://npm.io/package/@apollo/federation-internals.md) 2.14.4
- [@apollo/server-gateway-interface](https://npm.io/package/@apollo/server-gateway-interface.md) ^1.1.0
- [@apollo/usage-reporting-protobuf](https://npm.io/package/@apollo/usage-reporting-protobuf.md) ^4.1.0
- [@opentelemetry/semantic-conventions](https://npm.io/package/@opentelemetry/semantic-conventions.md) ^1.28.0
- [@opentelemetry/resource-detector-aws](https://npm.io/package/@opentelemetry/resource-detector-aws.md) 1.12.0
- [@opentelemetry/resource-detector-gcp](https://npm.io/package/@opentelemetry/resource-detector-gcp.md) 0.33.1
- [@opentelemetry/resource-detector-azure](https://npm.io/package/@opentelemetry/resource-detector-azure.md) 0.6.1
- [@opentelemetry/exporter-metrics-otlp-http](https://npm.io/package/@opentelemetry/exporter-metrics-otlp-http.md) ^0.57.2
- [@opentelemetry/resource-detector-alibaba-cloud](https://npm.io/package/@opentelemetry/resource-detector-alibaba-cloud.md) 0.30.1

## Alternatives

- [apollo-link-http-common](https://npm.io/package/apollo-link-http-common.md) — 879.0K weekly downloads
- [react-relay](https://npm.io/package/react-relay.md) — 336.8K weekly downloads
- [relay-test-utils](https://npm.io/package/relay-test-utils.md) — 181.6K weekly downloads
- [@vendure/core](https://npm.io/package/@vendure/core.md) — 14.8K weekly downloads
- [@pnpm/deps.graph-sequencer](https://npm.io/package/@pnpm/deps.graph-sequencer.md) — 13.4K weekly downloads

## Recent versions

- 2.14.4 (latest) — 2026-08-18
- 2.13.4 (version-2.13) — 2026-07-22
- 2.12.4 (version-2.12) — 2026-07-22
- 2.11.7 (version-2.11) — 2026-07-22
- 2.13.3 (next) — 2026-03-19
- 2.13.0-preview.2 (preview) — 2025-12-19
- 2.10.0-alpha.4 (alpha) — 2025-01-14
- 2.9.0-beta.0 (beta) — 2024-08-22
- 2.9.0-connectors.9 (connectors) — 2024-07-23
- 2.7.4-testing.1 (testing) — 2024-04-23
- 0.54.1 (latest-1) — 2022-11-11
- 2.14.3 — 2026-07-22
- 2.14.2 — 2026-06-26
- 2.14.1 — 2026-06-03
- 2.14.0 — 2026-04-30
- … 377 more at https://npm.io/package/@apollo/gateway/versions

## README

# Apollo Gateway

This package provides utilities for combining multiple GraphQL microservices into a single GraphQL endpoint.

Each microservice should implement the [federation schema specification](https://www.apollographql.com/docs/apollo-server/federation/subgraph-spec/). This can be done either through [Apollo Federation](https://github.com/apollographql/federation/tree/HEAD/subgraph-js) or a variety of other open source products.

For complete documentation, see the [Apollo Gateway API reference](/apollo-server/using-federation/api/apollo-gateway).

## Usage

```js
import { ApolloServer } from "@apollo/server";
import { startStandaloneServer } from '@apollo/server/standalone';
import { ApolloGateway, IntrospectAndCompose } from "@apollo/gateway";

const gateway = new ApolloGateway({
  supergraphSdl: new IntrospectAndCompose({
    subgraphs: [
       { name: "accounts", url: "http://localhost:4001/graphql" }
       // List of federation-capable GraphQL endpoints...
    ],
  }),
});

const server = new ApolloServer({ gateway });

// Note the top-level await!
const { url } = await startStandaloneServer(server);
console.log(`🚀  Server ready at ${url}`);
```

---
_Source: https://npm.io/package/@apollo/gateway · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
