Skip to main content
Bun provides a fast HTTP server via Bun.serve().

Basic Server

Bun.serve({
  port: 3000,
  fetch(request) {
    return new Response("Hello World");
  },
});

Routing

Bun.serve({
  port: 3000,
  fetch(request) {
    const url = new URL(request.url);
    
    if (url.pathname === "/") {
      return new Response("Home");
    }
    
    if (url.pathname === "/api/users") {
      return Response.json({ users: [] });
    }
    
    return new Response("Not Found", { status: 404 });
  },
});

JSON API

Bun.serve({
  async fetch(request) {
    if (request.method === "POST") {
      const data = await request.json();
      return Response.json({ received: data });
    }
    return Response.json({ message: "Hello" });
  },
});
See HTTP Server API for complete documentation.

Build docs developers (and LLMs) love