Apollo Lambda GraphQL API Example
Note:
graphqlis held at^16.14.2(not the current17.xmajor) because@apollo/server's latest release (5.5.1) still declares apeerDependenciesconstraint ofgraphql: ^16.11.0. Bump this once@apollo/serveraddsgraphql17 support.
Note: TypeScript is intentionally held at
5.x— the TypeScript 7 native compiler isn't yet supported by the surrounding ecosystem tooling (checked 2026-07-20).
This example demonstrates how to setup a lambda graphql API with apollo
- I used apiKeys to secure the endpoints but you can add custom authorizers
Use Cases
- Small graphql API
- Creating a temporary lambda API that can easily be converted to standard GraphQL API
Setup
-
Optionally set the following environment variables before deploying:
APOLLO_LAMBDA_KEY- value for thex-api-keyheader (defaults toyour-api-key-that-is-at-least-characters-longif unset)NODE_ENV- set toproductionto disable GraphQL introspection
-
sls deploy
Usage
- To test it locally with serverless-offline by running:
npm run dev - set
x-api-keyheader with keyyour-api-key-that-is-at-least-characters-long
Future
- Add support for subscription with Redis