Ratings aggregated from independent review platforms. Learn more
Preview
Key Features
SDK Generation (TypeScript, Python, Go, Java, Ruby, C#, PHP)Support for OpenAPI, AsyncAPI, OpenRPC, gRPC, Fern Definition specsCustom code extension for generated SDKsAutomated package publishing to registries (npm, pypi, maven)OAuth 2.0 support in SDKsServer-sent events (SSE) support in SDKsAutomatic pagination in SDKsPolymorphism (Unions) handling in SDKs
Fern is a platform that automates the generation of client libraries (SDKs) and comprehensive API documentation directly from your API specification. It supports various formats like OpenAPI, AsyncAPI, OpenRPC, gRPC, and its own Fern Definition. The generated SDKs are designed to be language-native, type-safe, and include features like OAuth 2.0, server-sent events, and automatic pagination, saving engineering time and improving developer experience.
Beyond SDK generation, Fern also provides a robust documentation platform. This platform allows users to create stunning, SEO-optimized API docs with features like API key injection, access control, versioning, and interactive API explorers. It supports customization with JavaScript, CSS, and React components, and even includes an AI assistant trained on your documentation. Fern aims to streamline the process of making APIs consumable and delightful for developers, reducing the manual effort involved in maintaining SDKs and documentation.
This tool is ideal for companies and development teams looking to improve the developer experience of their APIs by providing high-quality, automatically generated SDKs and interactive documentation. It helps reduce the overhead of maintaining client libraries across multiple languages and ensures documentation is always up-to-date with the API.
What API specification formats does Fern support for generating SDKs?
Fern can generate SDKs from various API specification formats, including OpenAPI, AsyncAPI, OpenRPC, gRPC, and its own simpler Fern Definition format. Users can import their existing specifications to begin the generation process.
How does Fern ensure that custom code added to generated SDKs is preserved during re-generation?
Fern allows users to extend the generated client with their own utility functions and custom logic. These custom code additions are designed to be preserved and will not be overwritten when the SDK is re-generated.
What advanced features are built into the SDKs generated by Fern?
Fern-generated SDKs include built-in support for features such as OAuth 2.0 with automatic token management, server-sent events (SSE) for real-time updates, automatic pagination, and handling of polymorphic data with native type safety.
How does Fern assist with the publication and versioning of generated SDK packages?
Fern semantically versions and publishes packages to their respective registries, such as npm for TypeScript, pypi for Python, and Maven for Java. This streamlines the distribution of client libraries.
What functionalities does Fern offer for enhancing API documentation beyond basic reference?
Fern's documentation platform includes features like SEO optimization, preview deployments for pull requests, automatic API key injection for interactive examples, and role-based access control (RBAC). It also supports federated authentication and versioning for multiple product releases.
Can I integrate custom React components into my documentation generated by Fern?
Yes, Fern allows users to build and embed their own custom React components directly into the documentation. This provides flexibility for tailoring the documentation to specific needs and branding.