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.

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.
.avif)
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
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
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.

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
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
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
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
Developer Relations Engineer
2 engineers
time freed up annually