<p align="center">
  <img src="https://raw.githubusercontent.com/rtk-incubator/rtk-query/main/logo.png" width="400" />
</p>

<p align="center">
  <img src="https://img.shields.io/badge/ALPHA-pre%20release-orange">
   <a href="https://discord.gg/0ZcbPKXt5bZ6au5t" target="_blank">
    <img src="https://img.shields.io/badge/chat-online-green" alt="Discord server" />
  </a>
</p>

## Introduction

RTK Query is an advanced data fetching and caching tool, designed to simplify common cases for loading data in a web application. It is built on top of [Redux Toolkit](https://redux-toolkit.js.org/) and uses Redux internally for its architecture.

It features:

- Declarative API definitions
- Runs on every framework
- Supports any protocol
- Caching
- Automatic re-fetching
- Polling
- Parallel queries
- Dependent queries
- Paginated queries
- Skip queries
- Lagged queries
- Automatic garbage collection
- Prefetching
- Optimistic Updates
- Auto-generated React Hooks
- Built with TypeScript

... and plenty of other goodies.

## Getting started

```sh title="Example installation"
yarn add @rtk-incubator/rtk-query @reduxjs/toolkit
```

Or with npm:

```sh
npm install @rtk-incubator/rtk-query @reduxjs/toolkit
```

Then follow along with the [Getting Started instructions](https://rtk-query-docs.netlify.app/introduction/getting-started).

## Documentation

[View the RTK Query docs](https://rtk-query-docs.netlify.app/)

## Examples

[View the examples](https://rtk-query-docs.netlify.app/examples/examples-overview)
