VOOZH about

URL: https://apify.com/maximedupre/font-detector

โ‡ฑ Website Font Detector for CSS Font Audits ยท Apify


Pricing

from $0.50 / 1,000 font analyses

Go to Apify Store

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

5

Total users

2

Monthly active users

20 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รฉ

You might also like

Font Detector

automation-lab/font-detector

This actor detects web fonts used on web pages. It identifies Google Fonts, Adobe Fonts (Typekit), custom @font-face declarations, and font-family CSS properties. It parses inline styles, external stylesheets, and font preloading links.

๐Ÿ‘ User avatar

Stas Persiianenko

38

Website Brand Extractor (Pay per Event)

eiv/website-brand-extractor-pay-per-event

Extract logos, brand colors, fonts, social links, and metadata from any website. Returns structured JSON with favicon, logo images, primary/secondary colors, font families, OG/Twitter metadata, and links for 17+ social platforms.

HTML To PDF for N8N

exciting_perfume/HTML-to-PDF-Apify-Actor

Generate accurate PDFs from HTML or URLs using Chromium. Supports CSS, fonts, and backgrounds. Automation-ready and perfect for n8n workflows, reports, invoices, and contracts.

๐Ÿ‘ User avatar

Gavin Campbell

20

Website Recovery Actor

fiery_dream/website-recovery-actor

Recover and reverse-engineer website files from a live or deployed site. This actor downloads the complete website including HTML, CSS, JavaScript, images, fonts, and all other assets, then rewrites URLs so everything works locally.

๐Ÿ‘ User avatar

Cody Churchwell

38

Canva Scraper

epctex/canva-scraper

Scrape thousands of templates from Canva.com. Extract data on available templates based on keywords. Customize your search and scrape from search, list, or user detail pages for colors, fonts, images, and more!

Free Website Analyzer for AI โ€” Copy Any Site's Design

geniuslead/website-mcp-server

Free โ€” only pay Apify platform costs. Extract CSS, fonts, colors, frameworks & page structure from any website via MCP. For competitive analysis, branding research & website cloning. Works with Claude, Cursor & ChatGPT. By GeniusLead

Brand DNA

solutionssmart/brand-dna

Extract structured brand identity from any website โ€” colors, fonts, tone, positioning, and reusable marketing templates โ€” using deterministic heuristics with no AI hallucinations.

๐Ÿ‘ User avatar

Solutions Smart

98

5.0

Website Media Extractor & Scraper

hlymrk/html-web-media-scraper

The Advanced Website Media Extractor & Scraper is a comprehensive media extraction tool that supports images, videos, audio, documents, archives, e-books, fonts, apps, and contact information from websites. Features advanced filtering, proxy support, and detailed analytics.

CSS Unit Converter

automation-lab/css-unit-converter

Convert CSS units (px, em, rem, pt, vh, vw, cm, mm, in, pc) with context-aware base font size and viewport dimensions. Returns a full 10-unit conversion table for each input value.

๐Ÿ‘ User avatar

Stas Persiianenko

2

Canva Template Scraper

crawlerbros/canva-scraper

Extract Canva template metadata including title, description, image, colors palette, fonts, size, creator, category, and breadcrumbs. Works on any public Canva template URL.

Related articles

Web crawling vs. web scraping
Read more
What is web scraping?
Read more