Tech Stack Detector — 7,600+ technologies, $0.01 per domain
Pricing
from $10.00 / 1,000 domain analyseds
Tech Stack Detector — 7,600+ technologies, $0.01 per domain
Find the CMS, e-commerce platform, analytics, ad pixels, live chat, payments, CDN and hosting behind any list of websites. Wappalyzer/BuiltWith alternative — you pay only for websites actually analysed.
Pricing
from $10.00 / 1,000 domain analyseds
Rating
0.0
(0)
Developer
AI Solo Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Paste a list of websites, get back what each one is built with: CMS, e-commerce platform, analytics, ad pixels, tag managers, live chat, payment processors, JavaScript frameworks, CDN and hosting — with versions when the site exposes them.
A fast, cheap alternative to Wappalyzer and BuiltWith lookups, built for lists: 10 domains or 100,000.
- $0.01 per domain that responds. Domains that time out, don't resolve, answer with an error or only show a bot-protection challenge are free — they still appear in the results, with the reason.
- 7,641 technology fingerprints (6,494 of them detectable over plain HTTP).
- One clean row per domain, with ready-made columns (
cms,ecommerce,analytics,advertising,liveChat,payments,cdn,hosting) and a one-sentencesummarythat people and LLMs can read directly. - No browser, no login, no cookies stored — so it's fast (~20 domains in parallel by default) and cheap.
- Built not to hang. Matching runs on RE2, a regular-expression engine whose time grows linearly with the page, so a heavy page (megabytes of minified JavaScript) can't stall your run. Every download and every analysis has a deadline.
What people use it for
- Lead generation by technology — find the Shopify stores, WordPress sites or HubSpot users in a list of prospects.
- Competitor research — see which analytics, ad networks and chat tools your competitors run.
- Agency audits — check a client portfolio for outdated CMS versions or missing analytics.
- AI agents — call it from Claude, ChatGPT, Cursor or any MCP client through the Apify MCP server; the
summaryfield is written for LLMs.
Input
{"domains": ["wordpress.org", "shopify.com", "https://vercel.com/pricing"],"onlyCategories": [],"maxConcurrency": 20}
| Field | What it does | Default |
|---|---|---|
domains | Domains or URLs, one per line. Duplicates are removed. | — |
onlyCategories | Keep only these categories, e.g. CMS, Ecommerce, Analytics. | everything |
minConfidence | Drop detections below this confidence (0-100). | 0 |
maxConcurrency | Websites fetched in parallel (1-100). | 20 |
requestTimeoutSecs | Give up on a website after this many seconds. | 20 |
proxyConfiguration | Optional Apify Proxy, for lists where many sites block the default IP. | off |
Output
One item per domain:
{"domain": "acme-bakery.example","finalUrl": "https://acme-bakery.example/","statusCode": 200,"ok": true,"blocked": false,"partial": false,"technologyCount": 9,"cms": ["WordPress"],"ecommerce": [],"analytics": ["Facebook Pixel", "Google Analytics"],"advertising": [],"liveChat": ["Tidio"],"payments": ["Stripe"],"cdn": ["Cloudflare"],"hosting": [],"technologies": [{ "name": "WordPress", "version": "6.6.2", "confidence": 100, "categories": ["CMS", "Blogs"], "website": "https://wordpress.org", "implied": false },{ "name": "MySQL", "version": null, "confidence": 100, "categories": ["Databases"], "website": "https://mysql.com", "implied": true }],"summary": "acme-bakery.example — CMS: WordPress 6.6.2; Analytics: Facebook Pixel, Google Analytics ga4; Live chat: Tidio; Payment processors: Stripe; CDN: Cloudflare; Programming languages: PHP; Databases: MySQL; JavaScript libraries: jQuery.","checkedAt": "2026-09-26T09:00:00+00:00"}
implied: true means the technology wasn't seen directly but follows from another one (WordPress runs on PHP and MySQL, Next.js on React and Node.js).
Unreachable domains come back with ok: false, statusCode (if any) and error — and are not charged.
blocked: true means the site answered with a bot-protection challenge (Cloudflare, AWS WAF, Imperva, DataDome, HUMAN, Sucuri, Vercel, Akamai) instead of its page — even when the status code says 200 or 202. You get what the response headers reveal (CDN, hosting), and you don't pay. Re-run those domains with Apify Proxy (residential) in proxyConfiguration if you need them.
partial: true is a safety net you should rarely see: if a page is so heavy that its analysis hits the 20-second budget, you get what was found up to then — free of charge.
How it works
Each website is fetched once, like a browser would, following redirects. The response is matched against the fingerprint database: HTTP headers, cookies, <meta> tags, script URLs, inline scripts and styles, the HTML itself and DOM selectors. Technologies imply others (Next.js → React), and versions are extracted when the page shows them.
Under the hood, each part of the page is scanned once for the literal strings the fingerprints need (RE2's FilteredRE2), and only the fingerprints whose strings are present run in full. A typical page takes a few milliseconds of matching; a 600 KB page full of inline JavaScript, well under a second.
Limits, stated plainly: there's no JavaScript execution, so technologies that can only be seen by running the page's scripts (a minority) are not detected. Sites behind aggressive bot protection answer with a challenge instead of the page — you'll see blocked: true in the results and you won't pay for it.
Pricing
Pay per event: $0.01 per domain analysed (a 2xx/3xx response with the real page, fully analysed). Failed, blocked and partial results are free. A list of 1,000 responsive domains costs $10. You can cap spending per run in the run options.
FAQ
Is this legal? It reads the same public homepage any visitor's browser receives, once per domain. It doesn't log in, bypass paywalls or collect personal data. Use the results in line with the laws that apply to you.
How fresh is the fingerprint database? It's refreshed monthly. The version in use is recorded in the Actor's changelog.
Can I run it on a schedule? Yes — use Apify Schedules to re-check a list weekly and watch for changes.
Changelog
- 0.1 — first release: 7,641 fingerprints, versions, implied technologies, category filter, LLM-ready summary. Linear-time matching (RE2), deadlines on downloads and analysis, cookie values matched against fingerprints, bot-protection challenges reported as
blockedand never charged.
Credits
Technology fingerprints from projectdiscovery/wappalyzergo (MIT licence).