Font Detector
Pricing
from $0.50 / 1,000 font analyses
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é
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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-facefont files and source URLs. - Captures font preload links from page HTML.
- Collects CSS
font-familydeclarations, 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:okorpartial.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
- Add one or more public pages or domains.
- Keep the default page limit for a small first audit, or lower it when testing a new list.
- Leave CSS declarations and font evidence enabled if you want the most traceable output.
- Run the Actor and open the dataset.
The Actor accepts both domains and full URLs. For example:
apple.comhttps://fonts.google.comhttps://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-familydeclarations 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
- Website Emails Scraper ↗ - Find public contact emails from websites you are already auditing.
- Business Address Scraper ↗ - Extract physical business addresses from company websites.
- Google Shopping Ads Scraper ↗ - Collect live sponsored product ads from Google Search.
- LinkedIn Company Scraper ↗ - Export company profile data for business research workflows.
- Unsplash Image Scraper ↗ - Scrape image search results for design and content research.
Made with ❤️ by Maxime Dupré