Bulk Tech Stack Detector
Pricing
from $2.00 / 1,000 domain analyseds
Bulk Tech Stack Detector
Paste a list of domains and get what each one runs: CMS, framework, hosting, analytics, payments, support widgets. Every detection returns the evidence that proved it plus a confidence level, so a wrong row is auditable. Unreachable domains are never charged.
Pricing
from $2.00 / 1,000 domain analyseds
Rating
0.0
(0)
Developer
Anthony Snider
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Paste a list of domains, get back what each one runs — CMS, framework, hosting, analytics, payments, support widgets — with the evidence that proved each detection and a confidence level.
Built for lists, not single lookups. Unreachable domains are reported and never charged.
Why the evidence matters
Most detectors hand you WordPress: true. When that's wrong on 200 rows of a 10,000-row list, you
have no way to find which 200. Every detection here returns what proved it:
| Technology | Confidence | Evidence |
|---|---|---|
| Shopify | high | cdn.shopify.com |
| Vercel | high | server: Vercel |
| WordPress | high | /wp-content/ |
| jQuery | low | jquery-3.6.0.min.js |
Now a row is auditable in two seconds instead of being taken on faith.
Confidence is not decoration
- high — the site declares it, or a first-party branded asset path proves it (a
generatormeta tag,cdn.shopify.com, aserverheader) - medium — a characteristic asset path or header
- low — a weaker heuristic, worth reporting but not worth filtering a campaign on
Flattening these into a single boolean is how a bulk list becomes untrustworthy. You can filter on
confidence and decide your own bar.
Three things this deliberately does not do
No vulnerability claims. Some detectors report "WordPress 5.2 — 14 known CVEs". A version string in HTML is routinely stale, cached, or spoofed, and converting it into a security assertion is unfounded. We report the version we saw and where we saw it. Nothing further.
No guessing. A site we can't classify comes back with an empty technology list and
classified: false. Silent guessing is exactly what makes bulk output useless at scale — one
plausible-looking wrong row poisons trust in all 10,000.
No double-counting. example.com and www.example.com are one company. We follow redirects to
the final URL and report both it and whether a redirect happened, so your list doesn't
double-count or silently miss.
What it detects
CMS & builders — WordPress, Drupal, Joomla, Ghost, Shopify, Wix, Squarespace, Webflow
Frameworks — Next.js, Nuxt, Gatsby, Astro, React, Vue
Hosting & CDN — Cloudflare, Vercel, Netlify, Fastly, CloudFront, Nginx, Apache
Analytics — GA4, Google Tag Manager, Meta Pixel, Hotjar, Plausible, Segment
Marketing & support — HubSpot, Klaviyo, Mailchimp, Intercom, Zendesk, Drift, Crisp
Payments & security — Stripe, PayPal, reCAPTCHA, Cloudflare Turnstile
Plus any self-declared generator meta tag, reported verbatim.
Input
{ "domainsText": "shopify.com\nvercel.com\nexample.com" }
Separators can be new lines, commas or spaces; https:// is optional and duplicates are removed.
| Field | Type | Default | Notes |
|---|---|---|---|
domainsText | string | — | Pasted list |
domains | array | — | For API use |
domain | string | — | A single domain |
maxDomains | integer | 100 | Cap on domains, and therefore on spend |
Output
{"domain": "shopify.com","ok": true,"finalUrl": "https://www.shopify.com/","redirected": true,"technologyCount": 2,"technologies": [{ "technology": "Shopify", "category": "Ecommerce", "confidence": "high", "evidence": "cdn.shopify.com" },{ "technology": "Cloudflare", "category": "CDN", "confidence": "high", "evidence": "server: cloudflare" }],"byCategory": { "Ecommerce": ["Shopify"], "CDN": ["Cloudflare"] },"classified": true}
For agents and automation
- Capability: bulk detection of web technologies across a domain list
- Required input: one of
domainsText,domains,domain - Returns: one record per domain plus a
SUMMARY;byCategoryis pre-grouped for filtering - Bounded:
maxDomainscaps the run and the spend - Side effects: none — fetches each homepage once, stores nothing externally
- Honest unknowns:
classified: falsewith an empty list rather than a guess
Pricing
Pay per domain successfully analysed. Unreachable domains are free.