Skip to content
JS
Comparison

node-fetch vs got

node-fetch is an implementation of the Fetch API for Node.js, built on Node's http module, and got is an HTTP request library for Node.js with streams, retries, hooks and pagination.

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
gotv16.0.0, 30 Aug 2026

HTTP request library for Node.js with streams, retries, hooks and pagination.

$ npm install got
Metricnode-fetchgotDifference
Weekly downloads141,855,67630,398,057node-fetch 4.7x higher
12-month download growth+109%+28%node-fetch +82 pts
Gzip size---
Minified size---
Dependencies310got 7 more
Unpacked size105 kB438 kBnode-fetch 4.2x smaller
Latest release3.3.2, 25 Jul 202316.0.0, 30 Aug 2026got 3.1 years more recent
Releases, last 12 months018got 18 more
First published27 Jan 201527 Mar 2014got 10 months earlier
GitHub stars8,85514,946got 1.7x higher
Open issues1901node-fetch 189 more
Open pull requests590node-fetch 59 more
Contributors116205got 1.8x higher
Commits, last 52 weeks0203got higher
TypeScript typesBundledBundledSame
Module formatESM onlyESM onlySame
RuntimesNode.jsNode.jsSame
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 weekgot30.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

got

Major versions
  1. 0.1.027 Mar 2014
  2. 1.0.05 Aug 2014
  3. 2.0.023 Nov 2014
  4. 3.0.06 May 2015
  5. 4.0.025 Jul 2015
  6. 5.0.018 Oct 2015
  7. 6.0.07 Jan 2016
  8. 7.0.029 May 2017
  9. 8.0.016 Nov 2017
  10. 9.0.04 Aug 2018
  11. 10.0.01 Dec 2019
  12. 11.0.020 Apr 2020
  13. 12.0.010 Dec 2021
  14. 13.0.027 May 2023
  15. 14.0.029 Nov 2023
  16. 15.0.01 Apr 2026
  17. 16.0.030 Aug 2026
Last 5 releases
  1. 16.0.030 Aug 2026
  2. 15.1.02 Jul 2026
  3. 15.0.728 Jun 2026
  4. 15.0.621 Jun 2026
  5. 15.0.56 May 2026
186 releases in total, 18 in the last 12 months
node-fetch

Fetch API (window.fetch-compatible)

got

Promise-based and stream-based, extendable instances with hooks

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.
got
  • 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.
  • Module formatBoth ESM only
  • Need TypeScript types in the package itselfBoth
  • Only targeting Node.jsBoth run in Node.js (Both are Node.js only)
  • Node.js version requirementnode-fetch: ^12.20.0 || ^14.13.1 || >=16.0.0; got: >=22 (engines field in package.json)
  • Need the more recent releasegot (16.0.0 on 30 Aug 2026 vs 3.3.2 on 25 Jul 2023)
  • Higher weekly npm downloadsnode-fetch (141.9m vs 30.4m)

Each line is generated from the data above.

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