Analysis updated 2026-06-24
Call JSON REST APIs from Node with automatic retries and typed responses
Stream large file downloads with progress events and HTTP/2 support
Paginate through API results using the built-in pagination API
Build a reusable API client with hooks, plugins, and shared instances
| sindresorhus/got | triggerdotdev/trigger.dev | airbnb/react-sketchapp | |
|---|---|---|---|
| Stars | 14,903 | 14,915 | 14,879 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 2/5 | 3/5 | 3/5 |
| Audience | developer | developer | designer |
Figures from each repo's GitHub metadata at analysis time.
Got is ESM-only and Node-only, CommonJS projects must convert to ESM, and browser code should use Ky instead.
Got is a Node.js library for making HTTP and HTTPS requests from JavaScript or TypeScript code. The README tagline calls it a human-friendly and powerful HTTP request library, which means it gives developers a tidy way to fetch web pages, call APIs, post JSON, stream files, and handle the surrounding details like retries, timeouts, and errors. Up front the README is unusually candid: the maintainers tell most readers to use Ky from the same author instead, because Ky works in browsers too and is built on the standard Fetch API. Got still gets a lot of use, but it is Node.js only and is shipped as a native ES module package, so projects still using CommonJS need to convert to ESM before installing it. Version 11 of Got is no longer maintained. The README shows a short example: import got, call got.post with a URL and a json option, then chain a .json() call on the returned promise to parse the response. By default Got retries failed requests automatically, and that behavior can be turned off through an options setting. The documentation index lists what Got can do: a promise API, a stream API, a pagination API, advanced HTTPS options, HTTP/2 support, detailed timeout and retry handling, errors with metadata, hooks, reusable instances, progress events, plugins, RFC-compliant caching, proxy support, Unix domain socket connections, integration with Node's diagnostics channel, and TypeScript types. The README also lists community plugins built on Got (for AWS, GitHub, GitLab, GraphQL, web scraping, and SSRF protection), migration guides from Request, Axios, and the built-in Node HTTP module, and a feature comparison table against other Node HTTP clients.
Got is a Node.js HTTP and HTTPS request library for JavaScript and TypeScript with retries, timeouts, streams, pagination, HTTP/2, caching, and proxy support.
Mainly TypeScript. The stack also includes Node, TypeScript, ESM.
MIT: free to use, modify, and redistribute in commercial or private projects with attribution.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.