Is apollo-server-express still maintained?
No — apollo-server-express stopped being maintained around November 2023. The same project continues under the name @apollo/server.
- Status
- No longer maintained
- Last maintained
- November 2023
- Use instead
@apollo/server— on npm- Succession
- Renamed package
- Drop-in
- no — expect code changes
- Confidence
- high
What should I use instead of apollo-server-express?
The same project continues under the name @apollo/server. @apollo/server is not a drop-in replacement, so expect to change call sites.
How to migrate from apollo-server-express to @apollo/server
Install @apollo/server v5 together with the separate @as-integrations/express4 package (or @as-integrations/express5 on Express 5), then await server.start() before app.use('/graphql', express.json(), expressMiddleware(server)) — the old applyMiddleware started the server implicitly.
Why apollo-server-express is on this list
apollo-server-express is the Express integration from Apollo Server v2 and v3. Apollo declared v2 end-of-life in October 2023 and v3 end-of-life in October 2024, and the npm notice states that this functionality now lives in the @apollo/server package. The final release was 3.13.0 in November 2023. Note that Apollo Server 4 has also since reached end-of-life (January 2026), so v5 is the current target.
The succession is settled: primary sources agree and the ecosystem has already moved.
apollo-server-express alternatives
Beyond the primary recommendation, these are credible for apollo-server-express's use case:
graphql-yoga— view on npmgraphql-http— view on npm
Check your own project for apollo-server-express
npx dead-deps --all --min-state unmaintained
Run that in the directory holding your lockfile. If apollo-server-express is anywhere in your tree — a direct dependency or buried under something else — it appears in the report with this verdict, this successor and the same evidence links, alongside anything else that has stopped moving. Nothing is uploaded; the scan reads your lockfile locally and queries public registry metadata.
Exit code 1 means something was flagged, which makes npx dead-deps --min-state deprecated usable as a CI gate. See how verdicts are produced.
Evidence
Every claim on this page traces to a primary source. Check them:
- npm deprecation notice for apollo-server-expressnpmjs.com
- Apollo Server previous-versions and end-of-life documentationapollographql.com
- Official "Migrating from Apollo Server 3" guideapollographql.com
Packages related to apollo-server-express
- apollo-serverRenamed package: @apollo/server · unmaintained since November 2023
- express-graphqlReimplementation: graphql-http · unmaintained since November 2020
- @hapi/joiRenamed package: joi · unmaintained since March 2020
- @material-ui/coreRenamed package: @mui/material · unmaintained since September 2021
- babel-eslintRenamed package: @babel/eslint-parser · unmaintained since February 2020
See the full index of covered packages, or read the methodology for how a verdict is reached and why a quiet package is not a dead one.