Is request still maintained?
No — request stopped being maintained around February 2020. The ecosystem moved to undici, a separate project that took over the same job.
- Status
- No longer maintained
- Last maintained
- February 2020
- Use instead
undici— on npm- Succession
- Replacement project
- Drop-in
- no — expect code changes
- Confidence
- high
What should I use instead of request?
The ecosystem moved to undici, a separate project that took over the same job. undici is not a drop-in replacement, so expect to change call sites.
How to migrate from request to undici
Node 18+ ships a global fetch() backed by undici, so most simple call sites need no dependency at all; reach for got when you want retries, hooks and streams in one package.
Why request is on this list
Mikeal Rogers put request into maintenance mode in March 2019, explaining that its incumbency made it harder for newer HTTP clients to gain adoption. The package carries a full npm deprecation notice, and its final release, 2.88.2, went out in February 2020. It still installs and still works, but receives no fixes and its callback-first API predates promises. Postman maintains a hard fork as postman-request for code that cannot move off the API.
The succession is settled: primary sources agree and the ecosystem has already moved.
request alternatives
Beyond the primary recommendation, these are credible for request's use case:
got— view on npmaxios— view on npmnode-fetch— view on npmpostman-request— view on npm
Check your own project for request
npx dead-deps --all --min-state unmaintained
Run that in the directory holding your lockfile. If request is anywhere in your tree — a direct dependency or buried under something else — it appears in the report with this verdict, this successor and the same evidence links, alongside anything else that has stopped moving. Nothing is uploaded; the scan reads your lockfile locally and queries public registry metadata.
Exit code 1 means something was flagged, which makes npx dead-deps --min-state deprecated usable as a CI gate. See how verdicts are produced.
Evidence
Every claim on this page traces to a primary source. Check them:
- Maintainer announcement: Request's Past, Present and Future (mikeal, March 2019)github.com
- npm deprecation notice for requestnpmjs.com
Packages related to request
- request-promiseReplacement project: got · unmaintained since July 2020
- request-promise-nativeReplacement project: got · unmaintained since July 2020
- request-promise-anyReplacement project: got · unmaintained since July 2020
- wreckRenamed package: @hapi/wreck · unmaintained since March 2019
- csurfReplacement project: csrf-csrf · unmaintained since January 2020
See the full index of covered packages, or read the methodology for how a verdict is reached and why a quiet package is not a dead one.