Lightning-Fast HTTP Client
for Modern JavaScript
Enterprise-grade HTTP client with HTTP/2, intelligent cookie management, multiple adapters, streaming, and cross-environment support.
TypeScript-first · Node.js 22+ · MIT Licensed
Get Started in Seconds
Install with your favorite package manager and start making requests.
$ npm install rezoimport rezo from 'rezo';
const { data, status } = await rezo.get('https://api.example.com/users');
console.log(data);6 Adapters, One API
Same interface everywhere. Automatic selection based on runtime.
| Feature | HTTP | HTTP/2 | cURL | Fetch | XHR | React Native |
|---|---|---|---|---|---|---|
| Cookies | ||||||
| Proxy | ||||||
| Streaming | ||||||
| HTTP/2 | ||||||
| Upload Progress | ||||||
| Download Progress | ||||||
| File Download | ||||||
| Compression | ||||||
| TLS Config |
Everything You Need
Enterprise features out of the box. No extra packages required.
HTTP/2 Support
Multiplexed streams, session pooling, ALPN negotiation with automatic fallback.
Cookie Management
RFC 6265 compliant jar with auto-persistence, Netscape/JSON export, and domain matching.
Proxy & SOCKS
HTTP, HTTPS, SOCKS4/5 with rotation, health monitoring, and automatic failover.
Stealth Mode
18 browser profiles with TLS fingerprinting, header ordering, and platform emulation.
Web Crawler
Queue-based crawler with SQLite persistence, robots.txt, memory monitoring, and auto-throttle.
Wget Clone
Full site cloning with asset extraction, link conversion, and offline browsing support.
Request Queue
Priority queuing with per-domain concurrency, rate limiting, and automatic retry.
Retry Logic
Exponential and linear backoff, custom conditions, status-code based retry, per-attempt hooks.
Streaming
EventEmitter-based streaming with progress events, data chunks, and lifecycle hooks.
Downloads & Uploads
File transfers with progress tracking, speed calculation, and resume support.
Response Cache
Memory and disk caching with ETag/Last-Modified revalidation and Cache-Control parsing.
Error Handling
70+ error codes with suggestions, stack cleaning, category flags, and factory methods.
Built for Developers
Designed to make HTTP requests a joy, not a chore.
26 Lifecycle Hooks
- beforeRequest, afterResponse, beforeError
- DNS, TLS, Socket, Timeout, Abort events
- Cookie filtering and logging hooks
- 8 proxy lifecycle hooks
- Rate limit wait notifications
Interceptors & Hooks
- 26 lifecycle hooks for full control
- Request & response interceptors
- DNS, TLS, Socket event hooks
- Proxy lifecycle hooks
- Cookie filtering and rate limit hooks
cURL Integration
- toCurl() - config to cURL command
- fromCurl() - parse cURL to config
- 200+ cURL options supported
- Auth, proxy, TLS, DNS options
- FTP, SSH, SMTP protocols
TypeScript-First
- Strict mode with full type safety
- Generic response types: RezoResponse<T>
- Method overloads for POST/PUT/PATCH
- Autocomplete on 70+ error codes
- Typed hooks and interceptors
Multi-Platform
- Node.js 22+ (default)
- Bun (full compatibility)
- Deno (with Node compat)
- Browsers (Fetch/XHR)
- React Native, Edge, Workers
Tree-Shakeable
- Per-adapter imports: rezo/adapters/http
- Per-platform imports: rezo/platform/node
- Modular crawler: rezo/crawler
- ESM + CJS dual output
- Zero unnecessary dependencies
Ready to Build?
A modern, enterprise-grade HTTP client for any JavaScript runtime. Integrate in minutes, scale to production.
MIT Licensed · 100% Open Source