Tech Stack Detector - Bulk Wappalyzer & BuiltWith Alternative avatar

Tech Stack Detector - Bulk Wappalyzer & BuiltWith Alternative

Pricing

from $4.00 / 1,000 domain analyzeds

Go to Apify Store
Tech Stack Detector - Bulk Wappalyzer & BuiltWith Alternative

Tech Stack Detector - Bulk Wappalyzer & BuiltWith Alternative

Wappalyzer & BuiltWith alternative: detect 7,600+ technologies (CMS, e-commerce, analytics, frameworks, CDN, payments) on thousands of domains, plus email provider, SPF and DMARC. Failed domains free.

Pricing

from $4.00 / 1,000 domain analyzeds

Rating

0.0

(0)

Developer

TinyRex

TinyRex

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

Tech Stack Detector – Bulk Wappalyzer & BuiltWith Alternative (+ Email Provider)

Find out which technologies any website uses, for thousands of domains at once, fast and cheaply. The actor recognizes 7,600+ technologies (CMS, e-commerce platforms, analytics, tag managers, JavaScript frameworks, CDNs, hosting/PaaS, live chat, payment providers, A/B testing, marketing automation and more). It also tells you each domain's email provider (MX), the SaaS senders listed in SPF (SendGrid, Mailchimp, HubSpot, Salesforce and others) and the DMARC policy.

Why this one: about $4 per 1,000 analyzed domains, a fraction of what popular Wappalyzer and BuiltWith alternatives charge per lookup. Unreachable, non-existent, blocked and timed-out domains are free, so a messy domain list never costs you extra.

  • ⚡ Fast and light. Plain HTTP, no browser. 100+ domains per minute, and 10,000 domains in roughly an hour and a half at the default memory.
  • 💸 You pay only for analyzed domains. Unreachable, non-existent, blocked (403/429/5xx) and timed-out domains are free.
  • 🎯 Lead filter. Keep only domains that use, for example, Shopify, WooCommerce or HubSpot.
  • 📧 Email intelligence. Google Workspace vs Microsoft 365 vs Zoho and more, plus the outbound tools a company sends from.
  • 🤖 API, MCP and AI-agent friendly. Clean JSON with a flat techNames array and a byCategory map.

