request

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

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

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
46/100Fair
Development Activity0
Maintenance0
Community84
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
64/100Good
Architecture65
Code Quality72
Innovation40
Learning Curve80

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

Low Code Platforms · Databases

15,526

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

View details
53
Repo Health
77
Technical
60
Dependency
Built with
TypeScript72%
Java22%
Updated 9 months ago
TypeScript
96%
Other

CapRover

Developer Tools · Devops · Hosting Control Panel

15,132

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
69
Dependency
Built with
TypeScript96%
Updated 3 days ago
JavaScript
99%
Other

ChartBrew

Analytics · Databases

4,041

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
65
Dependency
Built with
JavaScript99%
Updated 6 days ago
Java
48%
Apache 2.0

ClearFlask

Product Management · Community

448

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
63
Dependency
Built with
Java48%
TypeScript47%
Updated 2 weeks ago
TypeScript
75%
Other

Jan

AI Assistants

44,052

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
66
Dependency
Built with
TypeScript75%
Rust21%
Updated today
TypeScript
76%
Other

Joplin

Note Taking

56,003

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
62
Dependency
Built with
TypeScript76%
JavaScript15%
Updated yesterday
PHP
79%
GPL 3.0

matomo

Analytics

21,786

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
PHP79%
Updated today
Go
91%
Apache 2.0

Ory Kratos

Authentication

13,833

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

View details
85
Repo Health
78
Technical
69
Dependency
Built with
Go91%
Updated 3 weeks ago
JavaScript
63%
AGPL 3.0

overleaf

Collaboration · Productivity

18,035

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

View details
84
Repo Health
80
Technical
67
Dependency
Built with
JavaScript63%
TypeScript29%
Updated 1 months 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

Search