GetMan GetMan

A Lightweight Swagger UI Alternative

A common setup for embedding docs inside a React app is swagger-ui-react — which pulls in React, ReactDOM, and the package itself before rendering a single endpoint. That’s a reasonable cost if you’re already shipping a React app. It’s dead weight if you’re not, and it’s a build step you have to maintain either way.

What actually makes a viewer heavy

It’s rarely the rendered output — most OpenAPI viewers produce broadly similar HTML for a given spec. The weight comes from what’s required to get there: a hard dependency on a framework runtime even when the host page isn’t already using one, a bundler configuration just to produce a working build, and — for large specs — a deeply nested component tree that has to re-render as you navigate.

How GetMan stays light

GetMan ships as one script tag with no framework dependency and no build step. It works the same way whether it’s dropped into a plain static HTML page, a WordPress custom-HTML block, or a fully framework-driven app — you’re calling one imperative function, not wiring up a component tree:

<div id="api-docs" style="height: 100vh"></div>
<script src="https://cdn.getman.dev/latest/getman-ui.js"></script>
<script>
  GetMan.launch(document.getElementById('api-docs'), {
    url: 'https://your-api.com/openapi.json',
  });
</script>

If you are already in React or Vue and want a more idiomatic integration than a raw script tag, the React and Vue guides cover wrapping that same call in a component — the underlying weight doesn’t change either way.

Where it matters most

The difference is most noticeable on large specs — hundreds of endpoints, deeply nested schemas. That’s also why GetMan includes a ⌘K command palette: jumping straight to a named endpoint or schema stays fast regardless of spec size, rather than relying on scrolling through a fully rendered tree to find it.

An honest caveat

Against other single-script, no-framework viewers — RapiDoc, Scalar, ReDoc — the practical page-weight difference is marginal; none of them ship a framework runtime either, so “lightweight” isn’t much of a differentiator in that comparison. Where it’s a real, measurable difference is specifically against React- or Vue-wrapped viewers used outside a matching app — that’s the comparison this page is about.

Try it with your own spec

Paste any OpenAPI or Swagger URL and see it rendered live — no signup, no install.

Open the explorer