Introduction

What is Apollo Client?


Apollo Client 3.0 is now available. Switch to the latest stable version

Apollo Client is a complete state management library for JavaScript apps. Simply write a GraphQL query, and Apollo Client will take care of requesting and caching your data, as well as updating your UI.

Fetching data with Apollo Client guides you to structure your code in a predictable, declarative way consistent with modern React best practices. With Apollo, you can build high-quality features faster without the hassle of writing data plumbing boilerplate.

Features

  • Declarative data fetching: Write a query and receive data without manually tracking loading states

  • Excellent developer experience: Enjoy helpful tooling for TypeScript, Chrome DevTools, and VS Code

  • Designed for modern React: Take advantage of the latest React features, such as hooks

  • Incrementally adoptable: Drop Apollo into any JavaScript app seamlessly

  • Universally compatible: Use any build setup and any GraphQL API

  • Community driven: Share knowledge with thousands of developers, thanks to our active open source community

Get started

Follow the quick start tutorial to start fetching data in minutes. For a longer end-to-end example that includes pagination, local state management, and building a graph API, check out the full-stack quickstart course.

Explore Apollo Client

The Apollo Client docs are structured into the following sections. We recommend starting with the Essentials first before moving on to advanced topics.

  1. Essentials: Start here to learn how to fetch data, update data, and manage local state with Apollo Client

  2. Features: Learn how to get the most out of Apollo Client's features

  3. Advanced: Advanced Apollo Client capabilities to cover all your needs

  4. Recipes: How-to guides for accomplishing specific tasks

  5. API: Full API details for Apollo Client, its React APIs, and additional packages

Community integrations

This site's documentation focuses on React, but Apollo Client supports many other platforms:

Feedback

Edit on GitHub

Forums