How glyde compares
A transparent look at how glyde stacks up against popular HTTP clients.
Bundle Size (min+gzip)
glyde
1.73 KB
ky
3.4 KB
wretch
4.3 KB
redaxios
1.0 KB
axios
53 KB
got
48 KB
Lower is better. glyde is 97% smaller than axios.
Feature Comparison
| Feature | glyde | axios | ky | wretch | got |
|---|---|---|---|---|---|
| Zero dependencies | |||||
| TypeScript-first | |||||
| Native fetch | |||||
| Request interceptors | |||||
| Response interceptors | |||||
| Typed error hierarchy | |||||
| Type guard functions | |||||
| Streaming support | |||||
| Timeout (AbortController) | |||||
| FormData auto-boundary | |||||
| Browser + Node.js | |||||
| ESM + CJS | |||||
| Node.js only |
Dependency Count
0
glyde
0
ky
0
wretch
0
redaxios
2
axios
11
got
Zero dependencies = zero supply chain risk. The axios supply chain attack (March 2026) affected millions of projects.
Same API, smaller package
glyde (1.73 KB)
import plane from "glyde"
const api = plane({ baseURL: "https://api.example.com" })
const { data } = await api.get<User[]>("/users")axios (53 KB)
import axios from "axios"
const api = axios.create({ baseURL: "https://api.example.com" })
const { data } = await api.get<User[]>("/users")Near-identical API surface. 97% less code shipped to your users.
Why not...
axios
- 53 KB gzipped — 30x larger than glyde
- Uses legacy XHR, not native fetch
- Supply chain attack in March 2026 (Sapphire Sleet)
- 2 runtime dependencies
got
- Node.js only — doesn't work in browsers
- 11 runtime dependencies
- 48 KB gzipped
- Over-engineered for most use cases
ky
- No request/response interceptor system
- No typed error hierarchy with type guards
- Hooks API is less flexible than interceptors
wretch
- No interceptor chain (uses addons/middleware pattern)
- Fluent/chaining API — different paradigm
- No typed error classes with type guards