axios alternatives
8 packages that do the same job as axios: undici, got, superagent, ky, node-fetch, extrareqp2, request-promise-core, get-it. Figures below are from npm, GitHub and Bundlephobia.
| Package | Weekly downloads | 12-month change | Gzip | Dependencies | Last release | Module | Types | Runtimes |
|---|---|---|---|---|---|---|---|---|
| axios This package | 85.4m | +47% | - | 4 | 29 days ago | ESM + CommonJS | Bundled | Browser, Node.js, Deno, Bun |
| undici | 132.4m | +470% | - | 0 | today | CommonJS | Bundled | Node.js |
| got | 30.4m | +28% | - | 10 | 25 days ago | ESM only | Bundled | Node.js |
| superagent | 16.1m | +43% | - | 9 | 1 day ago | CommonJS | None | Browser, Node.js |
| ky | 5.1m | +71% | - | 0 | 27 days ago | - | - | Browser, Node.js, Bun, Deno |
| node-fetch | 141.9m | +109% | - | 3 | 3 years ago | ESM only | Bundled | Node.js |
| extrareqp2 | 1.3m | +26% | - | 0 | 2 years ago | - | - | - |
| request-promise-core | 4.3m | -13% | - | 1 | 6 years ago | CommonJS | None | - |
| get-it | 2.1m | +265% | - | 1 | today | ESM only | Bundled | - |
12-month change compares the average of the last 4 weeks of downloads with the first 4 weeks of the 52-week series. Gzip size is for the whole package (Bundlephobia). Runtimes are taken from each package's own documentation; "-" means not recorded.
HTTP/1.1 client written from scratch for Node.js. It powers Node's built-in fetch.
- Node.js's built-in fetch is powered by a bundled version of undici, from Node.js v18.
- Installing the package gives a newer undici than the one bundled with Node, plus APIs the built-in fetch lacks, such as ProxyAgent, Socks5Agent and MockAgent.
- Gives control over connection pooling and supports HTTP/1.1 pipelining.
- Its README advises keeping fetch and FormData from the same implementation and not mixing the global and undici versions.
Compared with axios
- 1.5x more weekly downloads (132.4m vs 85.4m)
- 0 dependencies vs 4
- CommonJS vs ESM + CommonJS
- Node.js only vs browser + Node.js + Deno + Bun
- Declares Node.js >=22.19.0 vs none declared
- Last release 24 Sept 2026 vs 26 Aug 2026
- 14x fewer GitHub stars (7.7k vs 109.2k)
HTTP request library for Node.js with streams, retries, hooks and pagination.
- Node.js only. Its own comparison table lists no browser support.
- Native ESM with no CommonJS export since v12.
- The README recommends ky, by the same maintainers, for most users, as it is smaller, works in the browser and is built on Fetch.
Compared with axios
- 2.8x fewer weekly downloads (30.4m vs 85.4m)
- 10 dependencies vs 4
- ESM only vs ESM + CommonJS
- Node.js only vs browser + Node.js + Deno + Bun
- Declares Node.js >=22 vs none declared
- Last release 30 Aug 2026 vs 26 Aug 2026
- 7.3x fewer GitHub stars (14.9k vs 109.2k)
HTTP request library for the browser and Node.js, with the same API in both.
- Requests are built by chaining methods such as .send() and .set(), then sent with .end() or awaited.
- Supports both callbacks and promises.
- Has a plugin system. Browser builds are published in the package's dist folder and on CDNs.
Compared with axios
- 5.3x fewer weekly downloads (16.1m vs 85.4m)
- 9 dependencies vs 4
- CommonJS vs ESM + CommonJS
- No types vs bundled types
- Browser + Node.js vs browser + Node.js + Deno + Bun
- Declares Node.js >=14.18.0 vs none declared
- Last release 23 Sept 2026 vs 26 Aug 2026
- 6.6x fewer GitHub stars (16.6k vs 109.2k)
HTTP client built on the Fetch API, with retries, timeouts, hooks and method shortcuts.
- Built on the Fetch API. Input and options are the same as fetch, with extra options added.
- Treats non-2xx responses as errors (after redirects) and retries failed requests.
- The README states it targets modern browsers, Node.js, Bun and Deno, and has no dependencies.
- ESM-only package.
Compared with axios
- 17x fewer weekly downloads (5.1m vs 85.4m)
- 0 dependencies vs 4
- - vs ESM + CommonJS
- Last release 28 Aug 2026 vs 26 Aug 2026
Implementation of the Fetch API for Node.js, built on Node's http module.
- v3 is ESM-only and cannot be loaded with require(). v2 remains CommonJS and still receives critical bug fixes.
- Response bodies are Node.js Readable streams, not WHATWG ReadableStreams as the Fetch standard specifies.
- Node.js has a built-in global fetch, powered by undici, from v18.
Compared with axios
- 1.7x more weekly downloads (141.9m vs 85.4m)
- 3 dependencies vs 4
- ESM only vs ESM + CommonJS
- Node.js only vs browser + Node.js + Deno + Bun
- Declares Node.js ^12.20.0 || ^14.13.1 || >=16.0.0 vs none declared
- Last release 25 Jul 2023 vs 26 Aug 2026
- 12x fewer GitHub stars (8.9k vs 109.2k)
Promise based HTTP client for the browser and node.js
Compared with axios
- 64x fewer weekly downloads (1.3m vs 85.4m)
- 0 dependencies vs 4
- - vs ESM + CommonJS
- Last release 20 Jan 2024 vs 26 Aug 2026
Core Promise support implementation for the simplified HTTP request client 'request'.
Compared with axios
- 20x fewer weekly downloads (4.3m vs 85.4m)
- 1 dependency vs 4
- CommonJS vs ESM + CommonJS
- No types vs bundled types
- Declares Node.js >=0.10.0 vs none declared
- Last release 22 Jul 2020 vs 26 Aug 2026
- 5461x fewer GitHub stars (20 vs 109.2k)
Generic HTTP request library for node, browsers and workers
Compared with axios
- 40x fewer weekly downloads (2.1m vs 85.4m)
- 1 dependency vs 4
- ESM only vs ESM + CommonJS
- Declares Node.js >=22.12.0 vs none declared
- Last release 24 Sept 2026 vs 26 Aug 2026
- 2874x fewer GitHub stars (38 vs 109.2k)
Indexability: Indexed: 140 US searches/month for "axios alternatives".