Fern: SDKs and Docs for your API (original) (raw)

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.

Check out live SDKs built with Fern

Check out live SDKs built with Fern

We evaluated several SDK generators and Fern stood out for its clean, language-native, and thoughtfully architected code.
The Fern team partnered with us every step of the way including OpenAPI improvements, alpha releases and launch announcements.

Jon Fellman

John Fellman

Head of Engineering, Developer Platform

$600k

saved in engineer salaries

How SDK Generation Works

Just run fern generate

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

Import your API spec

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

Select languages to generate

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

Swift & Rust coming soon.

Add custom code

Extend the generated client with utility functions and custom logic.

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

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.

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

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

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

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

Fern is absolutely elite. Fern made it easy for us to single-source our developer resources — from code examples in the docs to our Postman Collection and SDKs. Migrating to Fern was the the smoothest migration I’ve ever experienced, and we were live in under a month.

Casey Smith

Casey Smith

Lead Technical Writer

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

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

2 engineers

time freed up annually