OrbitDocs packages are coming to npm soon. Until then, run it from the GitHub repo →
Open source · MIT · every feature free

API docs that live in your NestJS repo

Keep the @nestjs/swagger decorators you already have. OrbitDocs turns them into a Scalar-style reference, adds MDX guides, a built-in API client, private docs, Ask AI and SDKs, and ships one site you host anywhere.

Built and maintained byVitra.aiVitra.ai
bookings.controller.ts
1@ApiTags('Bookings')
2@Controller('v1/bookings')
3export class BookingsController {
4 /** Books seats on a flight for up to nine passengers. */
5 @Post()
6 @ApiOperation({ summary: 'Create a booking' })
7 @ApiResponse({ status: 409, description: 'Flight is full.' })
8 create(@Body() body: CreateBookingDto) {
9 return this.bookings.create(body);
10 }
11}
12
13export class CreateBookingDto {
14 @ApiProperty({ example: 'flt_2031_proxima' })
15 flightId: string;
16 @ApiProperty({ type: [PassengerDto], maxItems: 9 })
17 passengers: PassengerDto[];
18 @ApiPropertyOptional({ example: ['14A'] })
19 seats?: string[];
20}
Plain @nestjs/swagger — no extra decorators
docs.orbit-travel.dev/reference
Body
Responses

Works with the stack you already run

How it works

From controller to docs site in three steps

No second source of truth. The docs read your Nest app the way Swagger does, then build a site you own.

Describe your API

Use the @nestjs/swagger decorators you already have, or add OrbitDocs extras for samples, errors and notes.

Extract the spec

orbitdocs extract boots your module in Nest's preview mode. No provider starts, so no database or queue is touched.

Ship the site

orbitdocs build writes a static site for any host, or serve it from your own Nest app with private docs and Ask AI.

The product

One site for everything your developers need

Reference, client, guides, AI and access control share one navigation, one search and one theme.

docs.orbit-travel.dev/reference
The Orbit Travel API referenceThe Orbit Travel API reference
Everything in the box

Every feature, free, on your own servers

No account, no pricing tier, nothing behind a paywall. Turn on what you need in one config file.

Quickstart

An existing Nest app to a docs site in one command

orbitdocs init adds a docs app next to your API and asks which routes to show: only the ones you mark, or everything @nestjs/swagger already documents.

my-nest-api
code sample languages
SDK languages
ways to sign in readers
features behind a paywall
Compared

Everything Scalar sells, on your own servers

Scalar's reference and client are open source; its docs, registry, SDK and MCP products are hosted only. OrbitDocs gives you all of them to run yourself.

FeatureOrbitDocsScalar
API reference and API client
Guides in MDX
Self-hosted docs sitestatic export, your own server or Docker
Served from your NestJS app
Private docs with SSOPaid plan
Reuse your product loginSupabase, Clerk, Firebase, Appwrite
Ask AI and MCP serverPaid plan
SDK generationPaid plan
GitLab sync and previews
SCIM and audit log
PriceFree, MITPer seat
Live demo

Try it on a real API

Orbit Travel is a sample NestJS API documented with OrbitDocs: bookings, payments, seats, loyalty and webhooks.

Ship docs your developers want to read

Five minutes from an existing NestJS app to a searchable, deployable docs site.