React Data Fetching Libraries



RTK Query

Lenz Weber

A powerful data fetching and caching tool. It is designed to simplify common cases for loading data in a web application, eliminating the need to hand-write data fetching & caching logic yourself.
RTK Query GitHub RepositoryRTK Query NPM PackageRTK Query Bundle Size Stats


Apollo Client

Apollo GraphQL

A fully-featured caching GraphQL client with integrations for React that also has functionality for managing local state.
Apollo Client GitHub RepositoryApollo Client NPM PackageApollo Client Bundle Size Stats


React Query

Tanner Linsley

Writing your data fetching logic by hand is over. Tell React Query where to get your data and how fresh you need it to be and the rest is automatic. React Query handles caching, background updates and stale data out of the box with zero-configuration.
React Query GitHub RepositoryReact Query NPM PackageReact Query Bundle Size Stats




The name “SWR” is derived from stale-while-revalidate, a HTTP cache invalidation strategy popularized by HTTP RFC 5861. SWR is a strategy to first return the data from cache (stale), then send the fetch request (revalidate), and finally come with the up-to-date data.
SWR GitHub RepositorySWR NPM PackageSWR Bundle Size Stats

Use hooks or FACC's (Function as Child Component) to fetch data in an easy way. No dependencies! Just React under the hood. Request and response interceptors allows you to easily customize connection with API (add authorization, refresh token, cache, etc). It uses Fetch API so it can be used in SSR apps (i.e. with isomorphic-fetch).
React Fetching Library GitHub RepositoryReact Fetching Library NPM PackageReact Fetching Library Bundle Size Stats



Matt Zabriskie

Axios is a simple promise based HTTP client for the browser and node.js. Axios provides a simple to use library in a small package with a very extensible interface.
Axios GitHub RepositoryAxios NPM PackageAxios Bundle Size Stats



TJ Holowaychuk

Small progressive client-side HTTP request library, and Node.js module with the same API, supporting many high-level HTTP client features.
Superagent GitHub RepositorySuperagent NPM PackageSuperagent Bundle Size Stats



Sindre Sorhus

Ky is a tiny and elegant HTTP client based on the browser Fetch API. Ky targets modern browsers and Deno. It's just a tiny file with no dependencies.
Ky GitHub RepositoryKy NPM PackageKy Bundle Size Stats



Blake Embrey

Advanced HTTP requests in node.js and browsers, using Servie, a set of standard, framework-agnostic HTTP interfaces for JavaScript servers and clients
Popsicle GitHub RepositoryPopsicle NPM PackagePopsicle Bundle Size Stats


Stream HTTP

John Hiesey

This module is an implementation of Node's native http module for the browser. It tries to match Node's API and behavior as closely as possible, but some features aren't available, since browsers don't give nearly as much control over requests.
Stream HTTP GitHub RepositoryStream HTTP NPM PackageStream HTTP Bundle Size Stats



Brandon Bayer

Blitz is a batteries-included framework that's inspired by Ruby on Rails, is built on Next.js, and features a "Zero-API" data layer abstraction that eliminates the need for REST/GraphQL.
Blitz GitHub RepositoryBlitz NPM PackageBlitz Bundle Size Stats




Remix is a full stack web framework (from the creators of React Router) that lets you focus on the user interface and work back through web fundamentals to deliver a fast, slick, and resilient user experience.
Remix GitHub RepositoryRemix NPM PackageRemix Bundle Size Stats