got vs node-fetch

node-fetch is downloaded 4.2× more often than got (596,360,386 vs 143,651,475 per month), so it has the larger community and more answered questions online. Both projects are actively maintained.

Metricgotnode-fetch
Weekly downloads33,119,616141,594,834
Monthly downloads143,651,475596,360,386
GitHub stars14,9098,857
Minified size144.7 kB
Minified + gzipped44.2 kB
Dependencies12
Open issues0247
Last commit2026-05-072026-05-12
Latest version15.0.53.3.2
LicenseMITMIT

When to choose which

got

Powerful HTTP client for Node.js.

Choose it when: Server-side Node where you need retries, streams, pagination and hooks. Not for the browser.

  • + Retries, streams, hooks
  • + Great for backend
  • - Node only
  • - Heavier

node-fetch

A fetch() polyfill for older Node.js.

Choose it when: Legacy Node before v18. On Node 18+ fetch is global, so you usually no longer need this.

  • + Familiar fetch API
  • + Lightweight
  • - Redundant on Node 18+
  • - Manual JSON parsing
  • - No interceptors

Feature comparison

Featuregotnode-fetch
RuntimeNode onlyNode only
Built onhttpfetch polyfill
Interceptors / hooks✓ Yes✗ No
Automatic JSON✓ Yes✗ No
Built-in retries✓ Yes✗ No

got

Human-friendly and powerful HTTP request library for Node.js

node-fetch

A light-weight module that brings Fetch API to node.js

Related comparisons

Embed this comparison

A live badge for your README — it updates as the numbers change.

got vs node-fetch downloads
[![got vs node-fetch](https://devcompare.dev/badge/got-vs-node-fetch.svg)](https://devcompare.dev/compare/got-vs-node-fetch)

Data from npm, Bundlephobia and GitHub. Last updated 2026-06-02.