A human-friendly and powerful HTTP request library for Node.js with advanced features like retries, caching, and HTTP/2 support.
Got is a comprehensive HTTP request library built for Node.js that simplifies making network calls with advanced features like automatic retries, caching, and HTTP/2 support. It solves the problem of handling complex HTTP interactions in server-side applications by providing a robust, human-friendly API that reduces boilerplate code.
Node.js developers building backend services, API clients, web scrapers, or any application requiring reliable HTTP communication with external services.
Developers choose Got for its extensive feature set, excellent performance, and strong TypeScript support. It offers capabilities missing in other libraries like RFC-compliant caching, advanced timeout handling, and a powerful hooks system, making it ideal for production-grade applications.
🌐 Human-friendly and powerful HTTP request library for Node.js
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Configurable retry mechanisms with exponential backoff and detailed timeout handling, as documented in the retry and timeout guides, ensuring reliability in production.
Built-in HTTP caching that adheres to RFC standards, reducing redundant network calls without external libraries, a feature unique among major HTTP clients.
Native HTTP/2 protocol support for performance and a full stream API for efficient large data handling, enabling multiplexing and progress tracking.
Errors include contextual information like timings and request details, aiding in debugging complex failures, as highlighted in the errors documentation.
Got is designed exclusively for Node.js, so it cannot be used in browser environments, limiting its applicability for full-stack projects.
The library only provides ESM exports, forcing CommonJS projects to undergo a conversion process, which the README warns can be a barrier.
With numerous dependencies for advanced features, Got has a larger install size compared to minimalist alternatives, as indicated by packagephobia badges.
got is an open-source alternative to the following products:
node-fetch is a lightweight module that brings the Fetch API to Node.js, providing a way to make HTTP requests similar to the browser's fetch() function.
Axios is a popular promise-based HTTP client for JavaScript and Node.js, used for making HTTP requests from browsers and Node.js environments.
request is a deprecated but widely used HTTP client library for Node.js, simplifying the process of making web requests with a streamlined API.
Superagent is an open-source AI agent framework for building, managing, and running autonomous AI agents using large language models.