Skip to content
JS
Comparison

node-fetch vs axios

node-fetch is an implementation of the Fetch API for Node.js, built on Node's http module, and axios is a promise-based HTTP client for the browser and Node.js.

HTTP clientsPackage data 25 Sept 2026
node-fetchv3.3.2, 25 Jul 2023

Implementation of the Fetch API for Node.js, built on Node's http module.

$ npm install node-fetch
axiosv1.20.0, 26 Aug 2026

Promise-based HTTP client for the browser and Node.js.

$ npm install axios
Metricnode-fetchaxiosDifference
Weekly downloads141,855,67685,399,829node-fetch 1.7x higher
12-month download growth+109%+47%node-fetch +62 pts
Gzip size---
Minified size---
Dependencies34axios 1 more
Unpacked size105 kB1.9 MBnode-fetch 18.5x smaller
Latest release3.3.2, 25 Jul 20231.20.0, 26 Aug 2026axios 3.1 years more recent
Releases, last 12 months025axios 25 more
First published27 Jan 201529 Aug 2014axios 5 months earlier
GitHub stars8,855109,212axios 12.3x higher
Open issues19048node-fetch 142 more
Open pull requests5947node-fetch 12 more
Contributors116665axios 5.7x higher
Commits, last 52 weeks0466axios higher
TypeScript typesBundledBundledSame
Module formatESM onlyESM + CommonJSDiffers
RuntimesNode.jsBrowser, Node.js, Deno, BunOnly axios: Browser, Deno, Bun
LicenseMITMITSame

Green marks the smaller size or the more recent release. Bold marks the higher count, with no judgement implied. Sizes are for the whole package per Bundlephobia. Growth compares the average of the last 4 weeks with the first 4 weeks of the 52-week series.

node-fetch141.9m latest weekaxios85.4m latest week
Week of 23 Sept 2025Week of 15 Sept 2026
Weekly npm downloads, 52 weeks. Y axis starts at zero. Values are not smoothed.

node-fetch

Major versions
  1. 0.1.027 Jan 2015
  2. 1.0.027 Jan 2015
  3. 2.0.03 Feb 2018
  4. 3.0.031 Aug 2021
Last 5 releases
  1. 2.7.023 Aug 2023
  2. 2.6.1318 Aug 2023
  3. 3.3.225 Jul 2023
  4. 2.6.1229 Jun 2023
  5. 2.6.119 May 2023
73 releases in total, 0 in the last 12 months

axios

Major versions
  1. 0.1.029 Aug 2014
  2. 1.0.04 Oct 2022
Last 5 releases
  1. 0.34.016 Sept 2026
  2. 1.20.026 Aug 2026
  3. 1.19.029 Jul 2026
  4. 1.18.122 Jun 2026
  5. 1.18.014 Jun 2026
138 releases in total, 25 in the last 12 months
node-fetch

Fetch API (window.fetch-compatible)

axios

Promise-based, configurable instances with request and response interceptors

node-fetch
  • 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.
axios
  • Uses XMLHttpRequest in the browser and the Node.js http module on the server.
  • Has a fetch adapter since v1.7.0, used by default when the xhr and http adapters are unavailable.
  • Request and response interceptors can modify or transform data before it is sent or handled.
  • The README gives install commands for npm, Bun and Deno.
  • Need both ESM and CommonJS entry pointsaxios (node-fetch: ESM only; axios: ESM + CommonJS)
  • Need to load it with require()axios
  • Need TypeScript types in the package itselfBoth
  • Need to run in Browseraxios (as listed in its README)
  • Need to run in Denoaxios (as listed in its README)
  • Need to run in Bunaxios (as listed in its README)
  • Only targeting Node.jsBoth run in Node.js (node-fetch is Node.js only)
  • Node.js version requirementnode-fetch: ^12.20.0 || ^14.13.1 || >=16.0.0; axios: none declared (engines field in package.json)
  • Need the more recent releaseaxios (1.20.0 on 26 Aug 2026 vs 3.3.2 on 25 Jul 2023)
  • Higher weekly npm downloadsnode-fetch (141.9m vs 85.4m)

Each line is generated from the data above.

Indexability: Indexed: 30 US searches/month across both orderings ("node-fetch vs axios", "axios vs node-fetch").