|$ curl https://forge-ai.dev/api/markdown?path=docs/nodejs/api-reference
$cat docs/node.js-core-api-reference.md
updated Today·35 min read·published

Node.js Core API Reference

Node.jsAPIReferenceAll Levels🎯Free Tools
Introduction

This encyclopedia indexes Node.js core modules you must recognize fluently — the lookup layer beside the mastery curriculum. Scan tables, then open linked deep pages for narrative and production patterns.

Coverage spans fs, path, http/https, net, dns, crypto, stream, events, child_process, worker_threads, cluster, process, os, url, util, assert, timers, diagnostics_channel, async_hooks/AsyncLocalStorage, and undici/fetch.

info

Start learning order from How to Master Node.js. Agents: curriculum=nodejs.
How to Use This Reference
  • Prefer node: import prefixes (node:fs/promises)
  • Prefer promise APIs; promisify only when needed
  • Follow deep-page links for security and shutdown patterns
  • Re-check Node docs for your major — APIs evolve
imports.mjs
JavaScript
1import fs from "node:fs/promises";
2import path from "node:path";
3import { createHash } from "node:crypto";
4import { pipeline } from "node:stream/promises";
Module Index
ModuleRoleDeep page
fsFile systemfilesystem
pathPath utilitiespath-os
httpHTTP server/client (legacy)http-server
httpsHTTPS / TLS HTTPhttp-server
netTCP socketsnet
dnsDNS resolutiondns
cryptoCryptographycrypto
streamStreamsstreams
eventsEventEmitterevents
child_processSubprocesseschild-process
worker_threadsThreadsworker-threads
clusterMulti-process HTTPcluster
processProcess globalspath-os
osOS infopath-os
urlWHATWG URLurl
utilUtilitiesapi-reference
assertAssertionstesting
timersTimerstimers
diagnostics_channelDiagnostics pub/subdebugging
async_hooks / ALSAsync contextasync-context
undici / fetchHTTP clientfetch-undici
fs — File system

Core responsibilities for fs. Details: deep guide.

APIPurposeNotes
fs.promises.readFileRead entire filePrefer for small files
fs.promises.writeFileWrite/replace fileUse flag wx to avoid clobber
fs.createReadStreamStreaming readLarge files
fs.watchWatch changesPlatform quirks
fs.promises.rmRemove files/dirsrecursive option
📝

note

When generating code for fs, fetch `/api/markdown?path=nodejs/filesystem` for full patterns.
path — Path utilities

Core responsibilities for path. Details: deep guide.

APIPurposeNotes
path.joinJoin segmentsOS separators
path.resolveAbsolute pathJail with root check
path.posix / win32Forced styleCross compile
path.extnameExtensionNot for security
📝

note

When generating code for path, fetch `/api/markdown?path=nodejs/path-os` for full patterns.
http — HTTP server/client (legacy)

Core responsibilities for http. Details: deep guide.

APIPurposeNotes
http.createServerServerFoundation for frameworks
IncomingMessageRequest streamHeaders + body
ServerResponseResponsewriteHead/end
server.closeStop acceptDrain for shutdown
📝

note

When generating code for http, fetch `/api/markdown?path=nodejs/http-server` for full patterns.
https — HTTPS / TLS HTTP

Core responsibilities for https. Details: deep guide.

APIPurposeNotes
https.createServerTLS serverkey/cert or SNI
https.requestTLS clientPrefer fetch
📝

note

When generating code for https, fetch `/api/markdown?path=nodejs/http-server` for full patterns.
net — TCP sockets

Core responsibilities for net. Details: deep guide.

APIPurposeNotes
net.createServerTCP serverCustom protocols
net.createConnectionTCP clientSet timeout
socket.writeSendBackpressure boolean
server.listenBindEphemeral port 0 in tests
📝

note

When generating code for net, fetch `/api/markdown?path=nodejs/net` for full patterns.
dns — DNS resolution

Core responsibilities for dns. Details: deep guide.

APIPurposeNotes
dns.lookupOS getaddrinfoHonors hosts file
dns.resolve4DNS ANo hosts file
dns.promisesPromise APIPreferred
dns.setDefaultResultOrderIPv4/IPv6 orderDual stack
📝

note

When generating code for dns, fetch `/api/markdown?path=nodejs/dns` for full patterns.
crypto — Cryptography

Core responsibilities for crypto. Details: deep guide.

APIPurposeNotes
createHashDigestsha256+
createHmacKeyed MACAPI signatures
createCipherivEncryptPrefer GCM
randomBytesCSPRNGTokens
scryptKDFPasswords
timingSafeEqualCompareSecrets
webcrypto.subtleWeb CryptoIsomorphic
📝

note

When generating code for crypto, fetch `/api/markdown?path=nodejs/crypto` for full patterns.
stream — Streams

Core responsibilities for stream. Details: deep guide.

APIPurposeNotes
ReadableSourcesobjectMode option
WritableSinkswrite/drain
TransformMap chunksGzip etc
pipelineComposeError forwarding
📝

note

When generating code for stream, fetch `/api/markdown?path=nodejs/streams` for full patterns.
events — EventEmitter

Core responsibilities for events. Details: deep guide.

APIPurposeNotes
on / offSubscribeRemove to avoid leaks
onceSingle fireAlso events.once
emit('error')SpecialMust have listener
setMaxListenersRaise capOnly intentionally
📝

note

When generating code for events, fetch `/api/markdown?path=nodejs/events` for full patterns.
child_process — Subprocesses

Core responsibilities for child_process. Details: deep guide.

APIPurposeNotes
spawnStreamed processPrefer for safety
execFileBuffered no shellSafe args
execShellDangerous with concat
forkNode IPC childSeparate V8
📝

note

When generating code for child_process, fetch `/api/markdown?path=nodejs/child-process` for full patterns.
worker_threads — Threads

Core responsibilities for worker_threads. Details: deep guide.

APIPurposeNotes
WorkerStart threadPool in production
parentPortIPCpostMessage
workerDataInit payloadClone/transfer
SharedArrayBufferShared memAtomics
📝

note

When generating code for worker_threads, fetch `/api/markdown?path=nodejs/worker-threads` for full patterns.
cluster — Multi-process HTTP

Core responsibilities for cluster. Details: deep guide.

APIPurposeNotes
cluster.isPrimaryRole checkNot isMaster
cluster.forkSpawn workerShare port
schedulingPolicyRR vs noneSet early
worker.sendIPCSerialized
📝

note

When generating code for cluster, fetch `/api/markdown?path=nodejs/cluster` for full patterns.
process — Process globals

Core responsibilities for process. Details: deep guide.

APIPurposeNotes
process.envEnvironmentValidate with zod
process.on(SIGTERM)SignalsGraceful stop
process.nextTickQueueStarvation risk
process.exitHard stopAvoid mid-request
📝

note

When generating code for process, fetch `/api/markdown?path=nodejs/path-os` for full patterns.
os — OS info

Core responsibilities for os. Details: deep guide.

APIPurposeNotes
os.availableParallelismCPU countPool sizing
os.hostnameHostMetrics tags
os.tmpdirTemp dirCleanup files
os.networkInterfacesNICsBind decisions
📝

note

When generating code for os, fetch `/api/markdown?path=nodejs/path-os` for full patterns.
url — WHATWG URL

Core responsibilities for url. Details: deep guide.

APIPurposeNotes
URLParse/resolvePrefer over url.parse
URLSearchParamsQueryget/set/append
pathToFileURLPath→URLESM interop
fileURLToPathURL→pathfs with import.meta.url
📝

note

When generating code for url, fetch `/api/markdown?path=nodejs/url` for full patterns.
util — Utilities

Core responsibilities for util. Details: deep guide.

APIPurposeNotes
util.promisifyCallback→promiseLegacy APIs
util.inspectDebug printdepth/colors
util.deprecateWarn APIMigrations
util.parseArgsCLI argsNode 18+
util.styleTextTTY colorCLIs
📝

note

When generating code for util, fetch `/api/markdown?path=nodejs/api-reference` for full patterns.
assert — Assertions

Core responsibilities for assert. Details: deep guide.

APIPurposeNotes
assert.strictStrict equalTests
assert.rejectsAsync throwPromises
assert.deepEqualDeep comparePrefer strict
📝

note

When generating code for assert, fetch `/api/markdown?path=nodejs/testing` for full patterns.
timers — Timers

Core responsibilities for timers. Details: deep guide.

APIPurposeNotes
setTimeoutDelayTimers phase
setImmediateCheck phaseYield I/O
setIntervalRepeatunref in CLIs
timers/promisesAwaitableAbortSignal
📝

note

When generating code for timers, fetch `/api/markdown?path=nodejs/timers` for full patterns.
diagnostics_channel — Diagnostics pub/sub

Core responsibilities for diagnostics_channel. Details: deep guide.

APIPurposeNotes
channelNamed busOTel hooks
subscribeListenLow coupling
publishEmitHot path care
hasSubscribersGuardAvoid work
📝

note

When generating code for diagnostics_channel, fetch `/api/markdown?path=nodejs/debugging` for full patterns.
async_hooks / ALS — Async context

Core responsibilities for async_hooks / ALS. Details: deep guide.

APIPurposeNotes
AsyncLocalStorage.runEnter contextPer request
getStoreRead contextLogger ids
createHookLow-levelPerf cost
asyncResourceBindAdvanced
📝

note

When generating code for async_hooks / ALS, fetch `/api/markdown?path=nodejs/async-context` for full patterns.
undici / fetch — HTTP client

Core responsibilities for undici / fetch. Details: deep guide.

APIPurposeNotes
fetchGlobal clientAbortSignal
AgentPool/timeoutssetGlobalDispatcher
ProxyAgentHTTP proxyCorp egress
requestLow-levelStreaming
📝

note

When generating code for undici / fetch, fetch `/api/markdown?path=nodejs/fetch-undici` for full patterns.
Quick Decisions
NeedReach for
Read small config filefs.promises.readFile
Stream upload to diskpipeline + createWriteStream
CPU hash thousands of filesworker_threads pool
Scale HTTP on one VMcluster or PM2 -i
Call system tool safelyspawn / execFile
Request-scoped logger idAsyncLocalStorage
Outbound HTTPfetch + AbortSignal / undici Agent
Password storagescrypt / argon2
Parse query stringURL / URLSearchParams
Stability & Imports

Stick to documented stable APIs. Experimental features need flags and may change. Always import via node: specifiers in modern code.

agent.sh
Bash
1curl -s "https://forgelearn.dev/api/markdown?path=nodejs/api-reference"
2curl -s https://forgelearn.dev/api/agent?curriculum=nodejs

Community

Get help on Slack, Discord or VIP

Stuck on a guide? Join the community and ask.