Easily translate your backends to a GraphQL schema.

Apollo Server is a set of community-driven Node GraphQL server libraries that empower you to talk to any backend.
const { makeExecutableSchema } = require('graphql-tools');

const typeDefs = `
  type Query { books: [Book] }
  type Book { title: String, author: String }

const resolvers = {
  Query: {
    books: () => fetch('')

const schema = makeExecutableSchema({ typeDefs, resolvers });

Build and run a GraphQL schema with just a few lines of code.

A GraphQL server is a thin translation layer over your existing backends. It's easy to write one:

  1. Describe your data with a schema
  2. Write resolvers that fetch the fields in your schema from your existing backend
  3. Pass through authentication information from the request to the backends

You can use JavaScript, as in the example here, or any language you're already familiar with.

Learn more

Productive GraphQL API development.

Apollo Server, graphql-tools, and the rest of the Apollo ecosystem give you a powerful set of tools to rapidly stand up a GraphQL API on top of your existing backends.

Schema-first approach

Develop your schema with concise, declarative syntax, and fill in the logic with resolver functions.

Learn more

One-step mocking

Mock your GraphQL schema with one line of code, so you can develop your UI in parallel with the API.

Learn more

Powerful schema directives

Factor chunks of schema functionality into directives you can easily reuse around your schema.

Learn more

Schema stitching

Combine and remix multiple GraphQL schemas into one, as if you're using Lego blocks.

Learn more

GraphQL subscriptions

Add event-based data streaming to your GraphQL API, enabling realtime features in your app.

Learn more

Tracing and cache control

Apollo Server has everything you need to get performance insights and caching with Engine built in.

Learn more

Apollo Launchpad

Builld and share GraphQL server examples in the only online sandbox for GraphQL APIs.

Check out the list of examples.