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' } })