Use cases

  • Lead generation. Upload a list of domains and keep only Shopify / WooCommerce / Magento stores, WordPress sites, sites without Google Analytics, and so on.
  • Sales intelligence and outbound. Personalize your pitch: "I see you use Klaviyo and Shopify…". Pick the right email deliverability approach based on whether the company runs Google Workspace or Microsoft 365.
  • Competitor research. See which analytics, CDN, framework and marketing stack your competitors run.
  • Market research. Measure technology adoption across a list of thousands of sites (for example, the share of a country's top sites that run WordPress).
  • Agencies. Qualify prospects before reaching out (outdated CMS versions, missing HSTS, no tag manager).

Input

FieldTypeDescription
domainsarray of stringsDomains or URLs (example.com, https://www.example.com/page). Normalized and deduplicated automatically.
includeDnsboolean (default true)Add email provider (MX), SPF senders and DMARC policy.
onlyIfUsesarray of stringsOptional lead filter. Output only domains that use at least one of these technologies (case-insensitive), e.g. ["Shopify","WooCommerce"].
categoriesarray of stringsOptional. Keep only technologies in these categories, e.g. ["Ecommerce","CMS","Analytics"].
minConfidenceinteger (default 50)Minimum detection confidence (0–100).
maxConcurrencyinteger (default 20)Parallel requests.
requestTimeoutSecsinteger (default 20)Per-domain timeout.
proxyConfigurationobjectOptional Apify Proxy. It is usually not needed; use it if many domains block datacenter IPs.

Example input:

{
"domains": ["vercel.com", "gymshark.com", "techcrunch.com", "olx.ba"],
"includeDns": true,
"onlyIfUses": [],
"minConfidence": 50
}

Output

One item per domain. Example (shortened):

{
"input": "vercel.com",
"domain": "vercel.com",
"finalUrl": "https://vercel.com/",
"statusCode": 200,
"title": "Agentic Infrastructure - Vercel",
"language": "en",
"technologies": [
{ "name": "Next.js", "version": null, "confidence": 100, "categories": ["JavaScript frameworks", "Web frameworks"], "website": "https://nextjs.org", "implied": false },
{ "name": "Vercel", "version": null, "confidence": 100, "categories": ["PaaS"], "website": "https://vercel.com", "implied": false }
],
"techNames": ["Amazon S3", "Amazon Web Services", "HSTS", "Next.js", "Node.js", "React", "Vercel", "Webpack"],
"byCategory": { "JavaScript frameworks": ["Next.js", "React"], "PaaS": ["Amazon Web Services", "Vercel"] },
"email": {
"mxHosts": ["aspmx.l.google.com"],
"emailProvider": "Google Workspace",
"spfRecord": "v=spf1 include:_netblocks.google.com include:sendgrid.net … ~all",
"spfSenders": ["SendGrid", "Amazon SES", "Salesforce", "Marketo", "Postmark"],
"dmarcPolicy": "quarantine"
},
"blocked": false,
"error": null,
"checkedAt": "2026-10-04T06:21:53.521Z"
}
  • blocked: true means the site answered with an error or anti-bot page (403, 429, 5xx…). Whatever could be detected from headers is still returned, and the domain is not charged.
  • error is set when the domain could not be reached at all (DNS not found, timeout). It is not charged.
  • A run summary (delivered, filtered-out, blocked and failed counts, plus the most common technologies) is saved in the key-value store under the key SUMMARY.

You can download the dataset as JSON, CSV, Excel, XML or HTML, or read it via the Apify API.

Pricing

Pay per event, with simple and transparent pricing:

  • Domain analyzed (domain-analyzed, primary event): one charge per successfully analyzed domain that is delivered to your dataset.
  • Domain filtered out (domain-filtered-out, much cheaper): charged only when you use the onlyIfUses lead filter, for domains that were scanned but did not match. These are not written to the dataset.
  • Free: unreachable, non-existent, timed-out and blocked (403/429/5xx) domains.

See the Pricing tab for current prices. You can set a maximum cost per run, and the actor stops gracefully when it is reached.

How it works

For each domain the actor fetches the homepage over HTTPS. If that fails, it tries www. and then HTTP. It then matches response headers, cookies, meta tags, HTML, script URLs, inline scripts and DOM selectors against an open-source Wappalyzer-compatible fingerprint database of 7,600+ technologies. Versions are extracted where the fingerprints allow it, and implied technologies are added automatically (for example, WooCommerce → WordPress → PHP). In parallel it queries public DNS records (MX, SPF TXT, DMARC TXT).

Limitations

  • No JavaScript execution. Technologies that can be detected only through JavaScript globals inside a real browser may be missed. Most technologies leave traces in HTML, headers, cookies or script URLs, so coverage is high, but it is not 100%.
  • Only the homepage (after redirects) is analyzed, not the whole site.
  • Sites with aggressive anti-bot protection may return blocked: true. You are not charged for those.
  • Detection relies on public fingerprints and may contain occasional false positives or negatives.

Use with AI agents (MCP)

This Actor works as a tool for AI agents through the Apify MCP server at https://mcp.apify.com. Connect Claude, Cursor, VS Code, n8n or any other MCP client to https://mcp.apify.com?tools=tinyrex/tech-stack-detector and the agent can run it from a plain-language request, for example: "Which of these 200 domains use Shopify and Klaviyo?". Results come back as clean, structured JSON at the same pay-per-result price, and failed inputs stay free.

📘 Step-by-step guide with Python, JavaScript, curl and MCP examples: Bulk tech stack lookup: a Wappalyzer / BuiltWith alternative for thousands of domains

  • Shopify Products Scraper: Found Shopify stores with the lead filter? Export all their products, prices and stock.
  • WooCommerce Products Scraper: Same for WooCommerce stores: products, variations, prices and stock.
  • ATS Jobs Scraper: When the detector flags recruiting tools like Greenhouse, Lever or Ashby, pull every open job from those companies as a hiring signal.
  • Workday Jobs Scraper: Enterprise companies hiring on Workday: all jobs with full descriptions.

FAQ

Is this legal? The actor makes one ordinary request to each site's public homepage and reads public DNS records, much like a browser or a DNS lookup. It does not log in, does not bypass paywalls and does not collect personal data. You are responsible for how you use the results.

How is this different from BuiltWith or Wappalyzer? It is built for bulk lists and automation, it is much cheaper per domain, it charges nothing for failures, and it adds email-provider and SPF intelligence in the same row.

How fast is it? About 100–150 domains per minute with the default 2 GB memory, and faster with more memory (4 GB and 8 GB runs use more detection workers). Speed also depends on how fast the target sites respond.

Can I use it from my code or AI agent? Yes. Use the Apify API, the JavaScript/Python clients, Make/Zapier/n8n integrations or Apify's MCP server.

Something is detected wrong or missing? Open an issue in the Issues tab with the domain and the expected technology. We review issues regularly.