Skip to content
This repository has been archived by the owner on Mar 20, 2023. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.

If you still need to use express-graphql, please read the previous version of this readme.

This library is deprecated

express-graphql was the first official reference implementation of using GraphQL with HTTP. It has existed since 2015 and was mostly unmaintained in recent years.

The official GraphQL over HTTP work group is standardizing the way you transport GraphQL over HTTP and it made great progress bringing up the need for a fresh reference implementation.

Please read the GraphQL over HTTP spec for detailed implementation information.

Say hello to graphql-http

graphql-http is now the GraphQL official reference implementation of the GraphQL over HTTP spec.

For users

As a reference implementation, graphql-http implements exclusively the GraphQL over HTTP spec.

In case you're seeking for a full-featured experience (with file uploads, @defer/@stream directives, subscriptions, etc.), you're recommended to use some of the great JavaScript GraphQL server options:

For library authors

Being the official GraphQL over HTTP spec reference implementation, graphql-http follows the specification strictly without any additional features (like file uploads, @stream/@defer directives and subscriptions).

Having said this, graphql-http is mostly aimed for library authors and simple server setups, where the requirements are exact to what the aforementioned spec offers.

Spec compliance audit suite

Suite of tests used to audit an HTTP server for GraphQL over HTTP spec compliance is available in graphql-http and you can use it to check your own, or other, servers!

Additionally, graphql-http will maintain a list of GraphQL servers in the ecosystem and share their compliance results (see them here).