request

The once-ubiquitous, now officially deprecated Node.js HTTP request client

Library
npm
v2.88.2
25,497 stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
46 /100 Fair
Development Activity 0
Maintenance 0
Community 84
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
64 /100 Good
Architecture 65
Code Quality 72
Innovation 40
Learning Curve 80

request was, for most of the 2010s, the de facto standard HTTP client for Node.js, offering a single simple function supporting callbacks, streaming, redirects, cookie jars, multipart forms, OAuth, and HAR-based request replay. It was officially deprecated by its maintainers on February 11, 2020, with no further changes expected to land, in favor of newer promise/async-based clients.

Despite its deprecated status, request remains deeply embedded as a transitive dependency across the npm ecosystem, and its README continues to be referenced as the canonical example of Node’s early callback/streaming HTTP idioms. It is documented here as a widely-installed legacy library rather than a recommendation for new projects.

What You Get

  • A single request() function supporting both callback and streaming (pipe-based) response handling
  • Automatic HTTPS and redirect handling out of the box
  • Built-in cookie jar, multipart/form-data, and OAuth request signing support
  • HAR (HTTP Archive) format request support for replaying captured requests
  • A large, still-widely-installed transitive footprint across the npm ecosystem

Common Use Cases

  • Legacy Node.js codebases and tooling that were built against request’s callback/streaming API before promise-based clients became standard
  • Reading and understanding older Node.js tutorials and Stack Overflow answers that still reference request as the example HTTP client
  • Maintaining or migrating off of older dependency trees that pull request in transitively
  • Studying stream-based HTTP request/response piping patterns in Node.js (e.g. piping a response directly to a file write stream)

Under The Hood

Architecture: The library’s core (request.js, ~1,550 lines) implements a single Request object that extends Node’s Stream and wires together the request lifecycle — DNS/proxy resolution, redirect following, and response piping — as a sequence of event-driven steps rather than a promise chain, reflecting Node’s pre-async/await conventions. Cross-cutting concerns (cookies, auth, multipart, OAuth, HAR replay) are split into separate modules under lib/ (cookies.js, auth.js, multipart.js, oauth.js, har.js) that the core request pipeline composes together at request time.

Tech Stack: Plain CommonJS JavaScript targeting Node’s built-in http/https modules directly, with dependencies on now-largely-legacy helper packages (har-validator, tunnel-agent, forever-agent) that were common in the pre-2018 Node ecosystem.

Code Quality: The tests/ directory is extensive (test-agent, test-api, test-aws, test-cookies, and more), reflecting years of production hardening, but the project has had zero commits and zero releases since 2020 per GitHub activity data, and the README leads with a formal deprecation notice pointing users to the discussion issue and alternative clients.

API Design: The single-function callback/stream API (request(url, callback) or request(url).pipe(...)) was praised in its era for simplicity, but by modern standards requires wrapper libraries (request-promise, request-promise-native) to get promise/async-await ergonomics — a real gap relative to fetch-based or axios-style clients that support promises natively.

Used by 11 apps in this directory

TypeScript
72%
AGPL 3.0

APITable

Databases · Low Code Platforms

15,623

API-first collaborative spreadsheet-database platform that auto-generates REST APIs and lets teams build internal tools, CRMs, and dashboards without code.

View details
71
Repo Health
77
Technical
60
Dependency
Built with
TypeScript 72%
Java 22%
Updated 3 weeks ago
TypeScript
96%
Other

CapRover

Developer Tools · Devops · Hosting Control Panel

15,173

Deploy any app, database, or website to your own server in minutes—no Docker or Linux expertise required.

View details
87
Repo Health
82
Technical
67
Dependency
Built with
TypeScript 96%
Updated 1 weeks ago
JavaScript
99%
Other

ChartBrew

Analytics · Databases

4,063

Open-source reporting platform to build live dashboards from SQL, NoSQL, APIs, and SaaS tools with an AI assistant that creates charts from natural language.

View details
90
Repo Health
83
Technical
64
Dependency
Built with
JavaScript 99%
Updated 1 weeks ago
Java
48%
Apache 2.0

ClearFlask

Community · Product Management

451

Open-source feedback management and roadmap tool that lets product teams collect, prioritize, and respond to user input — with AI-powered summarization and full self-hosting control.

View details
83
Repo Health
73
Technical
62
Dependency
Built with
Java 48%
TypeScript 47%
Updated 6 days ago
Rust
52%
Other

Jan

AI Assistants

44,680

Run LLMs 100% locally with full privacy, or connect to cloud AI — your machine, your data, your control.

View details
90
Repo Health
81
Technical
65
Dependency
Built with
Rust 52%
TypeScript 44%
Updated 4 days ago
TypeScript
77%
Other

Joplin

Note Taking

56,513

The privacy-first, open-source note-taking app with end-to-end encrypted sync, AI assistance, and a powerful plugin ecosystem across every platform.

View details
93
Repo Health
87
Technical
60
Dependency
Built with
TypeScript 77%
JavaScript 14%
Updated 5 days ago
PHP
78%
GPL 3.0

matomo

Analytics

21,905

Open-source, privacy-first web and app analytics that puts you in complete control of your data.

View details
95
Repo Health
82
Technical
62
Dependency
Built with
PHP 78%
Updated 4 days ago
Go
91%
Apache 2.0

Ory Kratos

Authentication

13,895

API-first identity and user management that handles login, registration, MFA, and recovery so your application never has to.

View details
81
Repo Health
78
Technical
65
Dependency
Built with
Go 91%
Updated 2 months ago
JavaScript
64%
AGPL 3.0

overleaf

Collaboration · Productivity

18,188

Open-source, real-time collaborative LaTeX editor with sandboxed compilation and full TeXLive support for self-hosted academic and research teams.

View details
87
Repo Health
80
Technical
62
Dependency
Built with
JavaScript 64%
TypeScript 30%
Updated 2 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers