Tech Stack Detector — 7,600+ technologies, $0.01 per domain avatar

Tech Stack Detector — 7,600+ technologies, $0.01 per domain

Pricing

from $10.00 / 1,000 domain analyseds

Go to Apify Store
Tech Stack Detector — 7,600+ technologies, $0.01 per domain

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

AI Solo Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

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-sentence summary that 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 summary field is written for LLMs.

Input

{
"domains": ["wordpress.org", "shopify.com", "https://vercel.com/pricing"],
"onlyCategories": [],
"maxConcurrency": 20
}
FieldWhat it doesDefault
domainsDomains or URLs, one per line. Duplicates are removed.—
onlyCategoriesKeep only these categories, e.g. CMS, Ecommerce, Analytics.everything
minConfidenceDrop detections below this confidence (0-100).0
maxConcurrencyWebsites fetched in parallel (1-100).20
requestTimeoutSecsGive up on a website after this many seconds.20
proxyConfigurationOptional 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 blocked and never charged.

Credits

Technology fingerprints from projectdiscovery/wappalyzergo (MIT licence).