Tools/sindresorhus/ky

ky

Tiny elegant HTTP client based on Fetch

17.0k+8/wkgrowthTypeScriptMIT Licensetrending

The Lens

By Erik Loyd, SaaS CEO and former COO/CFO of an AWS Premier Partner.

Updated Mar 2026

Ky wraps Fetch in a tiny, elegant API that handles all of it. Same author as Got, but built on Fetch so it works in browsers, Deno, Bun, and Node 18+.

MIT licensed. It's intentionally small, about 5KB. You get retries on failure, timeout support, hooks (beforeRequest, afterResponse), and JSON shortcuts. `ky.get(url).json` instead of `const res = await fetch(url); if (!res.ok) throw.; return res.json`.

Fully free. npm package, no service, no paid tier.

The catch: Ky is minimal by design. If you need advanced features like request cancellation with progress tracking, HTTP/2, or streaming uploads, Got or Axios have more batteries included. And since Ky is built on Fetch, it inherits Fetch's limitations: no built-in cookie jar, no proxy support in Node without extra config. For pure API calls where you want a thin wrapper over Fetch, Ky is perfect. For complex HTTP needs, it might not be enough.

Free vs Self-Hosted vs Paid

fully free

Fully open source under MIT. npm package, zero cost. No hosted service, no paid tier.

~5KB gzipped, one of the lightest HTTP client libraries available.

Free. Tiny npm package, no paid tier.

Self-hosting ops:trivial

Get tools like this every Wednesday

One featured tool, three on the radar. No fluff.

Similar Tools

Score
74/100 · B+
Adoption25/30
Maintenance15/25
Community9/20
License15/15
Analysis10/10

A low score is not a verdict on quality. Young and niche tools start low by design. How we calculate scores

Trust Signals

High adoption: 16,739 starsPermissive license (MIT)

About

Stars
17,015
Forks
485

Explore Further

More tools in the directory