GitHub

Best JavaScript HTTP clients

Libraries for making HTTP requests from Node.js and the browser. undici leads with about 321M real installs a week, followed by node-fetch with about 278M.

packagereal installs / weeknpm / weeknoiselast releaseconfidence
1. undiciAn HTTP/1.1 client, written from scratch for Node.js 321M 321,272,312 under 1% Nov 2026 high
2. node-fetchA light-weight module that brings Fetch API to node.js 278M 277,668,187 under 1% Jul 2023 high
3. axiosPromise based HTTP client for the browser and node.js 144M 144,287,152 under 1% Oct 2026 high
4. gotHuman-friendly and powerful HTTP request library for Node.js 52.7M 52,711,066 under 1% Oct 2026 high
5. superagentelegant & feature rich browser / node HTTP with a fluent API 32.4M 32,380,553 under 1% Sep 2026 high
6. ofetchA better fetch API. Works on node, browser and workers. 25.4M–25.5M 25,456,245 under 1% Nov 2025 high
7. kyTiny and elegant HTTP client based on the Fetch API 9.75M–9.76M 9,760,446 under 1% Oct 2026 high

Ranked by real installs. That measures use, not quality: read the notes below before choosing. Mirror spikes and crawlers removed. CI and dependency installs still count, so this is not a head count. Noise: the share of npm's count that mirror spikes and crawlers account for. What remains still includes CI and dependency installs. Rows are refreshed in rotation, the oldest here on Nov 6, 2026.

How do they differ?

Browsers and current Node.js versions ship fetch, so you may not need a library at all. Axios adds interceptors and works in both environments. Got is a Node client with retries and streams. Ky is a small wrapper over fetch. Undici is the client behind fetch in Node.js.

Check a package