Apollo Client

Bind GraphQL data to your UI with one function call.

Apollo Client is the ultra-flexible, community-driven GraphQL client
for React, JavaScript, and native platforms.

Build UI components without plumbing data.

Specify the data you want with a GraphQL query and Apollo Client gets it for you automatically. Then, add on advanced data management features like pagination, subscriptions, prefetching, and more when you need them.

Queries

Mutations

Advanced data loading

Queries, caching, mutations, optimistic UI, subscriptions, pagination, server-side rendering, prefetching, and more.

Built for modern React apps

Compatible out of the box with Redux, React Router, Recompose, Expo, Next.js, and everything else in the React ecosystem.

Production-ready

Used today in critical production apps by KLM, The New York Times, OpenTable, Ticketmaster, Coursera, Khan Academy, and others.

Community-focused

Over 700 contributors and counting. Built by the community, for the community.

Tooling and server friendly

Apollo Chrome devtools, static query analysis, code generation, and autocompletion.

Incrementally adoptable

The only GraphQL client that works with any client-side architecture and every GraphQL server. It adapts to fit your needs.

Native iOS and Android

Apollo Client is also available in fully native iOS and Android versions. They generate Swift or Java code from your GraphQL queries so you can use a typesafe API to integrate GraphQL data into your views.

Just change a query and recompile your project, and Apollo codegen rebuilds your data model.
Read and unmarshal responses from the network without any reflection or type casting.
Use your platform's native type checking to validate that your queries and views work together.
Declaratively load, use, cache, and update data without having to write lots of management code.

Next-generation frontend data tools.

Apollo Client Devtools

eslint-plugin-graphql

apollo-codegen

Run queries in GraphiQL, look at active queries and mutations, and inspect the state of your cache, right from the Chrome developer console.

Stop data integration errors before they happen by validating queries against your schema right in your editor.

Generate Flow or TypeScript types from your GraphQL queries and ensure the data you're fetching matches your UI code.

Apollo Client Devtools

Run queries in GraphiQL, look at active queries and mutations, and inspect the state of your cache, right from the Chrome developer console.

eslint-plugin-graphql

Stop data integration errors before they happen by validating queries against your schema right in your editor.

apollo-codegen

Generate Flow or TypeScript types from your GraphQL queries and ensure the data you're fetching matches your UI code.

Join Apollo Slack
Thank you! Check your email for your invite.