Fern: Generate Type-Safe SDKs and API Documentation from OpenAPI

Summary
Fern is a powerful platform that streamlines API development by transforming your API definitions into production-ready SDKs and comprehensive documentation. It supports various API specifications, including OpenAPI, and offers multi-language SDKs, interactive developer documentation, and AI-powered search. This tool significantly enhances the developer experience by automating crucial parts of the API lifecycle.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
Fern is an innovative platform designed to simplify the process of creating and maintaining API SDKs and documentation. By taking your API definitions, such as OpenAPI, it automatically generates type-safe SDKs in multiple programming languages and beautiful, interactive developer documentation. This automation helps teams deliver a consistent and high-quality developer experience for their APIs.
Installation
Getting started with Fern is straightforward. You'll need Node 18+ installed.
First, install the Fern CLI globally:
npm install -g fern-api
Next, initialize Fern with your OpenAPI specification. You can point to a local file or a URL:
fern init --openapi ./path/to/openapi.yml
# or
fern init --openapi https://link.buildwithfern.com/plantstore-openapi
This command sets up the necessary configuration files in a fern/ directory.
Examples
After initializing Fern, you can generate your SDKs and documentation.
To generate your SDKs, simply run:
fern generate
This command processes your API definition and outputs your SDKs, for example, in /generated/sdks/typescript.
Fern also excels at building and hosting comprehensive API documentation. You can see examples of documentation built with Fern at:
Why use Fern?
Fern offers several compelling reasons for API providers to adopt it:
- Multi-language SDKs: Generate type-safe SDKs in TypeScript, Python, Java, Go, Ruby, PHP, C#, Swift, and Rust, ensuring broad compatibility for your users.
- Automated Documentation: Produce interactive, feature-rich developer documentation with auto-generated API and SDK references, dark mode, and customizable branding.
- AI Search: Enhance user experience with an AI assistant trained on your documentation, APIs, and SDKs, providing instant answers to developer questions.
- Broad Specification Support: Supports leading API specifications including OpenAPI (REST, Webhooks), AsyncAPI (WebSockets), Protobuf (gRPC), and OpenRPC.
- Streamlined Workflow: Automates the often tedious and error-prone process of SDK and documentation generation, allowing developers to focus on core API logic.
Links
- GitHub Repository: https://github.com/fern-api/fern
- Official Documentation: https://buildwithfern.com/learn/home
- Join the Community on Slack: https://buildwithfern.com/slack