The type-safe API layer for TypeScript apps. Connect to REST, GraphQL, Firebase, WebSockets, SSE . All with one consistent interface and the best type safety in the ecosystem.
Apps break when cache, realtime events, retries, queues, and UI state each follow different rules in different libraries. HyperFetch puts them under one roof.
Axios for fetching. React Query for caching. A custom hook for retries. Another package for WebSockets. Each with its own config and mental model.
Fetch, cache, retry, queue, dedup, and offline replay. One import, one configuration surface, zero glue code between packages.
REST calls, socket listeners, Firebase queries. Each one gets its own wrapper, type definition, and error handler. Add a new endpoint, copy-paste the last one, tweak it.
Point at an OpenAPI spec or import types from your monorepo backend. HyperFetch generates a fully typed SDK for REST and Sockets. No hand-written wrappers.
You update a record, but three other components still render the old version until someone refreshes the page. Rollbacks are manual. Nothing is type-checked.
Mutate the UI instantly with fully typed cache updates. If the server rejects, HyperFetch rolls back automatically. WebSocket events can update REST cache in real time.
REST uses hooks and query clients. Sockets get a custom event system. Two separate data layers with different error handling.
WebSockets, SSE, and Firebase listeners follow the same typed request pattern. Shared lifecycle, shared retries, shared queue logic.
LLMs guess at parameter names, payloads, and error shapes. Without typed contracts, every AI-generated API call is a coin flip.
Your SDK, types, and schemas give AI agents a complete contract for every endpoint. Code generation and agentic workflows become type-safe by default.
Modern apps often require combining multiple tools for fetching, caching, realtime updates, and state synchronization. HyperFetch brings all of this into one system.
Point at any OpenAPI spec, get a fully typed client. No hand-written interfaces, no any.
REST, GraphQL, Firebase, Sockets. Swap the adapter, keep the same createRequest / .send() everywhere.
Cache, queue, retry, dedup, offline replay. All built in. Stop re-implementing the same infra in every project.
Params inferred from URL strings. Typed responses, payloads, query params, errors. Zero any.
useFetch for queries. useSubmit for mutations. Loading, error, and data states all managed for you.
Inspect every request, cache entry, queue, and event. Debug your data layer visually.
Browser, Node, edge, mobile, SSR. Same client, same behavior, every runtime.
Mutate the UI first, reconcile with the server. Smooth, race-condition-free.
Five components ask for the same data. One network call fires. Automatic.
HyperFetch replaces per-endpoint fetch wrappers with one typed SDK. REST, GraphQL, Firebase, WebSockets, and SSE all use the same createRequest() and .send() pattern. Cache, retries, queues, and offline replay are built in.
A standalone desktop app that plugs into your client. Inspect every request, cache entry, and queue as your app runs. Debug your data layer visually.

With our platform you can build any type of application, from simple landing pages to complex enterprise systems.
Skip the boilerplate. HyperFetch generates the API layer for you, with the strongest type safety in the ecosystem.
Point the CLI at any OpenAPI or Swagger schema and ship a fully typed SDK. Zero manual typing.
Parsing schema...✔ 42 endpoints, 18 models found✔ Typed params, payloads, errors. All inferred.✔ Request methods generated to src/api/Zero `any`. Zero manual types. Zero errors.🚀 Just use it.End-to-end TypeScript from schema to response. Typed params, payloads, errors. Zero any. Catch bugs at compile time, not in production.

Framework agnostic, near-zero dependencies, MIT licensed. Drop it into any project and own your stack.

We're grateful to the following companies and individuals who have supported us financially. You can still help us by joining the GitHub Sponsors program or contact us for other ways of support or collaboration.
Spend less time on boilerplate and more on building amazing features that your users will love.