Tech Stack Detector: 6,000+ Technologies avatar

Tech Stack Detector: 6,000+ Technologies

Pricing

from $1.00 / 1,000 website analyzeds

Go to Apify Store
Tech Stack Detector: 6,000+ Technologies

Tech Stack Detector: 6,000+ Technologies

See what any website is built with: CMS, ecommerce, analytics, ad pixels, JS frameworks, CDN, hosting, payments, live chat and email provider. 6,000+ technology fingerprints plus DNS, with versions and evidence. BuiltWith-style lookups in bulk.

Pricing

from $1.00 / 1,000 website analyzeds

Rating

0.0

(0)

Developer

mick_

mick_

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Tech Stack Detector: 6,000+ Technologies logo

Tech Stack Detector: 6,000+ Technologies

Find out what any website is built with. For each site you get its CMS, ecommerce platform, analytics and ad pixels, tag manager, JavaScript frameworks, CDN, hosting, payment providers, live chat, marketing tools and email provider, with versions where the site reveals them and the evidence behind every detection. Like BuiltWith or Wappalyzer, for whole lists of websites.

At a glance
You give itA list of websites or domains
You getOne row per website: CMS, ecommerce, analytics, ad pixels, frameworks, CDN, hosting, payments, email provider
Price$0.005 per run + $0.002 per website (Free plan, lower on paid plans)
Speed8 websites in about 20 seconds, 30 in about 3 minutes
NeedsNothing: no login, no API key, no proxy

