Algumas Web APIs não são relevantes no contexto de um runtime server-first como o Bun, como a DOM API ou History API. Muitas outras, porém, são amplamente úteis fora do contexto do browser; quando possível, o Bun implementa estas Web APIs standard em vez de introduzir novas APIs.
As seguintes Web APIs são parcial ou completamente suportadas.
| Categoria | APIs |
|---|---|
| HTTP | fetch, Response, Request, Headers, AbortController, AbortSignal |
| URLs | URL, URLSearchParams |
| Web Workers | Worker, self.postMessage, structuredClone, MessagePort, MessageChannel, BroadcastChannel |
| Streams | ReadableStream, WritableStream, TransformStream, ByteLengthQueuingStrategy, CountQueuingStrategy e classes associadas |
| Blob | Blob |
| WebSockets | WebSocket |
| Encoding e decoding | atob, btoa, TextEncoder, TextDecoder |
| JSON | JSON |
| Timeouts | setTimeout, clearTimeout |
| Intervals | setInterval, clearInterval |
| Crypto | crypto, SubtleCrypto, CryptoKey |
| Debugging | console, performance |
| Microtasks | queueMicrotask |
| Errors | reportError |
| User interaction | alert, confirm, prompt (destinado para CLIs interativas) |
| Realms | ShadowRealm |
| Events | EventTarget, Event, ErrorEvent, CloseEvent, MessageEvent |