sindresorhus/got

Description: 🌐 Human-friendly and powerful HTTP request library for Node.js

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 2 hours ago
Added to GitGenius on July 3rd, 2026
Created on March 27th, 2014
Open Issues & Pull Requests: 0 (+0)
Number of forks: 992
Total Stargazers: 14,926 (-1)
Total Subscribers: 107 (+0)

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • ✭ help wanted ✭ (24)
  • enhancement (21)
  • external (13)
  • bug (12)
  • future (5)
  • good for beginner (3)
  • nodejs bug (2)
  • question (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 5.2 hours
Mean response time: 124.8 days
90th percentile: 670.6 days
Tracked items: 181

Most active contributors

Detailed Description

Got is a human-friendly and powerful HTTP request library for Node.js, written in TypeScript and designed as an alternative to other HTTP clients. The library is used by over 10,000 packages and 5 million repositories, making it one of the most widely adopted HTTP clients in the Node.js ecosystem. It is actively maintained with strong community support, as evidenced by its presence in repositories like nodejs/node, meteor/meteor, and microsoft/vscode through overlapping contributors.

The library provides both Promise-based and Stream APIs for making HTTP requests. The Promise API includes a dedicated JSON mode with a `.json<T>()` function that returns `Promise<T>`, along with advanced options like `parseJson` and `stringifyJson` for handling JSON payloads. The Stream API enables handling of large responses and streaming data. Got also offers a Pagination API for handling paginated endpoints, making it easier to work with APIs that return data in pages.

Got distinguishes itself through several advanced features not commonly found in competing libraries. It includes RFC-compliant caching, built-in cookie handling out-of-the-box, and advanced timeout handling with detailed timeout configuration options. The library implements automatic retries on failure by default, with configurable retry limits through the `options.retry.limit` setting. It supports HTTP/2 on Node.js 15.10.0 and above, provides Unix Domain Socket support, and includes comprehensive error handling with metadata-rich error objects.

The library supports hooks for request lifecycle customization, instance creation for managing multiple configurations, and a plugin system that has spawned ecosystem tools like got4aws for AWS API interactions, gh-got for GitHub API access, and got-scraping for web scraping purposes. Got also integrates with Node.js Diagnostics Channel for observability and provides full TypeScript support with type definitions.

According to GitGenius activity tracking, the repository shows a median issue and pull request response latency of 5.2 hours across 180 tracked items, indicating active maintenance. The primary maintainer sindresorhus has logged 303 events, with szmarczak contributing 240 events. The most frequently applied issue labels are help wanted with 24 occurrences, enhancement with 21, and external with 13, reflecting the project's openness to community contributions and feature requests.

The package is native ESM-only and no longer provides CommonJS exports, requiring projects to convert to ESM if they use CommonJS. Got v11 is no longer maintained. The README explicitly recommends Ky, also by the same author, as a smaller alternative that works in browsers and is built on the Fetch API, or fetch-extras for simpler use cases. Comparison tables in the documentation show Got's advantages over node-fetch, axios, and superagent, particularly in areas like pagination support, RFC-compliant caching, advanced timeouts, and composability. Migration guides are provided for users coming from the unmaintained Request library, Axios, or Node.js built-in HTTP modules.

got
by
sindresorhussindresorhus/got

Repository Details

Fetching additional details & charts...