Fern website screenshot

Fern

Fern is a developer-tools platform that turns a single API specification into idiomatic client SDKs, beautiful API documentation, and MCP servers. Given OpenAPI, AsyncAPI, gRPC/Protobuf, or Fern's own Fern Definition as input, Fern generates type-safe SDKs in TypeScript, Python, Go, Java, C#, PHP, Ruby, Swift, and Rust, publishes them to registries like npm, PyPI, and Maven, and builds a hosted docs site with an interactive API reference, API playground, and an AI-powered "Ask Fern" search. The primary interface is the open-source `fern` CLI (Apache-2.0, github.com/fern-api/fern) driving a hosted platform - the fern-api catalog documents Fern's SDK-generation, documentation-generation, and Fern Definition capability surfaces as capability areas, plus the one hosted public REST API Fern exposes to customers, the Ask Fern API. Fern is open-core: the CLI and generators are open source, and Docs and SDKs are sold on Hobby (free), Team, and Enterprise plans.

Fern publishes 5 APIs on the APIs.io network, including Ask API, Website Sources API, and 3 more. Tagged areas include API Lifecycle, SDK Generation, Client Library, API Documentation, and Developer Tools.

Fern’s developer surface includes authentication, documentation, developer portal, signup flow, engineering blog, and 10 more developer resources.

26.6/100 thin ▲ 5.1 Agent 23/100 agent aware Front door AI 5/6 prominent open core · Apache-2.0 Full breakdown ↓
scored 2026-10-04 · rubric v0.23.0
AccessFreemiumSelf serve⚡ Free to try
1 published contract3 Not an API
API LifecycleSDK GenerationClient LibraryAPI DocumentationDeveloper ToolsOpenAPICLIOpen SourceDeveloper ExperienceDocumentation

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-10-04 · rubric v0.23.0
Regulatory Posture applies to this provider. Its tags matched the Education & Research regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
The six quality facets above are damped to 75 points between them, because the conditional facet above carries the other 25. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 75% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/fern-api: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

What adopting Fern moves on the Kin Score 19

Fern is an area vendor: providers adopt it to run part of their developer surface. This is the Kin Score checks its features can move for a provider that adopts it, what each one really earns, and what it earns nothing for.

documentationsdk generationmeasured15 features checked 2026-09-25 · rubric v0.22.0

Fern reaches further than any documentation-only vendor: generated SDKs published to the provider’s own registries earn sdk_count_1 and sdk_count_3, the CLI generator earns cli_present, and fern api enrich merges AI-generated examples into the OpenAPI, the one route here into contract-side examples. The docs side adds llms.txt, an RFC 9727 api-catalog, a served OpenAPI 3.1 and a place to publish skills the provider writes. The qualifiers: the docs MCP server is one Ask-Fern template graded platform, SDKs and the CLI count only once published and declared, the CLI generator is early access, and the served contract only adds a contract for a provider whose source is not already OpenAPI.

Agent Readiness41.5 of 139 pts
Contract Quality29.0 of 211 pts
Developer Ergonomics23.0 of 42 pts
Discoverability10.0 of 54 pts
Operational Transparency6.0 of 38 pts
CheckEarnsThrough
Machine-Readable Contractsaturated
Agent Readiness · customers 0.0 pts vs controlSame as contract_present — only when the served spec is the provider’s first OpenAPI.
18.0 of 18 Served OpenAPI 3.1 (and AsyncAPI 2.6)
Request/Response Examples
Agent Readiness · customers -19.4 pts vs controlEnrichment covers every endpoint, so the share clears the verified tier; same model-generated caveat.
7.0 of 7 AI-generated examples and `fern api enrich`
Agent Skills
Agent Readiness · customers +17.0 pts vs controlProvider-authored on the provider’s domain, so first-party. Fern’s own fern-docs skill teaches agents to edit Fern sites and earns the provider nothing.
5.0 of 5 Provider-authored Agent Skills hosting
Well-Known Catalog
Agent Readiness · customers +51.2 pts vs controlDeclare the api-catalog URL as an APICatalog / WellKnown pointer.
4.0 of 4 RFC 9727 api-catalog
MCP Serverplatform
Agent Readiness · customers +32.5 pts vs controlOne Fern-hosted Ask-Fern template answering docs questions (2 AI credits per call); 0.22.0 grades that platform (0.25 of 12).
3.0 of 12 MCP server for the docs site
Publishes a machine-readable contractsaturated
Contract Quality · customers +1.6 pts vs controlOnly when the provider’s source is a Fern definition, gRPC or OpenRPC and the served /openapi.json becomes its first published OpenAPI.
20.0 of 20 Served OpenAPI 3.1 (and AsyncAPI 2.6)
Serves a .well-known surface
Discoverability · customers +7.7 pts vs controlServe the docs at the root of a host the harvest probes (docs.) and keep the site public; under a basepath the catalog moves to /.well-known/api-catalog, and an authenticated site returns an empty linkset.
6.0 of 6 RFC 9727 api-catalog
Change log
Operational Transparency · customers +8.6 pts vs controlKeep the changelog folder current and declare it as a ChangeLog pointer.
6.0 of 6 Changelog pages with RSS
Three or more SDKs
Developer Ergonomics · customers -4.3 pts vs controlPublish three or more SDKs and declare each as an SDK pointer.
4.0 of 4 SDK generation in nine languages
Examples present
Contract Quality · customers -16.6 pts vs controlThe examples are model-generated from the definition, not captured from real traffic; the check does not distinguish, and this file says so.
4.0 of 4 AI-generated examples and `fern api enrich`
Documentationsaturated
Developer Ergonomics · customers +5.0 pts vs control95% of providers with a contract, docs and a reference already earn this; the vendor cannot move it for most of its buyers.
4.0 of 4 Fern Docs hosted site and API reference
Publishes llms.txt
Discoverability · customers +25.6 pts vs controlGenerated from the provider’s own docs on the provider’s domain, so it reads as the provider’s (rule 2’s own-content, own-domain case).
4.0 of 4 Generated llms.txt at every level
At least one SDK
Developer Ergonomics · customers +20.7 pts vs controlPublish at least one generated SDK to a public registry under its own name and declare it as an SDK pointer.
3.0 of 3 SDK generation in nine languages
Command-line interface
Developer Ergonomics · customers +4.8 pts vs controlGet into the early-access programme, publish the CLI, and declare it as a CLI pointer.
3.0 of 3 CLI generator
Console or sandbox
Developer Ergonomics · customers +9.7 pts vs controlDeclare the explorer as a Console pointer.
3.0 of 3 API Explorer
API referencesaturated
Developer Ergonomics · customers +1.1 pts vs control94% of providers with a contract, docs and a reference already earn this; the vendor cannot move it for most of its buyers.
3.0 of 3 Fern Docs hosted site and API reference
Agent Skill
Developer Ergonomics · customers +17.0 pts vs controlSame artifact as agent_skills.
3.0 of 3 Provider-authored Agent Skills hosting
Idempotencyconditional
Agent Readiness · customers +3.6 pts vs controlOnly if the API already honours an idempotency key and the definition declares it; the SDK header cannot create server-side de-duplication.
4.5 of 9 SDK idempotency headers, retries and pagination
OpenAPI 3.1conditional
Contract Quality · customers +50.9 pts vs controlOnly when the served 3.1 document is the provider’s published contract; version checks read the provider’s original, so a 3.0 source re-served as 3.1 does not count.
5.0 of 5 Served OpenAPI 3.1 (and AsyncAPI 2.6)
21 detected customers vs 5195 comparable providers: composite 54.1 vs 48.0, agent readiness 40.1 vs 32.5. Association, not cause.
Across 8977 providers that publish a contract, adopting Fern would move 8977. Median lift: composite +11.1 (90th percentile +13.7), agent readiness +11.5 (+13.7). Conditional rows excluded.
What Fern ships that earns nothing (2)
  • Fern-to-Postman generator (deprecated) — Fern’s Postman generator is deprecated; a collection now comes from the provider importing its own OpenAPI into Postman.
  • MCP server for the docs site — The MCP server is advertised by page actions, not by any of the four well-known documents; only the api-catalog row earns this check.

A model, not a score. Adopting this vendor changes a provider's Kin Score only when the provider publishes the resulting artifacts on its own surface; nothing here writes a score, and no sponsorship or partnership can. The rating is not for sale → · Full vendor facets artifact

APIs 5

Individual APIs this provider publishes. MODELED: a real API behind a partner or contract gate; there is no public reference, so API Evangelist drew its shape. NOT AN API: a product area with no API behind it, not counted.

Fern SDK Generation

Capability area (CLI/platform, not a hosted REST API) that generates idiomatic, type-safe client SDKs in TypeScript, Python, Go, Java, C#, PHP, Ruby, Swift, and Rust from OpenAP...

NOT AN API

Fern API Documentation

Capability area (CLI/platform) that builds a hosted documentation website with a generated API reference, interactive API playground, changelogs, versioning, keyword search, and...

NOT AN API

