Fern provides a platform for generating idiomatic, type-safe SDKs in popular programming languages, streamlining API development. It automates the creation of client libraries from API definitions, offers beautiful, auto-updating documentation, and integrates seamlessly into CI/CD workflows. Developers praise Fern for its high-quality SDKs that feel hand-written and for its robust support and flexibility in enhancing generated code.
SDKs
Idiomatic client libraries in popular languages for your API
Docs
A beautiful documentation website with an exceptional API reference
SDKs
Offer type-safe SDKs in the most popular languages
Let Fern do the heavy lifting of generating and publishing client libraries so your team can focus on building the API.
Step 1
Import your API
Import your API definition, whether it's in OpenAPI or Fern's simpler format.
openapi: 3.0.3
paths:
"/benefits/{id}":
get:
operationId: benefits_retrieve
description: Retrieves a `Benefit` object
parameters:
- …
Fern Definition
OpenAPI specification
Step 2
Generate yourSDKs
Select which code generators you'd like to use:
TypeScript, Python, Java, Go, Ruby, C#, Swift
Step 3
Publish yourpackages
Fern semantically versions and publishes packages to each registry (e.g. npm, pypi, maven).
Java
Ruby
Python
Node
Go
C#
Swift
npm install @mergeapi/merge-node-client
Docs
Beautiful API documentation that reflects your brand
API docs that auto-update — no human touches required.
SDK code snippets
Integrate in CI
Versioning
Markdown support
Submit Workflow Execution Actuals
This endpoint lists all documents. You may optionally filter using query parameters.
and then you’ll get a bunch of cool new stuff.
import { VellumClient } from “vellum-ai”
const vellum = VellumClient(api_key="API_KEY")
result = await vellum.documents.list({
documentIndexId: "59ca1aa4-c919-...",
"next": "https://api.vellum.ai/next?page=2",
"id": "6289e235-88c6-425e-97be-cdb419fddd52",
"external_id": "doc_e65ce15c",
"last_uploaded_at": "2023-09-27T00:03:22Z",
"processing_state": "PROCESSED",
What developers are saying
Kian Hooshmand
Co-founder at Vocode
So much better than the openapi generators!
Gil Feig
CTO at Merge.dev
We used an alternative SDK 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.
Steve Yazicioglu
Head of Engineering
at Candid Health
Fern sped up new API development by at least 50%.
The bits sped up are the most tedious, annoying parts. 🔥
Ashley Mulligan
Head of Developer Experience
at Flatfile
The Node.js library they produce is idiomatic and very similar to how we’d write it manually: the SDK is resource-based and Fern natively supports union types.
A monumental improvement to the Flatfile developer experience versus the OpenAPI generator.
Andrew Israel
CEO at PropelAuth
I really dislike most autogenerated code, but Fern’s genuinely feels like we have a developer writing it - would highly recommend.
Nikolas Huebecker
Co-founder at Onward
We migrated our API and SDK to them over a weekend. They provide exceptional support!
Joe McKenney
CTO at Dopt
The sleek and modern CLI made integrating Fern into our monorepo’s versioning and publishing workflows trivial.
Sandeep Dinesh
CTO at Mercoa
We use Fern to build our API and UI elements, and couldn’t be happier! End to end type safety and client/server generation gives us the ability to move very quickly.
Even better, we get great SDKs and API docs without any additional work!
Noa Flaherty
CTO at Vellum
We use Fern to autogenerate our Python and Node API clients from our OpenAPI spec. The clients are high quality, easy to update, and the Fern team moves blazing fast on feature requests.
Robust
Idiomatic
Each SDK gives the impression of being hand-written by an expert in the language.
Strongly typed
Get type safety and auto-complete when you hover your cursor over a type in the SDK.
Retry logic
Choose a retry mechanism for API calls, such as exponential backoff.
Flexible
Add custom code
Enrich the automatically generated code with custom additions, such as utility functions or a wrapper around the generated client.
Server-sent events
SDK users get autocompletion for events returned by the API and can traverse through them with a simple `for` loop.
Webhooks
Get webhook functions to set up webhook endpoints, manage incoming payloads, and validate signatures to confirm the authenticity of the requests.
Automated
CI/CD integration
Use the Fern CLI in your build process to automatically generate code and update your SDKs.
GitHub app
We'll open a PR to update your SDK repo whenever your API changes.
SDK code snippets
Show developers how to use your SDKs. The code examples are populated in your documentation automatically.
Built by a team from
and
We are fortunate to work with some of the best investors in the world
Abhinav Asthana
CEO, Postman
Arash Ferdowsi
Co-founder, Dropbox
Cindy Bi
General Partner, CapitalX
Jo Zhu
Investor, Pear VC
Avlok Kohli
CEO, AngelList
Benny Joseph
CTO, Allbirds
Austen Allred
CEO, BloomTech
Reed McGinley-Stempel
CEO, Stytch
Katey Caldwell
Investor, TwentyTwo VC