Skip to content
JS
Alternatives

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.

Data as of 25 Sept 2026
PackageWeekly downloads12-month changeGzipDependenciesLast releaseModuleTypesRuntimes
axios
This package
85.4m+47%-429 days agoESM + CommonJSBundledBrowser, Node.js, Deno, Bun
undici132.4m+470%-0todayCommonJSBundledNode.js
got30.4m+28%-1025 days agoESM onlyBundledNode.js
superagent16.1m+43%-91 day agoCommonJSNoneBrowser, Node.js
ky5.1m+71%-027 days ago--Browser, Node.js, Bun, Deno
node-fetch141.9m+109%-33 years agoESM onlyBundledNode.js
extrareqp21.3m+26%-02 years ago---
request-promise-core4.3m-13%-16 years agoCommonJSNone-
get-it2.1m+265%-1todayESM onlyBundled-

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)
Notes checked against: undici README

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)
Notes checked against: got README, got v12.0.0 release notes

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)
Notes checked against: superagent README

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
Notes checked against: ky README

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)
Sources: npm registry, npm downloads API, GitHub API, Bundlephobia. Data fetched 25 Sept 2026.

Indexability: Indexed: 140 US searches/month for "axios alternatives".