Table of contents


  • What is GraphQL?
  • The Query
  • Introducing Types
  • Scalars, Objects, and Lists
  • Nullability
  • Querying between Types
  • Schema
  • Enums
  • Interfaces & Unions
  • Arguments
  • Mutations


  • What is GraphOS?
  • How does a GraphQL server work?
  • What is Federated Architecture?
  • GraphQL vs REST
  • Top GraphQL ToolsLearningTools for your APIFor the backendFor the frontendTesting, linting, and discoveryPublic GraphQL APIs

Try GraphOS  
The GraphQL developer platform

Top GraphQL Tools

What's a modern technology without tools you can tinker with? The GraphQL ecosystem is brimming with resources to accelerate your learning, speed up development, and help you more deeply understand a GraphQL service. No matter where you are on your GraphQL journey, there's a tool to make your apps fast, easy to use, and future-proofed.

  • Learning
  • Tools for your API
  • Backend
  • Frontend
  • Testing, linting, and discovery
  • Public GraphQL APIs


Odyssey: GraphQL Tutorials
Apollo's official learning platform features courses that will take you from the basics of GraphQL through the process of managing, scaling, and evolving your very own supergraph. Complete quizzes, try out code challenges, get certified in GraphQL, and launch your learning journey to new heights!

Moon Highway: GraphQL Articles and Training
Top GraphQL educators Alex Banks and Eve Porcello offer approachable articles, books, and live training for leveling up your GraphQL skills.

Production Ready GraphQL
Design and build predictable, performant, and secure GraphQL APIs at scale with GraphQL expert Marc-Andre Giroux. His blog articles and book cover best practices on GraphQL architecture, performance, and security.

Tools for your API

Your GraphQL API doesn't start and end with your first schema file. It's an integral piece of your architecture that evolves, scales, and requires infrastructure to stay healthy.

Apollo GraphOS
GraphOS gets your graph up and running on a platform that prioritizes observability, safe schema delivery, and performance.

Apollo Workbench
This VS Code plugin speeds up your schema design process. Use it to migrate your monolith to a federated architecture, or build graphs from scratch. Watch your supergraph come to life locally!

For the backend

It doesn't matter where you fetch your data from; GraphQL can help improve the flow between the frontend and the backend.

Apollo Server
To launch a GraphQL server that's quick, robust, and spec-compliant, reach for Apollo Server. It works seamlessly with GraphQL clients like Apollo Client, and it's production-ready from the start.

GraphQL Code Generator
When combining GraphQL with TypeScript, the GraphQL Code Generator is a must-have. Point it to your schema file, and immediately enjoy the type safety of clean, generated code you can use to secure your GraphQL service and eliminate bugs before they appear.

Rover CLI
Get into the nitty-gritty of your graph with the Rover Command Line Interface. Rover integrates into your CI/CD platform, and interfaces directly with GraphOS to provide valuable insights about your graph in real-time as you develop.


To explore other server libraries that are Federation-compatible, please review the official Apollo Federation documentation.

For the frontend

Expedite and manage your queries and mutations with fluid GraphQL support.

Apollo Client
Running Apollo Client in your frontend applications gives you much more than an out-of-the-box GraphQL client; it's a full-fledged state management library and robust cache that keeps your UI in sync with user interactions and network requests.

GraphOS Studio Explorer
Plug in your GraphQL endpoint and get started—the GraphOS Studio Explorer gets you right to querying your service data with clear schema documentation and an intuitive IDE where you can build, test, and save operations. Plus, there's a Sandbox version that doesn't require you to sign up for an account!

GraphQL Code Generator
When combined with a TypeScript application, the GraphQL Code Generator makes type-safety simple with a single command. Introspect from a running GraphQL server to produce all of the types you need for maximum bug-elimination on your frontend clients.

Testing, linting, and discovery

Ever wondered where the graph is in GraphQL? Check out what's going on beneath the surface with these tools for discoverability and inspection.

Apollo GraphOS
Visualize your graph's usage and performance right in the browser when you connect your graph with Apollo GraphOS. It gives you all the information you need to make business decisions about your graph's features, operations, and clients.

Apollo GraphOS Schema Linter
Ensure that all of your GraphQL schemas follow best practices by integrating the GraphOS schema linter into your development process.

Apollo GraphOS Studio Explorer
Plug in your GraphQL endpoint and get started—the GraphOS Studio Explorer gets you right to querying your service data with clear schema documentation and an intuitive IDE where you can build, test, and save operations.

Bring GraphiQL into your project as an NPM package to launch your schema in an interactive GraphQL IDE right in the browser.

Visualize your GraphQL schema, or combine it with others, and understand connections between data with drag and drop, color-coding, and grouping capabilities.

IntelliJ GraphQL plugin
Bring GraphQL awareness to your IntelliJ environment with this plugin, which boosts your project with schema-aware completion, syntax highlighting, and much more.

Everyone's favorite REST API companion comes with a GraphQL client too! It includes schema introspection, documentation, and a request interface where you can write and test your queries.

Voyager GraphQL Schema Visualizer
Voyager is a visualization tool that lets you see the nodes and edges that make up any GraphQL API. Best of all, it's interactive!

VS Code Apollo Extension
Power up your Apollo Server and Apollo Client applications with the VS Code extension for all things Apollo—and shorten the feedback loops between the two with syntax highlighting and schema validation throughout your development process.

Public GraphQL APIs

Looking for free and public GraphQL APIs to explore and play around with? Check out this "GraphQL-APIs" list on GitHub to get started.

About is maintained by the Apollo team. Our goal is to give developers and technical leaders the tools they need to understand and adopt GraphQL. 2024