Fern | Why Fern? Reasons to choose Fern to build REST APIs

Amazon built Smithy. Palantir built Conjure. Google built gRPC. Facebook built GraphQL and Thrift.

These inventions all share a common design: schema-first automation for API development. This saves developer time and increases product velocity.

We built Fern to productize this design and make it accessible to all software companies.

Schema-first API design

Fern embraces schema-first API design: You first define your API in Fern. After that, you implement your API and generate helpful outputs, like SDKs or API documentation.

With schema-first API design, you unlock a few benefits:

  1. Best practices built-in. Our compiler will warn you against common anti-patterns and pitfalls.
  2. A single source of truth. No more keeping your OpenAPI spec up-to-date with your backend. Out-of-date documentation is a problem of the past.
  3. A simple format encourages collaboration. An easy-to-write format means that backend and frontend devs can collaborate on API design. If you have multiple dev teams, a standardized format makes it easy for teams to learn about and consume each other’s APIs.

Product velocity

”Building 2 new APIs this last 1.5 weeks with Fern was awesome - I bet it sped up new API development by at least 50%. The bits that were sped up was the most tedious, annoying bits too. Very thankful to be using Fern right now!”

     - Steve Yazicioglu, Head of Engineering, Candid Health

The Fern compiler handles the tedious and time-consuming developer work that goes into building a new API. This frees up developer time to build your product faster.

On the server-side, Fern generates the types and networking logic for you. Just implement the business logic, and you’re good to go.

When consuming your new API, Fern’s auto-generated SDKs are a dream. You get client libraries to use in tests, your frontend, and other microservices. They let you build faster.

  • Think in terms of operations, not HTTP. Endpoint calls are just function calls. No need to hardcode HTTP paths or append query parameters.
  • Type safety to ensure you’re using the API correctly. If you’re not, you’ll get compile errors.
  • Auto-completion in code editors instead of reading backend code to understand the API.

And unlike most auto-generated SDKs, ours are idiomatic and feel handwritten. You’ll be excited to show them off to your customers.