GraphQL Summit is happening November 7-8 in San Francisco. Join over 850 developers at the world's largest conference dedicated to GraphQL. Get your tickets
Engine

Optimize and control your GraphQL API

Apollo Engine is a cloud service that provides deep insights into your GraphQL layer, so you can run in production with confidence.

Manage your schema

With validation against any changes

Identify and understand hotspots

With performance tracing and history

Keep an eye on your API

With alerts and regular reports

Get started in minutes!

Apollo Engine requires no additional infrastructure if you're already using Apollo Server.

Setting up with Apollo Server

With just one line of code, you can run Engine anywhere that Apollo Server runs, including serverless environments and on the edge.

Simply get an API key by creating a service in Engine and pass it to either the constructor of ApolloServer or as an environment variable. Now you're ready to manage your schema in Engine!

Get API keySetup docs

const { ApolloServer } = require('apollo-server');

const server = new ApolloServer({
  typeDefs,
  resolvers,
  engine: {
    apiKey: process.env.API_KEY
  }
});

server.listen()
  .then(() => console.log('Server started! 🚀'));

Other languages

Learn how to get up and running with Ruby, Scala, Java, Elixir, or any other language. Engine is compatible with any GraphQL server.

Visit the Engine docs

Deploy guide with Heroku

It's easy to deploy Apollo Server with Engine to a platform-as-a-service like Heroku. Check out our guide to learn how to set things up.

Read the article

Kubernetes and EC2

Engine can run anywhere you can run a Docker container with just a few configuration options. Drop it into your existing setup.

Running Engine without Node

GraphQL-specific benefits out of the box

Apollo Engine is the only product that has all the features you need to manage your GraphQL schema, hand-crafted from our years of experience working with developers using GraphQL.

GraphQL caching

Avoid hitting your API when you don't need to. Engine can cache commonly-used queries and resolve them in microseconds.

Learn more

Query execution tracing

See what is slowing down your queries on a per-resolver level, giving you the tools to improve your UI performance.

Learn more

Error tracking

Understand where your GraphQL API is encountering problems, and reproduce errors by isolating the GraphQL operations that caused them.

Learn more

Trends

See how your API performance is changing over time, both for the overall service and for individual operations.

Learn more

Choose the Engine for you.

Use Engine in smaller apps for free, and upgrade to get advanced features, longer history retention, and premium support.

Community

All of the core features, free forever, up to 1 million queries per month.

 

FREE

Core features:

Tracing and errors
Caching + CDN support
1-day data retention

Standard

For teams running GraphQL in production for the first time.

Starting at:

$99 /month

Community features, plus:

PagerDuty and Slack alerts
Datadog integration
7-day data retention

Pro

Premium support and historical data for critical applications.

Starting at:

$449 /month

Standard features, plus:

24/7/365 support
1 hour response time
90-day data retention

Enterprise

Our complete package of tools, services, and support.

Pro features, plus:

Hands-on GraphQL training
Guidance from Apollo team
Dedicated support engineer

To sign up for Standard or Pro, just upgrade in the app once you've set things up.

Start with NodeOther servers

How does Engine work?

Apollo Engine can run anywhere your GraphQL server can. It operates built into Apollo Server, or as a standalone proxy you can run with Docker, which works with any GraphQL server library. We've architected it to work for the most demanding of environments:

  • Your customer data doesn't leave your infrastructure
  • Engine keeps working even if our service goes down temporarily
  • Connect to existing infrastructure like Kubernetes, Memcached, or your CDN if needed

Read more in the docs