What you get

  • 6,000+ technologies. Fingerprints from the open-source webappanalyzer database, plus DNS checks and static signatures for popular tools. On the same 5 websites, this actor reported 111 technologies; a popular alternative that advertises 45+ technologies reported 27.
  • Evidence for every detection: which header, cookie, meta tag, script, HTML pattern, DOM element or DNS record matched. No guessing from loose words: a CSS class named ghost-sm is not the Ghost CMS.
  • Versions when the site exposes them (for example WordPress 7.2, PHP 8.2.1).
  • Email provider from MX records: Google Workspace, Microsoft 365, Zoho and others. Useful for sales targeting.
  • SSL certificate: who issued it (sslIssuer, for example Let's Encrypt or DigiCert) and when it expires (sslValidUntil). Handy for agencies looking for certificates about to run out.
  • Only the categories you need: set onlyCategories to ["cms", "ecommerce"] or ["Payment processors"] and every other technology is left out.
  • Deeper scan on request: scanScriptFiles also reads the site's JavaScript files and finds libraries and widgets that leave no trace in the HTML.
  • Ready-to-filter columns: cms, ecommerce, analytics, advertising, tagManagers, marketingAutomation, liveChat, payments, javascriptFrameworks, webFrameworks, programmingLanguages, webServers, cdn, hosting, security, emailProvider.
  • Every category in a categories map, and the full technology list with confidence and website link.
  • Gets past basic bot walls: a website that turns away plain requests is retried once with a browser-like connection before it counts as failed.
  • Fair billing: websites that do not answer get a diagnostic row and are not charged. The same website entered twice (stripe.com, https://www.Stripe.com/) is analyzed and charged once.

Use cases

  • Lead generation by technology. All Shopify stores in a list, every site on WordPress, companies using HubSpot or Intercom.
  • Sales qualification. Know a prospect's stack before the call.
  • Competitive research. What analytics, ad pixels and frameworks competitors run.
  • Agency prospecting. Find sites on outdated versions or without analytics.
  • Market research. Technology adoption across an industry list.

Example inputs

A list of websites

{ "urls": ["shopify.com", "wordpress.org", "apify.com", "allbirds.com", "stripe.com"] }

Only confident detections, no DNS

{ "urls": ["..."], "minConfidence": 75, "checkDns": false }

Only the platform and payment stack, with a deeper scan

{ "urls": ["allbirds.com", "gymshark.com"], "onlyCategories": ["cms", "ecommerce", "payments"], "scanScriptFiles": true }

Output

One row per website. A real row from a test run on 2026-09-29 (lists shortened here):

{
"url": "https://apify.com",
"domain": "apify.com",
"status": "succeeded",
"error": null,
"finalUrl": "https://apify.com",
"httpStatus": 200,
"title": "Apify: Marketplace of ready-to-run tools for AI",
"sslIssuer": "Amazon",
"sslValidUntil": "2027-01-16",
"technologyCount": 25,
"technologyNames": [
"AWS Certificate Manager",
"Algolia",
"Amazon CloudFront",
"Amazon Route 53",
"Amazon S3",
"Amazon SES",
"Amazon Web Services",
"Google Workspace",
"HSTS",
"HTTP/3",
"HubSpot",
"Leadfeeder",
"..."
],
"cms": [
"Next.js"
],
"ecommerce": [],
"analytics": [
"Leadfeeder",
"Linkedin Insight Tag"
],
"advertising": [],
"tagManagers": [
"Google Tag Manager"
],
"marketingAutomation": [
"Intercom"
],
"liveChat": [
"Intercom"
],
"payments": [],
"javascriptFrameworks": [
"Next.js",
"React",
"styled-components"
],
"webFrameworks": [
"Next.js"
],
"programmingLanguages": [],
"webServers": [
"Next.js"
],
"cdn": [
"Amazon CloudFront",
"Amazon S3"
],
"hosting": [
"Amazon Route 53",
"Amazon Web Services"
],
"security": [
"HSTS"
],
"emailProvider": [
"Google Workspace"
],
"technologies": [
{
"name": "AWS Certificate Manager",
"categories": [
"SSL/TLS certificate authorities"
],
"version": null,
"confidence": 100,
"evidence": [
"tls certificate"
],
"website": "https://aws.amazon.com/certificate-manager/"
},
{
"name": "Amazon CloudFront",
"categories": [
"CDN"
],
"version": null,
"confidence": 100,
"evidence": [
"header via",
"header x-amz-cf-id"
],
"website": "https://aws.amazon.com/cloudfront/"
},
{
"name": "Google Workspace",
"categories": [
"Webmail",
"Email"
],
"version": null,
"confidence": 100,
"evidence": [
"dns MX"
],
"website": "https://workspace.google.com/"
},
{
"name": "Next.js",
"categories": [
"JavaScript frameworks",
"Web frameworks",
"Web servers",
"Static site generator"
],
"version": null,
"confidence": 75,
"evidence": [
"static signature"
],
"website": "https://nextjs.org"
}
],
"categories": {
"Analytics": [
"Leadfeeder",
"Linkedin Insight Tag",
"Mixpanel"
],
"Artificial Intelligence": [
"OpenAI"
],
"CDN": [
"Amazon CloudFront",
"Amazon S3"
],
"CRM": [
"Intercom"
],
"Development": [
"Zapier",
"styled-components"
]
}
}

Pricing

Pay per event:

  • $0.005 per run start
  • $0.002 per website analyzed on the Free plan (lower on higher Apify plans)

Websites that do not answer are not charged. Apify platform usage is billed separately to your account and is small: 30 websites used about $0.01.

WebsitesActor cost
10about $0.025
100about $0.21
1,000about $2.01

Automate it with n8n

Each workflow uses n8n's official Apify node, operation Run actor and get dataset, actor labrat011/tech-stack-detector.

1. Enrich new CRM companies with their stack

HubSpot Trigger (company created)
> Apify: Run actor and get dataset { "urls": ["{{ $json.domain }}"] }
> HubSpot: update company properties cms, ecommerce, emailProvider, analytics

Switch Input JSON to Expression so the domain is filled in.

2. Find every Shopify store in a list

Google Sheets: read a column of domains
> Aggregate: into one list
> Apify: Run actor and get dataset { "urls": {{ JSON.stringify($json.domain) }} }
> Filter: ecommerce contains "Shopify"
> Google Sheets: write the matches to a new tab

3. Competitor stack change alerts

Schedule Trigger (weekly)
> Apify: Run actor and get dataset (competitor domains)
> Compare with last week's technologyNames (stored in a Sheet or Data Table)
> Slack: "Competitor X added Intercom, removed Drift"

4. Outreach for agencies

Manual Trigger
> Apify: Run actor and get dataset (prospect list)
> Filter: analytics is empty, or cms contains "WordPress" and the version is old
> Google Sheets: prospects with the reason to reach out

5. Email provider segmentation

Manual Trigger
> Apify: Run actor and get dataset (company domains, checkDns true)
> Switch: emailProvider contains "Google Workspace" / "Microsoft 365" / other
> Your outreach tool: tag each list for tailored messaging

For AI agents

  • Actor: labrat011/tech-stack-detector
  • Smallest input: { "urls": ["shopify.com"] }
  • Also accepted: url, domains, websites, startUrls (strings or { "url": ... } objects) and targetUrls, as a list or as one string separated by commas or new lines. { "url": "shopify.com, stripe.com" } works.
  • One row = one website, with technologies grouped by category and the evidence for each. Key fields: domain, status, technologyNames, cms, ecommerce, analytics, cdn.
  • Billing: apify-actor-start once per run, url-analyzed per website that answers. Cap spend with the number of urls or a maximum cost per run.
  • Run it: POST https://api.apify.com/v2/acts/labrat011~tech-stack-detector/run-sync-get-dataset-items with the input as the JSON body, or call it from the Apify MCP server.
  • Done signal: the run's status message reads Analyzed N websites (F did not answer).

FAQ

Why can it miss a technology that a browser extension shows? Some tools only appear after the page's JavaScript runs. This actor reads the page without running a browser, which keeps it fast and cheap, and adds static signatures for the most popular of those tools (Google Tag Manager, Next.js, Intercom, HubSpot, Hotjar, Facebook Pixel and more).

What does "Read script files" add? Many libraries only show up inside a site's JavaScript files. With scanScriptFiles on, the actor reads the start of up to 5 of them per website. A match found only there is reported at confidence 50, because large script bundles also contain names of tools the site does not run. Use minConfidence: 75 to leave those out.

Why is Google Analytics not reported when Google Tag Manager is? Tag Manager can load Analytics, but the page itself does not prove it. Only direct evidence is reported.

Why did a website fail with HTTP 403? Some large retail and news sites block automated visitors, even after the browser-like retry. Turn on Proxy in the input (residential works best) and run those sites again. Failed websites are not charged.

Where do the fingerprints come from? From webappanalyzer (GPL-3.0), the community-maintained successor of the Wappalyzer database, pinned to a tested version.

Support

Open an issue on the actor's Issues tab with the run ID and it will be looked at.