Tools/sindresorhus/ky

ky

Tiny elegant HTTP client based on Fetch

17.1k+2/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.

What to do by team size

Solo
free; a good default if you want a Fetch-based HTTP client
Small team
free; pick Ky or Got and standardize on one
Medium team
free
Large team
free
Self-hosting ops:trivial

Get tools like this every Wednesday

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

Similar Tools

Score
84/100 · A
Adoption25/30
Maintenance25/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,073
Forks
494

Explore Further

More tools in the directory