Skip to main content

Frequently asked questions.

The short answers, with links to the long ones. If yours is missing, the docs index maps every guide.

Is it free?

ApiGlow is MIT-licensed and fully open source. There is no paid tier, no cloud version, no account — no business model at all. That’s the point.

Does my schema or my traffic leave the browser?

No. Requests go straight from the reader’s browser to your API. No analytics, no telemetry, and no server of ours — there is nothing to send data to. History, environments and scenarios live in the reader’s own browser storage.

Which OpenAPI versions are supported?

OpenAPI 3.0.x, 3.1.x and 3.2.x natively; Swagger 2.0 is converted at load. OpenAPI Overlay 1.1 is applied at load, and Arazzo workflows are imported (1.0 and 1.1) and exported (1.1.0).

Why can't the try-it console reach my API?

CORS: your API must allow the documentation’s origin. ApiGlow diagnoses the failure in the UI and supports a proxy you host (tryIt.proxyUrl) — it ships none. See Try-it & CORS.

Can I brand it as my own?

Product name, logo, themes and footer links — yes. The small “Powered by” line and the About dialog stay: a CDN install ships no LICENSE file, and that dialog is where the bundled open-source components’ notices live. See the theming guide.

Do I depend on a CDN?

Only if you want to. npm install apiglow gives you the whole dist/ directory: copy it into your static files, point the script tag at your own origin, and nothing leaves it at runtime — no third party in your CSP, and the version pinned in your lockfile. Keep app.js beside its app.css, i18n/ and fonts/: it resolves them relative to itself, which is also why it doesn’t go through a JavaScript bundler. See Installation.

How big is it?

One file: app.js is ~289 KB gzipped as of v0.1.0, plus ~39 KB of CSS; the French UI pack (~24 KB gzipped) downloads only if French is active. Not tiny — but it is the whole product: five runtime dependencies, zero framework, and inside that file an audit engine, an Arazzo runner, a Swagger 2.0 converter, 35 themes and snippets in ten languages.

Which browsers are supported?

The declared floor is Chrome/Edge 111, Firefox 128 and Safari/iOS 16.4 — platform features rated Baseline “widely available”, no polyfills: anything above the floor is feature-detected and degraded instead. The end-to-end suite runs on Chromium, Firefox and WebKit, desktop and mobile emulation; Chromium gates every change, the other engines run on demand.

Is it fast on a large schema?

The performance budgets are enforced in CI against a 12 MB, 1220-operation schema — the frozen GitHub REST API: usable in under a second, no task blocking the page longer than 500 ms, a Cmd+K answer in under 200 ms, deep schema bodies and docs pages in under 400 ms. The budget ceilings may only ever go down — the tooling refuses a raise. The live demo pairs the Petstore with a 1.15 MB, 143-operation second spec — large enough to click around in, without inflicting a 12 MB download on a visitor.

Is it accessible?

ApiGlow targets WCAG 2.2 AA on the interactive paths — navigation, try-it, search — with an axe sweep gating CI, color contrast included, plus a whole-page keyboard walk and a 320-px reflow suite: the sweep runs on both of the app’s own themes and enforces the AA floor like any other rule. Getting there meant making secondary text a color rather than an opacity, since opacity multiplies through a subtree and no ratio computed on a token predicts what actually renders. Two honest limits the project states itself: the contrast promise covers the themes it authors — a ratio fixed on its own palette says nothing about the 35 stock daisyUI themes it also ships, nor about one of yours — and no full screen-reader pass has been done yet.

Can search engines and AI crawlers read the docs?

Out of the box, every route announces itself — per-route titles, a meta description and JSON-LD. For the crawlers that run no JavaScript, apiglow bake writes a static HTML and Markdown mirror of every operation, guide and scenario, plus a sitemap and a served llms.txt — one author-side command, the reader’s install unchanged. And seo: { index: false } keeps internal docs out. See SEO & the bake CLI.

Can I open the docs from a file:// URL?

No. The app is an ES module and fetches its assets, and browsers block both on file://. Any static HTTP(S) server works, including one-liners like python3 -m http.server. See Installation.

Can I hide internal endpoints?

Yes — "x-apiglow-hide": true in the schema, or openapi.hide patterns in the config; hidden operations disappear from the nav, the search and the exports. This is documentation hiding, not security: the browser still downloads the full schema. See Schema control.