What Fern is#
Fern generates client libraries and a documentation site from one API definition. The CLI and the generators are Apache 2.0 on GitHub. Generation runs Fern's generator images in Docker, on Fern's cloud or on your machine, and local generation asks for a Fern API key to verify your organization. The self-hosted mode in which no definition leaves your infrastructure is an Enterprise feature. The commercial half is Fern Docs, a hosted documentation platform with custom domains, versioning, search and an interactive API reference wired to the same definition.
The SDK languages are TypeScript, Python, Go, Java, C# and .NET, PHP, Ruby, Swift and Rust, with C++ and Kotlin on request. The generated clients carry retries with backoff, automatic pagination, idempotency headers, webhook signature verification, server URL templating and per-language dynamic authentication. Since the acquisition Fern also emits Postman collections from the same definition. Since 2026 a CLI generator, in early access on request, produces a single statically linked Rust binary from an OpenAPI document or a GraphQL introspection schema. It has JSON output and structured help for agents.
Inputs are unusually broad: OpenAPI for REST and webhooks, AsyncAPI for WebSockets, Protobuf for gRPC, and OpenRPC, alongside the Fern Definition, a definition format of Fern's own that you can author directly instead of hand-maintaining OpenAPI.
Fern says more than two hundred companies use it, and names Square, Auth0, Adobe, Twilio and ElevenLabs among them. Cloudflare's Forge, compared on this site, drives Fern's generators for the SDKs it wraps. SDK pricing is a free tier limited to Python and TypeScript with an endpoint cap, a paid team tier, and an enterprise tier priced per SDK and billed annually. Fern Docs is priced separately, and the figures are on Fern's pricing page.