
Fern
Open-core platform turning API specs into SDKs, docs sites, and AI search in minutes.
About
Fern is a developer-tools platform that turns a single API specification (OpenAPI, AsyncAPI, gRPC/Protobuf, or Fern's own Fern Definition format) into idiomatic client SDKs, a hosted documentation site, and MCP servers. The fern CLI is open source under Apache-2.0 — npm install -g fern-api, run fern init --openapi, then fern generate — and drives a hosted dashboard for publishing. Generated docs include an interactive API reference, an API playground, and 'Ask Fern', an AI assistant trained on your docs, APIs, and SDKs. SDKs publish to npm, PyPI, Maven, and other registries across TypeScript, Python, Go, Java, C#, PHP, Ruby, Swift, and Rust.
The honest caveat: the genuinely free part is the CLI and generators; hosted docs and managed SDK publishing sit on paid Team/Enterprise plans (Hobby is free but limited). Fern's own Definition format is powerful but proprietary — teams standardized on plain OpenAPI get slightly less of the magic. For pure SDK generation without the docs platform, Speakeasy's open-sourced generator may be the leaner choice.
What it can do
- Type-safe SDKs in 9 languages from one spec
- Hosted docs with interactive reference and API playground
- 'Ask Fern' AI search trained on your docs and SDKs
- MCP server generation for agent consumption
- Open-source CLI (Apache-2.0) with registry publishing
Setup
Install with npm install -g fern-api (Node 18+). Run fern init --openapi ./openapi.yml, configure generators in generators.yml, then fern generate. Connect to the hosted dashboard to publish docs.
Prerequisites
Node.js 18+. An OpenAPI/AsyncAPI/Protobuf spec, or willingness to adopt the Fern Definition format.
Use cases
Works with
Trust score — 7/10
Scored 7/10 (metrics tier, metrics-v1). Evidence: Verified via vendor site/docs/GitHub and reputable coverage, wave 46; Trending score 68/100 from researcher assessment.
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.