API reference
Embed fonts with the CSS2 endpoint, fetch the catalog as JSON, and wire stable file URLs for production.
Compression & formats
Browsers support different file formats (WOFF2WOFFTTFOTF). The CSS API emits several src candidates per face so each browser can pick the best format it understands.
CSS API
<link rel="stylesheet" href="https://www.geezarchive.com/css2?family=Mahtot&display=swap" />
- family: required (name or slug)
- display: optional (swap, block, fallback…)
- faces: optional —
primaryreturns only the primary file’s@font-face(smaller CSS and fewer font downloads). Defaultallemits every mapped file in the family. - Fallback order: each
@font-faceuses multiplesrcentries in the orderwoff2→woff→ttf/otfso 404s don’t break previews.
Stable font URLs
Use the site's public path GET /fonts/<filename>. It responds with a redirect to the hosted font bytes. In HTML, CSS, apps, and docs, link to this hostname and path only—do not copy long third-party storage URLs from exports or admin screens.
https://storage.example.com/v1/buckets/…/objects/MyFont_abc123.ttf
https://www.geezarchive.com/fonts/MyFont_abc123.ttf
Summary: ship https://www.geezarchive.com/fonts/<filename> (or a same-origin relative /fonts/<filename>) in anything end users or integrators will see.
Mobile, Flutter, and native apps
The /css2 stylesheet is for browsers (HTML, WebView, Flutter web). On iOS, Android, Flutter mobile, React Native, there is no @font-face pipeline—load the font fileover HTTPS and register it with each platform's API.
- Discover files via
GET /api/catalog/fonts(or open a family in the catalog). Each row includes public fields such asname,slug,previewSrc(path on this site for the preferred web font), andfileLabel(primary filename). PreferpreviewSrcwhen present; otherwise use/fonts/<fileLabel>. - Build a download URL: absolute
https://www.geezarchive.com+previewSrc, orhttps://www.geezarchive.com/fonts/<filename>. Use HTTPS. - Load in the app: download bytes, then use Flutter
FontLoader/rootBundle, React Nativeexpo-fontloadAsyncwith a remoteuri, iOSCTFontManagerRegisterFontsForURL, AndroidTypeface/Fontfrom file or stream. Respect the family's license in your app.
Catalog API
GET /api/catalog/fonts returns JSON: data (font rows) and meta (public pagination fields: total, catalogTotal, returned, hasMore, offset, limit, optimizedAt, typeface). Query parameters:
- q: optional search string (name, slug, designer, publisher)
- typeface: optional filter
- limit: optional, default 50, max 200
- offset: optional, default 0
Rows mirror the public catalog fields; integrators should rely on documented fields such as previewSrc and fileLabel for stable URLs rather than copying raw paths from nested objects.
https://www.geezarchive.com/api/catalog/fonts?q=loga&limit=20