Got

Human-friendly and powerful HTTP client library for Node.js. Built on Node.js streams with automatic retry support, timeout handling, JSON parsing, hooks system, caching, and TypeScript support. Got v12+ is ESM-only, supporting modern JavaScript module systems. Offers a rich feature set over native fetch: automatic retry with backoff, request/response hooks for middleware patterns, pagination helpers, Unix domain socket support, and RFC-compliant redirect handling.

Evaluated Mar 06, 2026 (0d ago) v13.x (ESM)
Homepage ↗ Repo ↗ Developer Tools http node request fetch streams retry typescript esm got
⚙ Agent Friendliness
69
/ 100
Can an agent use this?
🔒 Security
91
/ 100
Is it safe for agents?
⚡ Reliability
84
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
90
Error Messages
88
Auth Simplicity
95
Rate Limits
95

🔒 Security

TLS Enforcement
100
Auth Strength
90
Scope Granularity
90
Dep. Hygiene
88
Secret Handling
88

TLS verification enabled by default. No auto-credential storage. Hook system allows secure credential injection. Redirect following is configurable to prevent SSRF-like redirect attacks.

⚡ Reliability

Uptime/SLA
90
Version Stability
82
Breaking Changes
75
Error Recovery
90
AF Security Reliability

Best When

You're building Node.js applications or agents that make many outbound HTTP requests and need retry logic, streaming, pagination, or a hook-based middleware system.

Avoid When

You need browser/universal HTTP (use axios), are on CJS without ESM support (use axios or node-fetch v2), or need only basic fetch functionality (use native fetch).

Use Cases

  • Make HTTP API calls from Node.js with automatic retry on network errors and configurable backoff using got.extend() configured instances
  • Stream large HTTP responses directly to disk or other streams without buffering entire responses in memory
  • Build robust HTTP client wrappers with got.extend() to add authentication headers, base URLs, and request interceptors
  • Implement pagination over REST APIs using Got's got.paginate() helper that handles cursor/page-based pagination
  • Make authenticated API calls with automatic token refresh via Got's hooks (beforeRequest, afterResponse) for middleware patterns

Not For

  • Browser-side HTTP — Got is Node.js only; use native fetch or axios for browser/universal code
  • Simple one-off requests where native fetch suffices — if you're on Node 18+, built-in fetch is adequate for basic use cases
  • CommonJS projects requiring CJS imports — Got v12+ is ESM-only; use axios or node-fetch v2 for CJS

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
Yes
Webhooks
No

Authentication

Methods: none
OAuth: No Scopes: No

No built-in auth — configure via headers option or beforeRequest hooks. Got instances can be extended with default auth headers. Supports all auth schemes via header configuration.

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

Fully free and open source, MIT licensed.

Agent Metadata

Pagination
cursor
Idempotent
Full
Retry Guidance
Documented

Known Gotchas

  • Got v12+ is ESM-only — cannot be require()'d in CommonJS modules; must use dynamic import() or migrate to ESM, or use Got v11 for CJS compatibility
  • got.extend() creates a new instance with merged defaults — use this pattern for configuring base URLs and auth headers; don't pass options object to every call
  • Automatic retry is enabled by default for network errors — set retry: { limit: 0 } to disable if calling non-idempotent endpoints where retrying could cause duplicate operations
  • Streams and JSON response parsing are mutually exclusive — use responseType: 'json' for JSON or got.stream() for streaming, not both
  • Timeout option has separate fields for connect, send, response — 'timeout: 5000' sets all; set individually with timeout: { connect: 1000, response: 30000 } for fine-grained control
  • Got hooks (beforeRequest, afterResponse) run in registration order — when multiple hooks modify request/response, order matters; use hook index carefully

Alternatives

Full Evaluation Report

Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for Got.

$99

Scores are editorial opinions as of 2026-03-06.

5208
Packages Evaluated
26151
Need Evaluation
173
Need Re-evaluation
Community Powered