> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

# Build with Fern

> Build better developer experiences. Generate SDKs in TypeScript, Python, Go, Java, C#, PHP, Ruby, Swift & Rust. Create interactive API docs with AI search.

## SDKs

Generate client libraries in multiple languages.

Get started with: [TypeScript](/learn/sdks/generators/typescript/quickstart), [Python](/learn/sdks/generators/python/quickstart), [Go](/learn/sdks/generators/go/quickstart), [Java](/learn/sdks/generators/java/quickstart), [C#](/learn/sdks/generators/csharp/quickstart), [PHP](/learn/sdks/generators/php/quickstart), [Ruby](/learn/sdks/generators/ruby/quickstart), [Swift](/learn/sdks/generators/swift/quickstart), [Rust](/learn/sdks/generators/rust/quickstart)

* [Introduction](/learn/sdks/overview/introduction)
* [Quickstart](/learn/sdks/overview/quickstart)
* [Customers](https://buildwithfern.com/showcase)

## Docs

A beautiful, interactive documentation website.

* [Introduction](/learn/docs/getting-started/capabilities)
* [Quickstart](/learn/docs/getting-started/quickstart)
* [AI features](/learn/docs/ai-features/overview)
* [Fern Editor](/learn/docs/writing-content/fern-editor)
* [Bring your own API spec](/learn/docs/api-references/generate-api-ref)
* [Gate docs by role](/learn/docs/authentication/features/rbac)
* [Self-host your docs](/learn/docs/self-hosted/overview)
* [Customers](https://buildwithfern.com/showcase#docs-customers.alldocs-features)

## Ask Fern

AI search to find answers in your documentation instantly.

* [Introduction](/learn/docs/ai-features/ask-fern/overview)
* [Configure](/learn/docs/ai-features/ask-fern/overview)
* [Customers](https://buildwithfern.com/showcase#ask-fern-customers)

## Supported specs

Select one or more specs to generate SDKs and Docs.

* [OpenAPI](/learn/api-definitions/openapi/overview)
* [AsyncAPI](/learn/api-definitions/asyncapi/overview)
* [OpenRPC](/learn/api-definitions/openrpc/overview)
* [gRPC](/learn/api-definitions/grpc/overview)

## Community

* [Changelog](/learn/docs/changelog): See the most recent product updates.
* [GitHub](https://github.com/fern-api/fern): Follow progress and contribute to the codebase.
* [X](https://x.com/buildwithfern): Get updates on the Fern platform.

## Help

Fern offers lightning-fast support. If you're a customer, reach out via your dedicated Slack channel.

* [File a GitHub issue](https://github.com/fern-api/fern/issues)
* [Email us](mailto:support@buildwithfern.com)
* [Book a demo](https://buildwithfern.com/book-demo)

## Frequently Asked Questions

### What is Fern?

Fern is a developer tooling platform that generates SDKs in TypeScript, Python, Go, Java, C#, PHP, Ruby, Swift, and Rust from your API definition, and publishes beautiful, interactive API documentation websites — all from a single source of truth.

### What API specification formats does Fern support?

Fern supports OpenAPI, AsyncAPI, OpenRPC, and gRPC. You can use one or more of these specs to generate both SDKs and documentation.

### Does Fern generate SDKs automatically?

Yes. Fern reads your API definition and generates idiomatic, production-ready client libraries in multiple languages. The generated SDKs include type safety, error handling, pagination, retries, and more.

### What is Ask Fern?

Ask Fern is an AI-powered search feature built into Fern Docs. It lets readers ask natural-language questions and get instant answers sourced directly from your documentation.

### Can I use Fern for both SDKs and documentation?

Yes. Fern is designed to handle both. You can generate SDKs, publish docs, or do both from the same API definition and configuration.