Skip to content

Replacements for axios

Native fetch API

The native fetch API is available in Node.js (since v18.x) and all modern browsers. For most HTTP requests, it can replace axios without extra dependencies.

Example:

js
// GET
const res = await fetch('https://api.example.com/data')
const data = await res.json()

// POST
await fetch('https://api.example.com/data', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ key: 'value' })
})

ky

ky is a lightweight HTTP client based on the Fetch API with timeout support, hooks (interceptors) and other helpers.

Example:

js
import ky from 'ky'

const api = ky.create({
  prefixUrl: 'https://api.example.com',
  timeout: 5000, // ms
})

const data = await api.get('users').json()

ofetch

ofetch s a fetch wrapper with automatic JSON parsing, request/response interceptors, and retries.

Example:

js
import { ofetch } from 'ofetch'

const api = ofetch.create({
  baseURL: 'https://api.example.com',
})

const data = await api('/user', { query: { id: 123 } })
const created = await api('/items', { method: 'POST', body: { name: 'A' } })

Released under the MIT License. (61697726)