Website Font Detector - Fonts Used on Any Page avatar

Website Font Detector - Fonts Used on Any Page

Pricing

$1.00 / 1,000 scanned pages

Go to Apify Store
Website Font Detector - Fonts Used on Any Page

Website Font Detector - Fonts Used on Any Page

Detect the fonts a site uses: @font-face + web-font files, font-family stacks, and Google/Adobe/self-hosted/system sources. Bulk. $0.001 per page, cheaper than paid font/brand extractors; failed fetches free.

Pricing

$1.00 / 1,000 scanned pages

Rating

0.0

(0)

Developer

Anthony Snider

Anthony Snider

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Website Font Detector — fonts used on any page

Detect the fonts a website uses: @font-face declarations with their web-font files, font-family stacks, and whether each family comes from Google Fonts, Adobe Fonts, a self-hosted webfont, or the system. Single URL or bulk. $0.001 per page. Failed fetches are recorded free.

What you get

One dataset item per URL:

FieldWhat it is
oktrue on a successful fetch, false on an error row
urlThe URL you passed
finalUrlWhere the request actually landed after redirects
statusHTTP status of the page fetch
fontCountHow many distinct families were found
fontsArray of { family, source, files[] }, sorted alphabetically by family

Each font carries family (the declared name), source (webfont, google, adobe or system), and files - each { url, format } where the format is known. Families seen more than one way keep the most specific source, so a Google-hosted family is never downgraded to system just because it also appears in a fallback stack. CSS comments are stripped before parsing, so a commented-out font-family never shows up as a result.

Example 1 - one page

Input:

{ "url": "https://techcrunch.com", "maxUrls": 25 }

Output (real run, 2026-08-07):

{
"ok": true, "url": "https://techcrunch.com/", "status": 200,
"fontCount": 3,
"fonts": [
{ "family": "nb_international_promono", "source": "webfont",
"files": [ { "url": "https://techcrunch.com/wp-content/themes/tc-24/assets/fonts/.../nbinternationalpromono-webfont.woff2", "format": "woff2" } ] }
]
}

Example 2 - a competitor sweep in one run

{
"urls": ["stripe.com", "linear.app", "vercel.com", "https://notion.so"],
"maxUrls": 50
}

Bare domains get https:// added for you, duplicates are removed, and you get one row per site - so a whole competitive set's typography lands in a single dataset you can export as CSV.

Example 3 - a page that will not load

{ "url": "https://no-such-site.invalid", "ok": false, "error": "fetch failed", "fontCount": 0, "fonts": [] }

The row is recorded so nothing silently disappears from your dataset, the run continues, and that URL is not charged.

Pricing — $0.001 per page

Prices below checked via the Apify Store API on 2026-08-07:

ActorPricingOne page
This actor$0.001 per page$0.001
eiv/website-brand-extractor$0.001 start + $0.002 per item$0.003
automation-lab/font-detector$0.035 per run start$0.035+

When NOT to use this

  • The fonts live only in an external stylesheet. This reads the served HTML: <style> blocks, inline style="" attributes, and provider <link> / @import references. A site whose @font-face rules sit in a separate .css file will surface its Google or Adobe provider link but not the self-hosted font file URLs inside that stylesheet.
  • The page renders its fonts with JavaScript. No browser is launched - the raw HTML response is parsed. A single-page app that injects styles at runtime will look emptier here than it does in DevTools.
  • You want to know which font actually rendered. This reports what the page declares. Which entry in a font-family stack the browser picked depends on the visitor's machine.
  • You want the licence, price or a downloadable file. Family names and file URLs come back; licensing, foundry and pricing do not, and nothing is downloaded.
  • You need Adobe Fonts family names. Typekit loads families at runtime via JavaScript, so the kit is surfaced as Adobe Fonts kit: <id> with its CSS URL rather than the individual families.

FAQ

How do I find out what font a website uses? Pass the URL. Every declared family comes back in fonts[] with a source telling you whether it is a self-hosted webfont, Google Fonts, Adobe Fonts, or a plain system stack.

Can I get the actual font file URL? Yes, when the @font-face rule is in the HTML. files[] holds each src URL with its declared format (woff2, woff, ttf), resolved to an absolute URL against the page.

Does it identify Google Fonts and Adobe Fonts? Yes. Google Fonts are read from fonts.googleapis.com link tags and @import rules, including both the css2 ?family=A&family=B form and the older ?family=A|B form. Adobe Fonts are detected from use.typekit.net kit references.

Does it fetch external CSS files? No. It parses inline CSS and provider links inside the HTML. This is what keeps a scan fast enough to cost $0.001 instead of running a headless browser.

Can I check many websites at once? Yes - up to 50 URLs per run via urls. Bare domains are upgraded to https:// automatically and duplicates are removed before any fetch happens.

Why does a font show up as "system"? Because it appeared in a font-family stack but the page never declared a matching @font-face or provider link, so there is no evidence of a downloadable file. Generic keywords (serif, sans-serif, system-ui, inherit and friends) are filtered out entirely.

What about a dead URL? You get an {ok:false, error} record and the run continues. That URL is never charged.

  • Website Color Palette Extractor (EliAI/webpage-color-palette) — the color half of a page's design tokens (hex/rgb/hsl ranked). Pair the two to capture a site's full typography + color system.

Use from code or AI agents

curl -X POST "https://api.apify.com/v2/acts/EliAI~webpage-font-detector/runs?token=YOUR_APIFY_TOKEN" \
-H 'content-type: application/json' -d '{"url":"https://techcrunch.com"}'

Callable as an agent tool through the Apify MCP server (mcp.apify.com).