Instant Docs and SDKs for your API

Start with OpenAPI. Generate SDKs in multiple languages and interactive API documentation tailored to your brand.

Products

Elevate your developer experience

Start with Docs, SDKs, or both — it’s your choice.

SDK Generation

SDKs that are designed by language experts

Every generated SDK respects the idioms of the language, contains strong types, inlined docs, and intuitive error handling.

How SDK Generation Works

Just run fern generate

Fern generates and publishes client libraries, so you can focus on building the API.

1

Import your API spec

Start with OpenAPI, AsyncAPI, gRPC or our simpler format, the Fern Definition.

Select a spec
2

Select languages to generate

We support TypeScript, Python, Go, Java, Ruby, C# & PHP.

Swift & Rust coming soon.

3

Add custom code

Extend the generated client with utility functions and custom logic.

Your changes won’t be overwritten on re-generation.

4

Publish packages

Fern semantically versions and publishes packages to each registry (e.g. npm, pypi, maven)

composer require your-company/your-company-php
> dotnet add package YourCompany.Net --version 1.0.0
gem install your_company
compile "com.your-company:java-sdk:1.0.0"
go get github.com/your-company/go-sdk
pip install your-company
npm install your-company
SDK Features

Every feature you need, built-in

Fern SDKs support OAuth 2.0, server-sent events, auto-pagination and more.

Automatic updates via CI/CD

Use the Fern CLI to generate SDKs as part of your release process.

OAuth 2.0

Handle OAuth 2.0 authentication seamlessly with automatic token management and refresh.

Server sent events

Stream real-time updates effortlessly with built-in SSE support.

Auto pagination

Automatically iterate through paginated data with built-in pagination helpers.

Polymorphism (Unions)

Handle complex polymorphic data with native type safety in every language.

Audiences

Filter your API definition to the endpoints and properties you want included in your SDK.

Multipart form uploads

Seamlessly handle multipart uploads with built-in utilities for streaming binary data and MIME types.

Retries with exponential backoff

Automatically retry failed requests and maximize the uptime of your API.

Idempotency headers

Send idempotency headers to ensure safe retries for sensitive operations (e.g. sending payments).

Code Snippets over API

Fetch SDK code samples from our API and embed them in your application.

Dependency vulnerability scanning

Fern adheres to an SLA to detect and remediate vulnerable dependencies.

We partnered with Fern for SDKs, and after seeing their docs platform, it was a no-brainer to expand.

Vic Plummer
Dev Content Lead at
Built
with
Docs Features

Everything you need to impress your users

Stunning by default, easy to update, and designed to convert.

Docs as code

Use git to version and release changes to your documentation.

SEO optimized

Fern uses industry best practices to make your website fast and SEO optimized to rank.

Preview deployments

Preview changes to your documentation with a unique URL for each pull request.

API key injection

Automatically populate API keys so that users can instantly make API calls and see realistic responses.

Access control (RBAC)

Assign role-based permissions and configure what content a user can access.

Federated authentication

Secure your documentation behind auth. Fern supports SSO, OAuth, and username + password.

Versioning

Document and manage multiple versions of your product or API to support users across different releases.

WebSockets

Document your WebSocket send and receive events with an AsyncAPI spec.

Interact with the WebSocket via an API Explorer that lets you establish live connections.

Component library

Leverage prebuilt components like cards, accordions, tabs, and code blocks.

Customize with JavaScript and CSS

Customize your docs with JavaScript and CSS to match your brand identity and extend functionality.

Bring your own React component

Build custom React components and embed them in your docs.

AI chat

Interact with an AI assistant trained on your docs to quickly find answers and troubleshoot issues.

/llms.txt

Serve an llms.txt with no extra effort, allowing agents to understand the capabilities of your product.

Enterprise

Fern for Enterprise.
Your SDK team.

We partner with you to perfect your OpenAPI spec and launch SDKs that scale to millions of downloads.

Powering SDKs for world-class companies

Enterprise

Fern for Enterprise.
Your Docs team.

Our team creates a custom theme, migrates all your content, and launches your site.

Providing gorgeous Docs for world-class companies

Built with

Fern automated SDK maintenance, allowing us to support all popular programming languages without needing dedicated engineering resources. Working with the Fern team is like having 'McKinsey for APIs' -- they bring expert-level guidance in OpenAPI and SDK design.

Liz Moy

Liz Moy

Senior Developer Relations Engineer

Partnering with Fern, we went from 1 SDK → 4 SDKs and are set up to offer whatever language developers ask for next. Fern also generates our documentation website that perfectly matches Cohere's unique brand identity.

Billy Trend

Billy Trend

Developer Relations Engineer

We used an alternative SDK generator, OpenAPI Generator, for years, and customers constantly complained. Since adopting Fern, customers have migrated rapidly to our new SDKs and have been blown away by the quality.

Gil Feig

Gil Feig

CTO

The Fern team helped us offer a top-tier developer experience. They embedded with our docs team, migrated over 700+ pages of content, and created an intuitive information architecture across API reference, guides and SDK reference.

Matt Makai

Matt Makai

VP of Developer Experience

The Fern Definition is absolutely fantastic. Compared to OpenAPI, it's more ergonomic and comes with powerful capabilities - you can organize endpoints by resource, import types across files, and represent complex APIs like server sent events and websockets.

Kabir Goel

Kabir Goel

Founding Engineer

Fern is a mission-critical part of Candid's API. Keeping our docs, SDKs, and server implementation in sync was a nightmare. Fern enabled us to adopt API-first development — our engineers update the spec, run fern generate, and everything stays perfectly aligned.

Steve Yazicioglu

Steve Yazicioglu

Head of Engineering

Fern has been instrumental in delivering an incredible onboarding experience to our customers. We often get compliments in sales calls and during new pilot onboardings about the quality of our docs.

Michael Bauer

Michael Bauer

Software Engineer at Nominal