Fern Definition and CLI

Capability area covering Fern's open-source (Apache-2.0) command-line interface and the proprietary Fern Definition API-description format. Core commands include `fern init`, `f...

NOT AN API

Fern Ask API

Query indexed documentation for AI-generated, grounded answers.

Fern Website Sources API

Index documentation websites and check indexing job status.

Open Collections 4

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

API Collection

OPEN COLLECTION

Fern Fern Ask API

OPEN COLLECTION

Fern Ask Fern API

OPEN COLLECTION

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Fern Api Rate Limits

4 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Fern Api Authentication

http · 1 scheme

SECURITY

Fern Api Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Fern Api Agentic Access

3 operations · 1 acting

3 operations · 1 acting

AGENTIC

Resources

Get Started 2

Portal, sign-up, and the first successful call

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 2

MCP servers, agent skills, and machine-readable catalogs

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: fern-api
url: https://raw.githubusercontent.com/api-evangelist/fern-api/refs/heads/main/apis.yml
name: Fern
kind: company
description: 'Fern is a developer-tools platform that turns a single API specification into idiomatic client SDKs, beautiful
  API documentation, and MCP servers. Given OpenAPI, AsyncAPI, gRPC/Protobuf, or Fern''s own Fern Definition as input, Fern
  generates type-safe SDKs in TypeScript, Python, Go, Java, C#, PHP, Ruby, Swift, and Rust, publishes them to registries like
  npm, PyPI, and Maven, and builds a hosted docs site with an interactive API reference, API playground, and an AI-powered
  "Ask Fern" search. The primary interface is the open-source `fern` CLI (Apache-2.0, github.com/fern-api/fern) driving a
  hosted platform - the fern-api catalog documents Fern''s SDK-generation, documentation-generation, and Fern Definition capability
  surfaces as capability areas, plus the one hosted public REST API Fern exposes to customers, the Ask Fern API. Fern is open-core:
  the CLI and generators are open source, and Docs and SDKs are sold on Hobby (free), Team, and Enterprise plans.'
deliveryModel:
  model: open-core
  license: Apache-2.0
  license_evidence:
    repo: fern-api/fern
    spdx: Apache-2.0
    stars: 3785
  open_source: true
  commercial: true
  callable_host: true
  label: Open core · an OSS project plus a commercial hosted product
  confidence: medium
  source:
  - openapi
  - pricing
  - repository-license
  generated: '2026-09-25'
  method: derived
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: medium
  source:
  - plans
  - authentication
  generated: '2026-09-03'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/fern-api.png
