---
sidebar_position: 1
---

**Hyper Fetch** is a library with a very wide range of uses. It provides the logic necessary for performing requests,
caching, queuing, providing offline support, and enabling persistence for queued requests and caches. Our goal is to
make Hyper Fetch one of the greatest fetching tools – so watch this space!

---

### Motivation

We got the idea for Hyper Fetch after leading several React projects. There are many great fetch libraries and APIs
(like `Axios`, `Fetch`, `SWR`, and `React Query`), but the logic that they provide is detached from each other – i.e.
the hooks are detached from the fetchers.

This gives users a lot of customization options, but it also comes with some issues. You’d need to build your logic
every time you start developing a new application. And there is no **schema** for data exchange and normalization, which
can block future features. We decided to overcome this issue by creating a _straightforward_, _opinionated_, yet
_flexible_ fetching solution. Hyper Fetch lets you change the parts of your system to make it work as you would like,
but it’s also more reusable – no more rewriting fetchers (and the whole program flow) with each new application!

With the Hyper Fetch approach, you have a tool that's packed with all sorts of development, testing, and maintenance
features. It just takes a few minutes to set up, and you're ready to go!

---

### Main Goals

- Quickly build new solutions without repeating your work or copying it between projects.
- Get all the necessary fetching systems – and the possibility of expanding them as needed.
- Stop duplicating solutions between and within projects by giving global access to server settings.
- Enable rapid application development by setting up a fetcher and its dependencies in minutes, not hours or days.
- Trivial tracking of the progress and queue of sent requests.
- Provide offline and persistence solutions that no other library offers.
- Enhance ease of use by using automation to eliminate common code mistakes.

---

### Guides

Our Guides section provides step-by-step instruction on:

- [Basic Hyper Fetch Usage](/guides/01-Basic/Setup.mdx)
- [Advanced Hyper Fetch Features](/guides/02-Advanced/Cancellation.mdx)
- [Using Hyper Fetch with React](/guides/04-React/Fetching.mdx)
- [Using Hyper Fetch with TypeScript](/guides/05-Typescript/Global_Error.mdx)
- [Testing](/guides/06-Testing/Isolation.mdx)
