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, so you can generate SDKs locally without an account. 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. The generated clients carry retries with backoff, automatic pagination, idempotency headers, webhook signature verification, server URL templating and per-language dynamic authentication.
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.