All Posts
developer APICI/CDwebhooksfont license automationfont scanner API

The FontScanner Developer API: Font Checks in CI

Start a website, PDF, or image scan with an API key. Poll for JSON or register a webhook — and fail the build when an unlicensed commercial font shows up.

The FontScanner Developer API: Font Checks in CI

Same engine, from a pipeline

A dashboard scan is the right tool for a human. A pull request is not a human with a browser tab.

The Developers section is FontScanner as JSON: start a job, wait (or don’t), act on commercial matches.

One authentication scheme — X-API-Key — and three start routes:

  • POST /api/ci/scans/website — crawl a domain
  • POST /api/ci/scans/pdf — upload a brochure or brand PDF
  • POST /api/ci/scans/image — identify type in a mockup

Every start returns 202 with a jobId. Status moves Queued → Processing → Completed (or Failed).

Poll or webhook

Poll GET /api/ci/jobs/{jobId} until Completed. Fine for a GitHub Action step that can wait.

Webhook — pass webhook: { enabled: true, url, headers } at start time. FontScanner POSTs the same job envelope the moment the scan finishes. Use that when the crawl should not block the job runner.

Completed jobs put a slim result in result: jobId, domain, status, scanTime, jobType, matchedKnownFonts, and pages with per-font license flags. Website jobs list crawled pages; PDF and image jobs put detections on a single page row.

The full dashboard JSON remains on GET /api/scans/{id} if a human needs the same report in the UI.

Fail the build on purpose

The useful CI rule is boring:

  1. Start a website scan for the preview or production host
  2. Wait for Completed
  3. If matchedKnownFonts contains a commercial family you have not approved — fail

That is how a theme update that quietly added Gotham becomes a red check instead of a letter from a foundry. Pair it with your license inventory: credited scans can show Verified / Domain not covered / Missing the same way the dashboard does.

Credits

  • Website and PDF — 1 scan credit each (the free welcome credit applies)
  • Image — counts against the daily identification limit, not a credit

Create a key under Profile → API Keys. The same key works for every CI endpoint. Docs, curl examples, and field tables live on the Developers page.

How this sits next to the other products

SurfaceWho it is for
Developers / APIPipelines, bots, preview deploys
Chrome extensionA human already on the page
Quick website scanA no-account homepage sniff
Image scanMockups and screenshots
Full auditLaunch QA and client reports

The API is not a different detector. It is the same catalog, started by a header instead of a form.

Conclusion

If fonts can ship without a review, they will. Wire the scan into CI so “unlicensed commercial font” is a build failure — not a surprise in production.

Open the developer docs →