ky is a library, providing an alternative to fetch in JavaScript. Works in both frontends and backends.

Offers more concise syntax:

import ky from 'ky';
 
const json = await ky.post('https://example.com', {json: {foo: true}}).json();
 
console.log(json);
//=> `{data: '🦄'}`

With fetch, this would be code for the same result:

class HTTPError extends Error {}
 
const response = await fetch('https://example.com', {
	method: 'POST',
	body: JSON.stringify({foo: true}),
	headers: {
		'content-type': 'application/json'
	}
});
 
if (!response.ok) {
	throw new HTTPError(`Fetch error: ${response.statusText}`);
}
 
const json = await response.json();
 
console.log(json);
//=> `{data: '🦄'}`

Benefits over fetch / axios: