request
npmv2.88.2DeprecatedSimplified HTTP request client.
Deprecation notice: request has been deprecated, see https://github.com/request/request/issues/3142
Not recommended for new projects
No — request should not be adopted for new projects. Explicitly marked deprecated by its publisher. Pulls in 29 transitive packages, about 1.3 MB installed (at least — some of the tree is still being crawled).
- AAdoption: grade A, Excellent.
14.5M downloads per week and 4 known dependents.
- FMaintenance: grade F, Failing.
Explicitly marked deprecated by its publisher.
- CWeight: grade C, Fair — worth a look.
Pulls in 29 transitive packages, about 1.3 MB installed (at least — some of the tree is still being crawled).
- ASupply chain: grade A, Excellent.
No install scripts, 4 maintainers, and a contained dependency surface.
- ALicense: grade A, Excellent.
Apache-2.0 — permissive, with no copyleft found in the dependency tree.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding request to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Unpacked size of this package plus its entire runtime tree.
Longest resolved dependency chain below this package.
Part of this dependency tree has not been crawled yet, so these figures are a lower bound rather than a final total.
Licenses in the dependency tree
Every license you inherit by installing request, not just its own. Check this before a legal review, not after.
Compatibility
- Node.js
- node >= 6
- Module format
- CommonJS only
- TypeScript
- No bundled types
- Install scripts
- None
Quick start
A usage example from the request README.
const request = require('request');
request('http://www.google.com', function (error, response, body) {
console.error('error:', error); // Print the error if one occurred
console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
console.log('body:', body); // Print the HTML for the Google homepage.
});request vs the alternatives
Packages solving a similar problem in the npm ecosystem, compared on the signals that drive an adoption decision.
| Package | Weekly downloads | Dependents | License | Last release |
|---|---|---|---|---|
| requestthis page | 14.5M | 4 | Apache-2.0 | 6 years ago |
| type-fest | 0 | 5 | (MIT OR CC0-1.0) | 6 hours ago |
| follow-redirects | 0 | 2 | MIT | 8 hours ago |
| agent-base | 242.7M | 5 | MIT | 7 hours ago |
| fdir | 160.4M | 2 | MIT | 6 hours ago |
| http-errors | 154.5M | 7 | MIT | 4 hours ago |
Dependencies
Declared by request v2.88.2. Runtime dependencies are installed with the package; dev dependencies are not.
Runtime (20)
Dev (20)
Used by
Popular packages that depend on request.
Implements https://w3c.github.io/accname/
Native Abstractions for Node.js: C++ header for Node 0.8 -> 26 compatibility
Convert character encodings in pure javascript.
A library to create readable "multipart/form-data" streams. Can be used to submit forms and file uploads to other web applications.
Relationship graph
Dependencies (left) and dependents (right) of request.
Frequently installed together
An AST-based pattern checker for JavaScript.
The semantic version parser used by npm.
TypeScript definitions for node
The ultimate javascript content-type utility.
Cross platform child_process#spawn and child_process#spawnSync
A helper to optimistically set Symbol.toStringTag, when possible.
A stream that emits multiple other streams one after another.
A robust, ES3 compatible, "has own property" predicate.
the most correct and second fastest glob implementation in JavaScript
Modern Buffer API polyfill without footguns
No description provided.
Babel preset for TypeScript.
Release history
No releases in the last two years, typically about 15 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 2.88.2latest | 6 years ago | 204 KB | Apache-2.0 |
| 2.88.0 | 8 years ago | 202 KB | Apache-2.0 |
| 2.87.0 | 8 years ago | 202 KB | Apache-2.0 |
| 2.86.0 | 8 years ago | 199 KB | Apache-2.0 |
| 2.85.0 | 8 years ago | 199 KB | Apache-2.0 |
| 2.84.0 | 8 years ago | 199 KB | Apache-2.0 |
| 2.83.0 | 8 years ago | — | Apache-2.0 |
| 2.82.0 | 8 years ago | — | Apache-2.0 |
| 2.81.0 | 9 years ago | — | Apache-2.0 |
| 2.80.0 | 9 years ago | — | Apache-2.0 |
| 2.79.0 | 9 years ago | — | Apache-2.0 |
| 2.78.0 | 9 years ago | — | Apache-2.0 |
| 2.77.0 | 9 years ago | — | Apache-2.0 |
| 2.76.0 | 9 years ago | — | Apache-2.0 |
| 2.75.0 | 9 years ago | — | Apache-2.0 |
Overview
request is a deprecated npm package that simplified HTTP request client. It is extremely widely used, with about 14.5M downloads per week and 4 known dependents in the graph. The latest version is 2.88.2, released under the Apache-2.0 license.
Who should use it
request is deprecated and is best avoided for new projects. Existing users should plan a migration to a maintained alternative.
When not to use it
Do not adopt this package for new work — it is no longer maintained.
Pros
- Large, well-established user base (14.5M weekly downloads).
- Clear open-source license (Apache-2.0).
Cons
- Marked deprecated: request has been deprecated, see https://github.com/request/request/issues/3142.
- Large dependency tree (40 direct dependencies) increases install size and audit surface.
- No bundled TypeScript types (may require a separate @types package).
Auto-generated from collected registry metadata. No external claims are inferred.
Maintainers
Frequently asked questions
Should I use request?
No — request should not be adopted for new projects. Explicitly marked deprecated by its publisher. Pulls in 29 transitive packages, about 1.3 MB installed (at least — some of the tree is still being crawled).
How do I install request?
Run `npm install request` to add request to your npm project.
How many dependencies does request have?
request declares 40 direct dependencies and pulls in 29 packages in total once its runtime tree is resolved totalling about 1.3 MB on disk.
What license is request released under?
request is distributed under the Apache-2.0 license. Its dependency tree also includes: BSD-3-Clause, MIT.
How popular is request?
request has approximately 14,530,466 downloads per week and 4 known dependent packages.
Is request still maintained?
No — request is marked as deprecated: request has been deprecated, see https://github.com/request/request/issues/3142. Consider a maintained alternative for new projects.
Does request run install scripts?
No. request does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.