node-fetch vs wretch

node-fetch is downloaded 525.1× more often than wretch (596,360,386 vs 1,135,645 per month), so it has the larger community and more answered questions online. Both projects are actively maintained.

Metricnode-fetchwretch
Weekly downloads141,594,834280,182
Monthly downloads596,360,3861,135,645
GitHub stars8,8575,172
Minified size4.2 kB
Minified + gzipped1.8 kB
Dependencies0
Open issues2479
Last commit2026-05-122026-05-23
Latest version3.3.23.0.8
LicenseMITMIT

When to choose which

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

wretch

A fluent, immutable wrapper around fetch.

Choose it when: You want a small, composable fetch API with a fluent chain and middleware, in modern environments.

  • + Tiny
  • + Fluent immutable API
  • + Middleware
  • - Requires fetch
  • - Smaller community

Feature comparison

Featurenode-fetchwretch
RuntimeNode onlyBrowser + Node 18+
Built onfetch polyfillfetch
Interceptors / hooks✗ No✓ Yes
Automatic JSON✗ No✓ Yes
Built-in retries✗ NoAddon

node-fetch

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

wretch

A tiny wrapper built around fetch with an intuitive syntax.

Related comparisons

Embed this comparison

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

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

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