Tech Stack Detector & Change Monitor - Wappalyzer Alternative
Pricing
Pay per event
Tech Stack Detector & Change Monitor - Wappalyzer Alternative
Detect the technologies behind any list of websites — CMS, ecommerce, analytics, frameworks, CDN, email provider (DNS) — and track changes between runs. 7,600+ open fingerprints. Pay only per site analyzed.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Evyatar ventura
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Tech Stack Detector & Change Monitor
Find out what any list of websites is built with — and get notified when it changes.
Give it domains. For each site you get the CMS, ecommerce platform, analytics and tag managers, JavaScript frameworks, CDN, web server, security/WAF, payment and marketing tools, plus the email provider and SaaS verifications from DNS (MX, SPF/TXT, NS). 7,600+ open fingerprints, versions where detectable, and a confidence score for every match.
Why this one
- Gets through where plain scrapers get a 403. Every site is fetched with a real Chrome TLS/HTTP2 fingerprint, which alone opens sites like medium.com and nytimes.com that block Python clients. If a site still answers with a 403 or a bot-challenge page, it is retried once through a residential proxy in the site's own country (
.co.il→ Israel,.de→ Germany), which opens geo-fenced and IP-reputation blocks. You pay the smallsite-unblockedevent only when that retry actually returns a real page. - Browser mode when it pays off. About 900 of the 7,600 fingerprints only exist in the browser (
window.*objects, runtime-injected chat widgets, heatmaps and marketing tags, XHR calls). Inautomode the Actor renders a site in headless Chromium only when the static pass found little, so bulk runs stay fast and cheap;alwaysrenders everything. Browser detections carryvia: ["browser"]. - Honest about blocks. Soft blocks that return HTTP 200 with a "Bot Manager" or challenge page (Radware, Akamai, Cloudflare, Imperva) are recognised and flagged with a
warninginstead of being reported as a site with three technologies. JavaScript challenges are not solved (no browser is used), and are reported as such. - Change monitoring built in. Set a
monitorId(e.g.competitors) and schedule the Actor. Every result tells you which technologies were added, removed, or changed version since the last run. Changes are confirmed on two consecutive runs by default (confirmChanges), so flapping tags such as bot protection or A/B-test scripts don't spam you; first sightings are shown inpendingChanges. Turn onoutputOnlyChangesand your dataset becomes a clean change feed — perfect for sales triggers ("prospect just moved to Shopify") and competitor tracking. - Built for bulk. Thousands of domains per run, one GET per site, no browser, duplicates removed automatically. A
SUMMARYrecord gives the market share of every technology across your list. - DNS detection. Sees Google Workspace / Microsoft 365, email-sending tools and DNS hosts even when the homepage reveals nothing.
- Fair billing.
site-analyzedper site that returned a page;site-unblockedonly when the residential retry turned a blocked site into a real page;site-browser-scanonly when a site was actually rendered. Unreachable sites and sites that stay blocked cost nothing extra. - Evidence on demand.
includeEvidenceshows exactly which header, cookie, meta tag, script or DNS record triggered each detection.
How it compares (measured, not claimed)
Head-to-head on 28 sites (Israeli retailers, Shopify stores, WordPress publishers, Drupal universities, SaaS, government) against the Store's most-used Wappalyzer alternative, September 2026. Generic header/meta detections (HSTS, Open Graph, CSP…) excluded on both sides.
| This Actor | Most-used alternative | |
|---|---|---|
| Technologies seen directly on the page | 214 (+31 clearly labelled as implied) | 63 |
| Sites where the platform itself (CMS / shop / framework) was identified | 22 of 28 | 4 of 28 |
| Sites returned as HTTP 403 (no result) | 0 (5 opened via residential retry) | 5 |
| Time for 35 sites | 75 s, all done | timed out at 5 min after 28 |
| Change tracking, DNS, versions, evidence | yes | no |
Examples: Shopify was identified on all 4 Shopify stores in the sample (fox.co.il, allbirds, kyliecosmetics, fashionnova) and Magento on castro.com; the alternative returned only "Cloudflare" for each of them. What the alternative found and this Actor did not: mostly GA4 inferred from any gtag call and CDN vendors from headers — 22 detections in total, several of them false positives (e.g. "Intercom" from marketing copy that mentions Intercom).
With browserMode: auto on the same list, 12 of 35 sites triggered a render (JS-heavy pages where the static pass found little) and gained 31 technologies visible only in the browser — ad-tech stacks, TikTok/Pinterest pixels, Microsoft Clarity, Segment, Sentry, MobX, React Router — while the other 23 sites stayed static and cheap. The whole run took 113 seconds.
Limitations, stated plainly: without browser mode, about 900 of the 7,600 fingerprints are not reachable; with it they are, at the cost of a few seconds per rendered site. JavaScript challenges (Akamai, AWS WAF) are recognised and flagged; headless Chromium gets through some of them, not all. Blocking is probabilistic — a site that opens today can be blocked tomorrow, which is why blocked pages never overwrite your monitoring snapshot.
Speed and cost
Measured on 1,000 domains from the Tranco list (ranks 2,000–3,000, i.e. ordinary sites, not just giants), browserMode: auto, default settings: about 1,000 sites in 20 minutes at 4 GB, peak memory 1.3 GB, no crashes; roughly a quarter of the sites triggered a browser render. Static-only runs are several times faster. A run survives platform migrations: finished sites are checkpointed and never analysed or billed twice.
Unreachable inputs are common in real lists (in that sample, 20% of apex domains had no DNS record at all — CDN and tracking domains). They are reported with an error and cost nothing.
Need a lead list rather than a full audit? Set onlyIfDetected (e.g. ["Shopify"] or ["Ecommerce"]) and the dataset contains only the matching sites.
Input
{"urls": ["shopify.com", "https://www.example.org/pricing"],"monitorId": "competitors","outputOnlyChanges": false,"detectDns": true,"minConfidence": 50}
Output (one item per site)
{"domain": "example.com","finalUrl": "https://www.example.com/","status": 200,"fetchedVia": "direct","unblocked": false,"technologyCount": 14,"directCount": 11,"technologies": [{"name": "WordPress", "version": "6.5.2", "confidence": 100, "categories": ["CMS", "Blogs"], "website": "https://wordpress.org", "via": ["page"]}],"byCategory": {"CMS": ["WordPress"], "Analytics": ["Google Analytics"]},"firstCheck": false,"changed": true,"changes": {"added": ["Shopify"], "removed": ["WooCommerce"], "versionChanged": [{"name": "WordPress", "from": "6.4", "to": "6.5.2"}]}}
via tells you how each technology was found: page (the website itself), implied (e.g. WordPress implies PHP; set includeImplied: false to drop these) or dns (MX/SPF/TXT verification records — these reveal SaaS tools the company uses, not what the website runs on). Page detections are listed first.
The dataset has two views: Overview (one row per site) and One row per technology (ready for spreadsheets / CRM import).
How it works and its limits
Detection is static: HTTP headers, cookies, meta tags, HTML, script URLs, inline scripts and CSS, the static DOM and DNS records. Technologies that can only be seen by executing JavaScript in a browser (about 900 of the 7,600 fingerprints) are not detected — this keeps the Actor fast and cheap. Sites behind aggressive bot protection may return a block page; such results (HTTP errors and suspiciously tiny pages) are flagged with a warning, are not compared against your monitor snapshot and never overwrite it — so a block page can't show up as "everything was removed".
Monitoring state lives in a named key-value store techmon-<monitorId> in your own Apify account. Delete it to reset a watch-list.
License and attribution
Technology fingerprints come from enthec/webappanalyzer, the community continuation of the open-source Wappalyzer database, used under GPL-3.0. This Actor's code is also released under GPL-3.0. Not affiliated with Wappalyzer or BuiltWith.