Domain Tech Stack Detector avatar

Domain Tech Stack Detector

Under maintenance

Pricing

$3.00 / 1,000 domain analyzeds

Go to Apify Store
Domain Tech Stack Detector

Domain Tech Stack Detector

Under maintenance

Detect the technology stack of any website. Identifies frameworks (React, Vue, Angular), CMS (WordPress, Shopify), analytics (Google Analytics), CDN (Cloudflare), and more. Analyze single domains or bulk lists. Great for competitive analysis, lead generation, and market research.

Pricing

$3.00 / 1,000 domain analyzeds

Rating

0.0

(0)

Developer

The Emperor

The Emperor

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

Categories

Share

Analyze any website and discover its full technology stack in seconds. The actor fetches a page, inspects its HTML source and HTTP response headers, and returns a structured JSON record containing every detected technology grouped by category — no browser rendering required.


What it detects

CategoryTechnologies (sample)
Web FrameworkReact, Vue.js, Angular, Next.js, Nuxt.js, Svelte/SvelteKit, Django, Ruby on Rails, Laravel, Express.js, FastAPI, Spring, ASP.NET, Remix, Gatsby
CMSWordPress, Shopify, Wix, Squarespace, Webflow, Ghost, Drupal, Joomla, HubSpot CMS
AnalyticsGoogle Analytics GA4/UA, Plausible, Fathom, Mixpanel, Segment, Hotjar, FullStory, PostHog, Amplitude, Heap
CDN / HostingCloudflare, AWS CloudFront, Vercel, Netlify, Fastly, Akamai, Google Cloud CDN, GitHub Pages, Render
JavaScript LibrariesjQuery, Lodash, Moment.js, D3.js, Three.js, Chart.js, GSAP, Axios, Alpine.js, htmx
CSS FrameworksTailwind CSS, Bootstrap, Bulma, Material UI, Chakra UI, Foundation
Marketing / ChatIntercom, Drift, HubSpot Chat, Crisp, Zendesk, LiveChat, Tawk.to, Freshchat
PaymentStripe, PayPal, Braintree, Square, Paddle
Email / NewsletterMailchimp, ConvertKit, SendGrid, Klaviyo, Beehiiv
AdvertisingGoogle Ads, Facebook Pixel, LinkedIn Insight Tag, Twitter/X Pixel, TikTok Pixel
Tag ManagersGoogle Tag Manager, Tealium
Security / CAPTCHAGoogle reCAPTCHA, hCaptcha, Cloudflare Turnstile
SearchAlgolia, Elasticsearch
A/B TestingOptimizely, VWO, LaunchDarkly
Error MonitoringSentry, Datadog RUM, LogRocket
Marketing AutomationSalesforce Marketing Cloud, Marketo, Pardot

80+ technology signatures across 16 categories.


Input schema

FieldTypeDefaultDescription
urlsstring[]requiredFull URLs or bare domains (example.com is auto-prefixed with https://)
follow_redirectsbooleantrueFollow HTTP 3xx redirects and record the final URL
timeout_secondsinteger30Per-URL fetch timeout (5–120 s)
include_raw_evidencebooleanfalseAttach raw HTML/header snippets that triggered each match

Example input

{
"urls": [
"https://vercel.com",
"stripe.com",
"https://ghost.org"
],
"follow_redirects": true,
"timeout_seconds": 30,
"include_raw_evidence": false
}

Output format

One dataset record per URL:

{
"url": "https://vercel.com",
"final_url": "https://vercel.com/",
"status_code": 200,
"technologies": [
{
"name": "Next.js",
"category": "Web Framework",
"website": "https://nextjs.org",
"confidence": 0.99,
"evidence": "[header] …x-powered-by: Next.js…"
},
{
"name": "React",
"category": "Web Framework",
"website": "https://reactjs.org",
"confidence": 0.95
},
{
"name": "Vercel",
"category": "CDN/Hosting",
"website": "https://vercel.com",
"confidence": 0.99
},
{
"name": "Google Analytics GA4",
"category": "Analytics",
"website": "https://analytics.google.com",
"confidence": 0.99
}
],
"categories": {
"Web Framework": ["Next.js", "React"],
"CDN/Hosting": ["Vercel"],
"Analytics": ["Google Analytics GA4"]
},
"tech_count": 4,
"analyzed_at": "2026-10-03T05:00:00Z"
}

When a URL fails (timeout, DNS error, etc.) the record will contain an error key instead of technologies:

{
"url": "https://not-a-real-domain.xyz",
"final_url": "https://not-a-real-domain.xyz",
"status_code": null,
"error": "ConnectError: …",
"analyzed_at": "2026-10-03T05:01:00Z"
}

Use cases

Competitive analysis

Map a competitor's full tooling — which analytics platform, A/B testing tool, or chat widget they use — without guessing.

Lead qualification

Enrich CRM data by detecting whether a prospect runs Shopify (e-commerce), Stripe (SaaS payments), or Marketo (marketing automation) to tailor outbound messaging.

Market research

Scrape a list of 10 000 company homepages to understand framework adoption rates across an industry vertical.

Security audits

Identify outdated or known-vulnerable technology fingerprints (e.g., old jQuery versions, exposed framework headers).

Agency prospecting

Find WordPress or Wix sites in a niche to target website redesign or migration services.


How it works

  1. URL normalisation — bare domains are prefixed with https://.
  2. HTTP fetch — httpx async client with a custom User-Agent; optional redirect following.
  3. Artefact extraction — regex parsing pulls <script src>, <link href>, <meta>, and raw HTML; response headers and Set-Cookie values are preserved.
  4. Signature matching — each of the 80+ TechSignature objects carries typed DetectionPattern entries. The engine compiles every regex (case-insensitive) and runs it against the appropriate artefact list.
  5. Confidence scoring — each pattern carries a confidence float (0–1). The highest-confidence match for a technology wins; technologies are sorted by confidence descending.
  6. Dataset push — one Actor.push_data() call per URL writes results in real time.

Detection patterns cover:

Pattern typeWhat is matched
htmlRaw HTML source of the page
script_urlEvery <script src="…"> value
css_urlEvery <link rel="stylesheet" href="…"> value
headerResponse headers as "name: value" strings
metaEvery <meta …> tag string
cookieSet-Cookie header values

Limitations

  • Client-side-only frameworks: some SPAs inject <script> tags dynamically after JS execution. Because the actor does not run a browser, signatures rely on server-rendered HTML and static asset URLs that appear in the initial document.
  • Minification/obfuscation: heavily obfuscated bundles may defeat name-based script-URL matching.
  • CDN confidence: CDN/hosting detection is based on response headers which may be absent on cached or proxied responses.
  • False positives: some patterns (especially generic HTML patterns) carry lower confidence scores to reflect their inherent ambiguity. Always treat results as signals, not ground truth.
  • Rate limiting: the actor makes one real HTTP request per URL; aggressive rate limiting or bot-protection (Cloudflare Challenge, Akamai Bot Manager) may block the fetch or return challenge pages instead of real content.

Technical details

  • Runtime: Python 3.12
  • HTTP client: httpx (async)
  • Concurrency: up to 5 URLs fetched simultaneously (configurable via CONCURRENCY_LIMIT in src/main.py)
  • Signature count: 80+ across 16 categories (see src/signatures.py)
  • Base image: apify/actor-python:3.12

Local development

# Install dependencies
pip install -r requirements.txt
# Run via Apify CLI (needs .actor/actor.json)
apify run
# Or run the module directly (reads input from INPUT_SCHEMA defaults)
python -m src.main