Website Tech Stack Detector: Technology Lookup for Any Domain
Pricing
$2.00 / 1,000 website analyzeds
Website Tech Stack Detector: Technology Lookup for Any Domain
Find the CMS, ecommerce platform, analytics, frameworks, CDN and 7,000+ other technologies behind any list of websites. One polite request per site, robots.txt respected, versions and categories included, change-monitor mode. $2 per 1,000 websites.
Pricing
$2.00 / 1,000 website analyzeds
Rating
0.0
(0)
Developer
OpenData Feeds
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Security
Limited permissionsShare
Website Tech Stack Detector: technology lookup for any list of domains
Give it a list of websites. Get back the technologies each one runs on: CMS, ecommerce platform, analytics and tag managers, JavaScript frameworks, web server, CDN and hosting, payment and marketing tools, with versions where the site reveals them.
- 7,000+ technologies recognized, from open fingerprint rules, grouped in categories (CMS, Ecommerce, Analytics, JavaScript frameworks, CDN, and more).
- One polite request per website. The Actor reads the homepage the way a browser's first visit does, plus
robots.txt. No crawling, no proxies, no login. - Respects robots.txt. A site that disallows its homepage to this Actor (or to all bots) is skipped, reported, and not charged.
- Versions, categories and a confidence score for every technology found.
- Change monitor. Schedule it, and it returns (and charges for) only websites whose technology stack changed since the last run, with what was added and removed.
- $2.00 per 1,000 websites. Failed, blocked and unchanged websites cost nothing.
Who uses a tech stack lookup
- Sales and lead-generation teams qualifying accounts by stack ("runs WooCommerce", "uses HubSpot").
- Agencies finding sites on an old CMS version or a platform they migrate from.
- SaaS companies sizing a market of sites that use a competitor or a complementary tool.
- Analysts and investors tracking technology adoption across a list of companies.
Input
| Field | What it does |
|---|---|
websites (required) | Domains or URLs: example-shop.com, https://www.example-shop.com. A bare domain is checked at its homepage over HTTPS. Duplicates are removed. |
maxSites | Check only the first N websites. Default 1,000; 0 = no limit. |
onlyChanged + stateKey | Monitor mode: return only websites seen for the first time or whose technologies changed since the last run with the same stateKey. |
minConfidence | Drop detections below this confidence (0–100). Default 0 keeps everything. |
Example:
{"websites": ["example-shop.com", "northwind-traders.example", "https://www.acme-robotics.example"],"onlyChanged": true,"stateKey": "weekly-prospects"}
Output
One item per website. Example (fictional company):
{"website": "https://example-shop.com/","domain": "example-shop.com","finalUrl": "https://www.example-shop.com/","statusCode": 200,"technologyCount": 8,"technologyNames": ["Google Analytics","Google Tag Manager","jQuery","MySQL","Nginx","PHP","WooCommerce","WordPress"],"categories": ["Analytics","Blogs","CMS","Databases","Ecommerce","JavaScript libraries","Programming languages","Reverse proxies","Tag managers","Web servers","WordPress plugins"],"technologies": [{"name": "Google Analytics", "version": "GA4", "confidence": 100, "categories": ["Analytics"], "website": "https://google.com/analytics", "detectedBy": ["scriptSrc", "scripts"]},{"name": "Google Tag Manager", "version": null, "confidence": 100, "categories": ["Tag managers"], "website": "https://www.google.com/tagmanager", "detectedBy": ["scriptSrc"]},{"name": "jQuery", "version": null, "confidence": 100, "categories": ["JavaScript libraries"], "website": "https://jquery.com", "detectedBy": ["scriptSrc"]},{"name": "MySQL", "version": null, "confidence": 100, "categories": ["Databases"], "website": "https://mysql.com", "detectedBy": ["implied"], "impliedBy": "WordPress"},{"name": "Nginx", "version": "1.25.3", "confidence": 100, "categories": ["Web servers", "Reverse proxies"], "website": "https://nginx.org/en", "detectedBy": ["headers"]},{"name": "PHP", "version": "8.2.12", "confidence": 100, "categories": ["Programming languages"], "website": "https://php.net", "detectedBy": ["headers"]},{"name": "WooCommerce", "version": "8.5.1", "confidence": 100, "categories": ["Ecommerce", "WordPress plugins"], "website": "https://woocommerce.com", "detectedBy": ["meta"]},{"name": "WordPress", "version": "6.4.2", "confidence": 100, "categories": ["CMS", "Blogs"], "website": "https://wordpress.org", "detectedBy": ["dom", "html", "meta", "scriptSrc"]}],"change": {"status": "changed","added": ["WooCommerce"],"removed": ["Magento"]},"checkedAt": "2026-10-30T10:23:20.206Z"}
detectedBy says what gave the technology away: headers, cookies, meta, scriptSrc, scripts, dom, html, css, text, url, robots, or implied (one technology implies another, for example WordPress implies PHP). change is null unless monitor mode is on.
The output holds technology data only. The Actor never returns page text, email addresses, phone numbers or names.
Export as JSON, CSV, Excel or HTML, or call it from the API, Make, Zapier, n8n or an AI agent (MCP).
A SUMMARY record lists how many websites were analyzed, delivered and unchanged, and every website that failed or was skipped, with the reason (domain not found (DNS), homepage returned HTTP 403, blocked by robots.txt, timed out, ...).
Pricing
Pay per event: $0.002 per website analyzed ($2.00 per 1,000 websites).
| You run | You pay |
|---|---|
| 100 websites, once | $0.20 |
| 5,000 prospect domains, once | $10 |
| 2,000 websites, weekly monitor, ~3% change each week | $4 for the first run, then ≈ $0.12 a week |
Websites that fail, are blocked by robots.txt, or are unchanged in monitor mode are not charged. Set Maximum cost per run in the run options to cap spend; the Actor checks only as many websites as your limit allows, stops cleanly, and says so in the log and SUMMARY. Apify's free plan includes $5 of monthly usage, enough for about 2,500 websites.
Limits
- Plain HTTP, no browser. The Actor reads the HTML, headers and cookies that the homepage returns. Technologies that only appear after JavaScript runs (some single-page apps, tags loaded by a tag manager, client-side chat widgets) can be missed. Rules that need a browser (JavaScript variables, network requests) or extra lookups (DNS, TLS certificate) are not used.
- Homepage only. One page per website, so tools used only on a checkout or blog subpage may not show. You can pass a specific URL instead of a domain.
- robots.txt is respected. Websites that disallow this Actor are skipped and listed in
SUMMARY.failedasblocked by robots.txt. Ifrobots.txtanswers with a server error, the website is skipped too, as the robots.txt standard (RFC 9309) requires. - Bot protection. Sites that answer automated requests with an error or a challenge page are reported as failed, not guessed at.
- Confidence below 100 means a weaker signal; use
minConfidenceto filter.
Source and attribution
Detection uses the open-source webappanalyzer fingerprint rules by Enthec and contributors, licensed under the GNU GPL v3, at a pinned version. The rules are run, unmodified, by this Actor; they are not distributed with its output. Technology names are the property of their owners, and listing a technology implies no affiliation.
The Actor identifies itself with the User-Agent website-tech-stack-detector/0.1, so site owners can allow or block it in robots.txt.
FAQ
Why is a technology I know the site uses missing? It is probably added by JavaScript after the page loads, or used only on another page. See Limits.
Why is version empty? Most sites don't reveal versions. When a meta tag, header or script URL carries one, it is reported.
Can I check a specific page instead of the homepage? Yes: pass the full URL.
Something wrong or a technology missing? Open an issue on the Issues tab with the website and what you expected. Issues are answered within 24 hours.