Website Tech Stack Detector: CMS, Ecommerce, Email, CDN
Pricing
$1.00 / 1,000 domain analyseds
Website Tech Stack Detector: CMS, Ecommerce, Email, CDN
Bulk technology detection for any list of domains from one homepage request each. Returns CMS, ecommerce platform, analytics, ad pixels, payment providers, CDN, hosting, email provider and mail senders (from DNS), social links and a contact email.
Pricing
$1.00 / 1,000 domain analyseds
Rating
0.0
(0)
Developer
Chris Lucas
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Give it a list of domains. For each one it makes a single homepage request plus a few DNS lookups and returns the website's technology stack: CMS, ecommerce platform, analytics, ad pixels, payment providers, CDN, hosting, email provider and mail senders read from DNS, social profile links and a published contact mailbox. Domains that cannot be reached are returned with the reason and are not charged.
It is a BuiltWith / Wappalyzer style detector built for sales prospecting and competitive research: one flat row per domain that drops straight into a CRM or spreadsheet.
Pairs with shopify-technographics-leads (finds Shopify stores) when you want to profile a list of stores you already have.
What you get per domain
- Standard fingerprints: 7,600+ technologies in 100+ categories, matched on response headers, cookies, HTML, script URLs, inline scripts, meta tags and URL, with version numbers and a confidence score. Rules
implies,excludesandrequiresare applied. - Flat fields for filtering:
cms,ecommercePlatform,analytics[],adPixels[],paymentProviders[],cdn,hosting. - Email stack from DNS:
emailProvider(Google Workspace, Microsoft 365, Zoho Mail, Proofpoint, Mimecast...) from MX records,emailSenders[](SendGrid, Mailchimp, Klaviyo, HubSpot...) from SPF includes, plus rawmxRecords,spfIncludes,nameservers. TXT verification records also reveal SaaS tools the company uses (DocuSign, Atlassian, OpenAI...), markeddetectedVia: ["dns"]. - Ecommerce details: Shopify theme name and version,
myshopify.comdomain and shop name, city, country and currency (from/meta.json), BigCommerce store hash, WooCommerce version. - Page facts: HTTP status, final URL, title, language, social links (Facebook, Instagram, X, LinkedIn, YouTube, TikTok, Pinterest, GitHub) and a business contact mailbox (
info@,support@,sales@style addresses only, never a named person).
Input
| Field | Type | Default | Notes |
|---|---|---|---|
domains | array | 4 sample domains | Domains or full URLs. Path is ignored. Duplicates removed. |
includeDns | boolean | true | MX, TXT, NS, SOA over DNS-over-HTTPS. |
categoriesFilter | array | none | Only list technologies whose category contains a word, e.g. ecommerce, analytics, payment, cms, advertising. |
minConfidence | integer | 0 | Use 50 to drop weak single-signal matches. |
maxDomains | integer | 1000 | Safety cap. |
maxConcurrency | integer | 15 | 1 to 20 domains in parallel. |
proxyConfiguration | object | Apify datacenter | Used for one retry only when a site answers 403, 429 or 503. |
{ "domains": ["shopify.com", "allbirds.com", "wordpress.org", "discount-pantry.com"], "includeDns": true }
Output example (real run, trimmed)
{"domain": "allbirds.com","finalUrl": "https://www.allbirds.com/","status": 200,"reachable": true,"title": "Allbirds: Comfortable, Sustainable Shoes & Apparel","language": "en-US","technologies": [{ "name": "Shopify", "categories": ["Ecommerce"], "version": null, "confidence": 100, "detectedVia": ["meta", "scriptSrc"] },{ "name": "Cloudflare", "categories": ["CDN"], "version": null, "confidence": 100, "detectedVia": ["headers"] },{ "name": "Google Tag Manager", "categories": ["Tag managers"], "version": null, "confidence": 100, "detectedVia": ["html"] }],"cms": null,"ecommercePlatform": "Shopify","cdn": "Cloudflare","emailProvider": "Microsoft 365","emailSenders": [],"spfIncludes": ["allbirds_com._es.easydmarc.com", "spf.protection.outlook.com"],"nameservers": ["ns1.markmonitor.com", "ns2.markmonitor.com"],"ecommerceDetails": { "shopifyTheme": "allbirds-theme", "shopifyThemeVersion": "1.231.12", "myshopifyDomain": "weareallbirds.myshopify.com", "name": "Allbirds", "city": "Beverly Hills", "country": "US", "currency": "USD" },"socialLinks": { "instagram": "https://instagram.com/allbirds", "facebook": "https://facebook.com/weareallbirds", "tiktok": "https://tiktok.com/@weareallbirds" },"contactEmail": "help@allbirds.com","scrapedAt": "2026-10-31T01:50:01+00:00"}
Pricing
Pay per event, no start fee.
| Event | Price |
|---|---|
| Domain analysed (reachable, HTTP status below 400) | $0.001 |
| Unreachable, blocked (403/429), DNS failure | free |
Cost per 1,000 domains: $1.00 plus normal platform compute (a 30 domain run takes about 30 seconds).
Use cases
- Build a lead list of every Shopify or WooCommerce store in a domain list, with theme, country and currency.
- Find companies on Google Workspace vs Microsoft 365, or using SendGrid / Mailchimp / Klaviyo, for outbound targeting.
- Competitor monitoring: schedule runs and diff the technology list.
- Agencies: audit a client's stack, CDN, analytics and ad pixels before a pitch.
FAQ
How many requests per domain? One homepage GET, four DNS-over-HTTPS lookups, and one /meta.json GET only for Shopify sites.
Does it run a browser? No. Technologies that only reveal themselves after JavaScript runs (rules based on JS globals or the rendered DOM) are not detected. Server headers, HTML, script URLs, cookies, meta tags and DNS cover the large majority of CMS, ecommerce, CDN, analytics and hosting detection.
Why is a site unreachable? Some sites answer 403 to automated traffic even through a datacenter proxy. They come back with status: 403, still show DNS-derived fields, and are free. The actor does not use residential proxies or evade bot protection.
Is the contact email personal data? Only role mailboxes already published on the homepage are returned (info, contact, support, sales and similar). Named individuals are skipped.
Where do the fingerprints come from? The open-source community Wappalyzer fingerprint set (enthec/webappanalyzer, GPL-3.0). The attribution and licence file ship with the actor. The detection engine is original code.
Limits
- Homepage only; subpages and logged-in areas are not analysed.
- Versions are only reported when the page exposes them.
- Confidence is the sum of matching signals, capped at 100.
- DNS-based entries show that a domain was verified with a service, which usually but not always means active use.