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

Example
<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 — primary returns only the primary file’s @font-face (smaller CSS and fewer font downloads). Default all emits every mapped file in the family.
  • Fallback order: each @font-face uses multiple src entries in the order woff2 woff ttf/otf so 404s don’t break previews.

Font files are available under GET /fonts/<filename> on this host. Use those URLs in public integrations—avoid embedding long opaque URLs that are not served from this site.

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.

  1. Discover files via GET /api/catalog/fonts (or open a family in the catalog). Each row includes public fields such as name, slug, previewSrc (path on this site for the preferred web font), and fileLabel (primary filename). Prefer previewSrc when present; otherwise use /fonts/<fileLabel>.
  2. Build a download URL: absolute https://www.geezarchive.com+ previewSrc, or https://www.geezarchive.com/fonts/<filename>. Use HTTPS.
  3. Load in the app: download the bytes over HTTPS, then register the font with your platform's APIs (Flutter, React Native, or native iOS/Android font loading). Respect the family's license in your app.

Catalog API

GET /api/catalog/fonts returns JSON with data (font rows) and meta (pagination and totals, including total, hasMore, offset, limit—see each response for the full set of keys). Query parameters:

  • q: optional search string (name, slug, designer, publisher)
  • typeface: optional filter
  • limit: optional, default 50, max 200
  • offset: optional, default 0

Rows include public catalog fields; for stable URLs prefer previewSrc and fileLabel.

Example
https://www.geezarchive.com/api/catalog/fonts?q=loga&limit=20