Font Detector avatar

Font Detector

Pricing

from $0.50 / 1,000 font analyses

Go to Apify Store
Font Detector

Font Detector

Detect fonts used on public web pages. Export Google Fonts, Adobe Fonts, custom font files, preload links, CSS family declarations, source evidence, and counts.

Pricing

from $0.50 / 1,000 font analyses

Rating

5.0

(1)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

🔎 Detect website fonts from public pages

Font Detector analyzes public web pages and shows which web fonts they use. Add URLs or domains, and the Actor returns loaded font files, Google Fonts links, Adobe Fonts kit IDs, custom @font-face sources, preload font URLs, CSS font-family declarations, counts, and page metadata.

Use it for website typography audits, redesign research, brand QA, design-system checks, migration planning, competitor font research, and recurring checks across client or portfolio sites. You can run it from Apify Console, API, schedules, webhooks, or integrations, then export the dataset as JSON, CSV, Excel, XML, RSS, or HTML.

For a quick first run, keep the prefilled pages: Apple, Google Fonts, and Wikipedia. You can also paste clean domains like stripe.com or full page URLs like https://example.com/pricing.

🧭 What this font detector does

  • Detects loaded web fonts from public HTML pages and stylesheets.
  • Finds Google Fonts URLs and font families.
  • Finds Adobe Fonts and Typekit kit IDs when they are present in the page or CSS.
  • Extracts custom @font-face font files and source URLs.
  • Captures font preload links from page HTML.
  • Collects CSS font-family declarations, including fallback stacks and system fonts.
  • Adds counts for loaded, declared, Google, Adobe, custom, and system fonts.
  • Keeps source evidence so you can trace where a font was found.
  • Marks partial results when some stylesheets could not be loaded.

The Actor is built for public website pages. It does not require website credentials, design-file access, a browser extension, or a Google Fonts API key.

📊 What data you get

Each dataset item is one successfully analyzed page. Rows can include:

  • inputUrl: the URL or domain you submitted.
  • finalUrl: the final resolved page URL.
  • inputIndex: the input order for the submitted target.
  • status: ok or partial.
  • httpStatusCode: the page response status code.
  • title: the page title when found.
  • fontCount: total detected font entries.
  • loadedFontCount: detected non-system font entries.
  • declaredFamilyCount: CSS font-family declaration count.
  • googleFontCount, adobeFontCount, customFontCount, systemFamilyCount: source and family counts.
  • fonts: detected font entries with family, source type, source URLs, format, weight, style, and classification flags.
  • fontFamiliesInCss: CSS font-family values when enabled.
  • googleFontsUrls, adobeKitIds, stylesheetUrls, preloadFontUrls, fontFaceSources: optional source evidence.
  • degradedReason: why a partial row may be incomplete.
  • checkedAt: ISO timestamp for the analysis.

🚀 How to run it

  1. Add one or more public pages or domains.
  2. Keep the default page limit for a small first audit, or lower it when testing a new list.
  3. Leave CSS declarations and font evidence enabled if you want the most traceable output.
  4. Run the Actor and open the dataset.

The Actor accepts both domains and full URLs. For example:

  • apple.com
  • https://fonts.google.com
  • https://www.wikipedia.org

If a page cannot be loaded, the Actor logs a warning and continues with the remaining targets. If a page loads but some stylesheets do not, the row is still saved with status: "partial" and a degradedReason.

🧾 Input

Targets

Enter one page URL or domain per line. Use public pages that can be opened without logging in.

{
"targets": [
"https://www.apple.com",
"https://fonts.google.com",
"https://www.wikipedia.org"
],
"maxPages": 25,
"includeCssFamilyDeclarations": true,
"includeFontEvidence": true,
"requestTimeoutSecs": 20
}

Output detail

Keep includeCssFamilyDeclarations enabled when you want fallback stacks and system-family declarations. Keep includeFontEvidence enabled when you want stylesheet URLs, preload URLs, Google Fonts URLs, Adobe kit IDs, and font-file sources for audit trails.

📦 Output example

{
"inputUrl": "https://fonts.google.com",
"finalUrl": "https://fonts.google.com/",
"inputIndex": 2,
"status": "ok",
"httpStatusCode": 200,
"title": "Google Fonts",
"fontCount": 12,
"loadedFontCount": 8,
"declaredFamilyCount": 16,
"googleFontCount": 8,
"adobeFontCount": 0,
"customFontCount": 0,
"systemFamilyCount": 4,
"fonts": [
{
"family": "Roboto",
"sourceType": "google-fonts",
"sourceUrl": "https://fonts.gstatic.com/s/roboto/example.woff2",
"sourceCssUrl": "https://fonts.googleapis.com/css2?family=Roboto",
"format": "woff2",
"weight": "400",
"style": "normal",
"isGoogleFont": true,
"isAdobeFont": false,
"isCustomFont": false,
"isSystemFont": false
}
],
"fontFamiliesInCss": ["Roboto", "Arial", "sans-serif"],
"googleFontsUrls": ["https://fonts.googleapis.com/css2?family=Roboto"],
"adobeKitIds": [],
"stylesheetUrls": ["https://fonts.googleapis.com/css2?family=Roboto"],
"preloadFontUrls": [],
"fontFaceSources": ["https://fonts.gstatic.com/s/roboto/example.woff2"],
"checkedAt": "2026-05-25T00:00:00.000Z"
}

Some fields can be empty because websites do not expose every font source in the same way.

💳 Pricing

Font Detector uses pay-per-event pricing. You are charged for each successfully analyzed public page, starting at $0.001 per page on the FREE tier, with lower per-page prices on higher Apify usage tiers.

There is no separate charge for skipped pages that fail before a dataset item is saved.

⚠️ Limits and caveats

  • The Actor analyzes public HTML pages and linked stylesheets. Login-only pages are not supported.
  • JavaScript-injected fonts may be missed when they are not present in the fetched HTML or CSS.
  • Some websites block or delay stylesheet files. In that case, the Actor can still save a partial page analysis.
  • CSS font-family declarations can include fallback and system fonts that are declared but not necessarily downloaded.
  • Font source URLs and formats depend on what the website exposes in HTML and CSS.

❓ FAQ

Can I use this as a website font checker API?

Yes. Run the Actor through the Apify API, pass targets, and read the dataset items when the run finishes.

Does it detect Google Fonts?

Yes. It detects Google Fonts URLs and font entries exposed through page HTML and CSS.

Does it detect Adobe Fonts?

Yes, when Adobe Fonts or Typekit kit IDs are visible in the page or stylesheet content.

Will every CSS family be a loaded font?

No. CSS family declarations often include fallback stacks and system fonts. Use loadedFontCount, source flags, and source evidence to separate downloaded fonts from declared families.

📝 Changelog

  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré