Skip to main content

Free vs Pro

@apiboost/omnispec — the free core — is a complete, production-ready API documentation renderer. It is published under the Apache-2.0 license on the public npm registry, has no runtime license check, and is not a time-limited trial. If your APIs are described with OpenAPI or AsyncAPI, the free core renders them fully, including interactive Try-It, code samples, theming, and a framework-agnostic web component.

Apiboost OmniSpec Pro is a separate, proprietary package (@apiboost/omnispec-pro) that extends the free core with additional spec renderers, deeper white-labeling, premium vendor extensions, and interactive OAuth. Pro is a drop-in superset: it re-exports everything in Free and swaps in a Pro-wired renderer, so nothing you build on Free is thrown away when you upgrade.

info

The public documentation site fully documents everything the free core does. Pro capabilities are named and summarized here, but their configuration syntax and recipes live in the Pro documentation. Where a page mentions a Pro feature, it also states what the free core does instead.

At a glance

DimensionFree (@apiboost/omnispec)Pro (@apiboost/omnispec-pro)
LicenseApache-2.0 (open source)Proprietary (commercial)
RegistryPublic npmGitHub Packages (license-validated)
RenderersOpenAPI 2.0 / 3.0 / 3.1, AsyncAPI 2.x / 3.x+ GraphQL (SDL + introspection), SOAP / WSDL, gRPC / Protobuf
Try-ItYes — direct (browser) and proxiedInherited from Free
AuthenticationAPI key, Basic, Bearer, OAuth2 with manual token paste+ Interactive OAuth: Authorization Code + PKCE "Get Token", OpenID Connect, the oauth prop
Code samples6 languages (cURL, JavaScript, Python, Go, Java, C#), customizable with x-codeSamplesInherited from Free
Themingtheme.base (light / dark / auto) + raw --omnispec-* CSS-variable overrides on .omnispec-root+ theme.overrides — structured white-labeling across 70+ design tokens
Vendor extensionsx-logo, x-codeSamples, x-tagGroups, x-displayName, x-badges, x-internal, x-enumDescriptions+ x-flowVariables, x-tokenEndpointAuthMethod (interactive-OAuth Try-It extensions)
Schema renderingTree view with cross-links+ schemaStyle 'table' / 'card' layouts
Try-It proxyExpress middleware (@apiboost/omnispec/server) with SSRF guard, rate limiting, allow-listingInherited from Free
External $refSame-origin auto-resolve; cross-origin allow-list with SSRF + fetch limitsInherited from Free
Web component<omnispec-renderer> custom element (any framework)Inherited from Free (renders OpenAPI/AsyncAPI; Pro renderers are React-only today)
Slots, sidebar nav, layout / display / navigation modesYesInherited from Free
SupportCommunity (GitHub issues)Commercial support and SLAs

What the free core does when a Pro feature is requested

The free core is designed to degrade gracefully — it never crashes when it encounters something Pro would render:

  • Unsupported spec types (GraphQL, SOAP, gRPC) display a styled upgrade prompt instead of the document.
  • theme.overrides passed to the free core is ignored; set the same design tokens as raw --omnispec-* CSS variables on .omnispec-root to achieve the same white-labeling in Free.
  • OAuth2 security schemes are rendered with the flow details visible and a manual token-paste field; the interactive "Get Token" button is a Pro capability.
  • Vendor extensions honored by the free core are x-logo, x-codeSamples, x-tagGroups, x-displayName, x-badges, x-internal, and x-enumDescriptions. The Pro-only interactive-OAuth extensions x-flowVariables and x-tokenEndpointAuthMethod are carried through but not interpreted without Pro — the document still renders.

When you need Pro

Reach for Apiboost OmniSpec Pro when you need to:

  • Render GraphQL, SOAP/WSDL, or gRPC APIs alongside your OpenAPI/AsyncAPI docs.
  • Ship a fully white-labeled portal via structured theme.overrides rather than hand-authored CSS variables.
  • Give consumers one-click OAuth (Authorization Code + PKCE) or OpenID Connect discovery in the Try-It panel instead of pasting tokens manually.
  • Get commercial support with response-time commitments.

Upgrading is a package swap: import OmniSpecRenderer from @apiboost/omnispec-pro instead of @apiboost/omnispec, and every free feature keeps working. Learn more at apiboost.com.