tags:
- API Lifecycle
- SDK Generation
- Client Library
- API Documentation
- Developer Tools
- OpenAPI
- CLI
- Open Source
- Developer Experience
- Documentation
tags_raw:
- API Lifecycle
- SDK Generation
- Client Library
- API Documentation
- Developer Tools
- OpenAPI
- CLI
- Open Source
- Developer Experience
- Open-Source
- Documentation
created: '2026-07-11'
modified: '2026-07-11'
specificationVersion: '0.23'
apis:
- aid: fern-api:fern-api-sdk-generation
  x-published: false
  name: Fern SDK Generation
  tags:
  - SDK Generation
  - Client Library
  - Developer Tools
  - API Lifecycle
  image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
  humanURL: https://buildwithfern.com/learn/sdks/overview
  properties:
  - url: https://buildwithfern.com/learn/sdks/overview
    type: Documentation
  - url: https://buildwithfern.com/learn/cli-api-reference/cli-reference/commands
    type: APIReference
  - url: https://github.com/fern-api/fern
    type: SourceCode
  description: Capability area (CLI/platform, not a hosted REST API) that generates idiomatic, type-safe client SDKs in TypeScript,
    Python, Go, Java, C#, PHP, Ruby, Swift, and Rust from OpenAPI, AsyncAPI, gRPC, or Fern Definition input. Driven by `fern
    generate`; SDKs are published to GitHub and registries (npm, PyPI, Maven). Endpoints are modeled from the CLI surface
    rather than a public REST API.
- aid: fern-api:fern-api-documentation
  x-published: false
  name: Fern API Documentation
  tags:
  - API Documentation
  - Developer Portal
  - Docs as Code
  - Developer Experience
  image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
  humanURL: https://buildwithfern.com/learn/docs/getting-started/overview
  properties:
  - url: https://buildwithfern.com/learn/docs/getting-started/overview
    type: Documentation
  - url: https://buildwithfern.com/learn/docs/api-references/generate-api-ref
    type: APIReference
  - url: https://github.com/fern-api/fern
    type: SourceCode
  description: Capability area (CLI/platform) that builds a hosted documentation website with a generated API reference, interactive
    API playground, changelogs, versioning, keyword search, and docs-as-code (Markdown + git) authoring. Driven by `fern generate
    --docs` and `fern docs dev`. Endpoints are modeled from the CLI and platform surface rather than a public REST API.
- aid: fern-api:fern-api-definition-cli
  x-published: false
  name: Fern Definition and CLI
  tags:
  - CLI
  - API Design
  - API Lifecycle
  - Developer Tools
  image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
  humanURL: https://buildwithfern.com/learn/cli-api-reference/cli-reference/commands
  properties:
  - url: https://buildwithfern.com/learn/cli-api-reference/cli-reference/commands
    type: Documentation
  - url: https://buildwithfern.com/learn/api-definitions/openapi/authentication
    type: APIReference
  - url: https://github.com/fern-api/fern
    type: SourceCode
  description: Capability area covering Fern's open-source (Apache-2.0) command-line interface and the proprietary Fern Definition
    API-description format. Core commands include `fern init`, `fern check`, `fern generate`, `fern login`, `fern token`,
    `fern export`, and `fern docs dev`. Endpoints are modeled from the CLI surface, not a hosted REST API.
- aid: fern-api:fern-api-ask-api
  name: Fern Ask API
  description: Query indexed documentation for AI-generated, grounded answers.
  humanURL: https://buildwithfern.com/learn/sdks/overview
  baseURL: https://fai.buildwithfern.com
  tags:
  - Ask
  properties:
  - type: OpenAPI
    url: openapi/fern-api-ask-api-openapi.yml
  - type: Documentation
    url: https://buildwithfern.com/learn/docs/ai-features/ask-fern/api-reference/overview
  - type: APIReference
    url: https://buildwithfern.com/learn/docs/ai-features/ask-fern/api-reference/website/get-website-status
  - type: PostmanCollection
    url: collections/fern-api.postman_collection.json
  - type: OpenCollection
    url: collections/fern-api.opencollection.json
- aid: fern-api:fern-api-website-sources-api
  name: Fern Website Sources API
  description: Index documentation websites and check indexing job status.
  humanURL: https://buildwithfern.com/learn/sdks/overview
  baseURL: https://fai.buildwithfern.com
  tags:
  - Website Sources
  properties:
  - type: OpenAPI
    url: openapi/fern-api-website-sources-api-openapi.yml
  - type: Documentation
    url: https://buildwithfern.com/learn/docs/ai-features/ask-fern/api-reference/overview
  - type: APIReference
    url: https://buildwithfern.com/learn/docs/ai-features/ask-fern/api-reference/website/get-website-status
  - type: PostmanCollection
    url: collections/fern-api.postman_collection.json
  - type: OpenCollection
    url: collections/fern-api.opencollection.json
common:
- type: DomainSecurity
  url: security/fern-api-domain-security.yml
- type: VendorFacets
  url: vendor-facets/fern-api-vendor-facets.yml
- type: AgenticAccess
  url: agentic-access/fern-api-agentic-access.yml
- type: Authentication
  url: authentication/fern-api-authentication.yml
- type: GitHubOrganization
  url: https://github.com/fern-api
- type: LinkedIn
  url: https://www.linkedin.com/company/buildwithfern
- type: Website
  url: https://buildwithfern.com
- type: Documentation
  url: https://buildwithfern.com/learn/home
- type: Portal
  url: https://buildwithfern.com/learn/home
  name: Fern Developer Portal
- type: SignUp
  url: https://dashboard.buildwithfern.com/sign-up
  name: Fern Dashboard Sign Up
- type: Plans
  url: plans/fern-api-plans-pricing.yml
- type: RateLimits
  url: rate-limits/fern-api-rate-limits.yml
- type: FinOps
  url: finops/fern-api-finops.yml
- url: https://buildwithfern.com/blog
  type: Blog
- type: MCP
  url: https://buildwithfern.com/learn/_mcp/server
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
x-parent: postman
x-relationship: acquisition
x-acquired: 2026
x-correction-request:
  requested: '2026-10-03'
  source:
  - apis.io Influence-tier request queue (kinlane-test-influence)
  request: 'Influence-tier artifact submission dd0e782a (2026-09-23): MCP at https://buildwithfern.com/learn/_mcp/server.
    Verify it is live and real (MCP: initialize/tools/list or server card; OpenAPI: paths), then record it as a pointer and
    harvest it.'

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/fern-api"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/fern-api/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/fern-api/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.