Website Tech Stack Detector avatar

Website Tech Stack Detector

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Website Tech Stack Detector

Website Tech Stack Detector

Detect the technologies powering any website — CMS, web framework, analytics, JavaScript libraries, CDN, e-commerce and server — by inspecting its HTML, meta tags, scripts and HTTP headers. Returns a clean per-site technology list as JSON. No login required.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

Assia Fadli

Assia Fadli

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Find out what any website is built with. Give it a list of URLs and it fetches each page, inspects the HTML, meta tags, inline scripts and HTTP response headers, and returns a clean, flat JSON record naming the technologies it detected. There is nothing to configure — no API key, no login and no proxy.

Under the hood it uses got-scraping for a realistic browser fingerprint (so more sites answer normally) and cheerio to read the markup.

Features

  • Detects technologies across these categories:
    • CMS — WordPress, Wix, Squarespace, Drupal, Joomla, Ghost.
    • JavaScript frameworks & libraries — React, Next.js, Vue.js, Angular, jQuery, Svelte, Gatsby, Bootstrap.
    • Analytics & tag managers — Google Analytics, Google Tag Manager, Facebook Pixel, Hotjar, Segment, Plausible.
    • CDN — Cloudflare, Fastly, Amazon CloudFront, Vercel, Netlify, jsDelivr.
    • Server — Nginx, Apache, Microsoft IIS, Express, PHP.
    • E-commerce & payments — Shopify, WooCommerce, Magento, Stripe.
  • Follows redirects and reports the final URL and HTTP status code.
  • Processes URLs concurrently in small batches to stay fast and polite.
  • Emits one flat, ready-to-use JSON record per site.
  • Skips gracefully over unreachable sites — they are recorded with an error field so a single bad URL never stops the run.

Input

FieldTypeDefaultDescription
urlsarrayThe website URLs to analyze. A bare domain like example.com is treated as https://example.com.
maxItemsinteger100Maximum number of URLs to analyze.

Example input

{
"urls": ["https://www.wordpress.org", "https://shopify.com"],
"maxItems": 100
}

Output

Each dataset record looks like this:

{
"url": "https://www.wordpress.org",
"finalUrl": "https://wordpress.org/",
"statusCode": 200,
"server": "nginx",
"poweredBy": null,
"generator": "WordPress",
"title": "Blog Tool, Publishing Platform, and CMS – WordPress.org",
"technologies": [
{ "name": "jQuery", "category": "JavaScript Framework" },
{ "name": "WordPress", "category": "CMS" }
]
}
FieldDescription
urlThe URL exactly as requested in the input.
finalUrlThe URL after following redirects.
statusCodeFinal HTTP status code.
serverValue of the Server response header (or null).
poweredByValue of the X-Powered-By response header (or null).
generatorContent of <meta name="generator"> (or null).
titleThe page <title> (or null).
technologiesArray of { name, category }, sorted by category then name.

If a URL can't be fetched (e.g. DNS failure or timeout), the row is { "url": "<url>", "error": "<message>" } instead.

Pricing

This actor uses the pay-per-event model: you are charged once per site successfully analyzed (the site-analyzed event). URLs that can't be fetched produce an error row and are never charged.

How detection works

For each URL the actor performs a single GET request (following redirects, 20s timeout) and captures the response headers, status code, final URL and HTML body. The HTML is parsed with cheerio, and each entry in a curated signature map is tested against the markup, a header value, or a CSS selector. All matches are collected and de-duplicated by name. Detection is heuristic — it reflects what a site exposes publicly and may miss technologies that are lazy-loaded or hidden behind a bot wall.

License

MIT © Assia Fadli