Tech Stack Detector avatar

Tech Stack Detector

Pricing

from $35.00 / 1,000 websites

Go to Apify Store
Tech Stack Detector

Tech Stack Detector

Find out what any website runs on: CMS, e-commerce platform, framework, analytics, ad pixels, payments, hosting, CRM and chat — 220 signatures — plus the e-mails, phones and social profiles from the same page, in one row per website.

Pricing

from $35.00 / 1,000 websites

Rating

5.0

(1)

Developer

Matvey

Matvey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

a day ago

Last modified

Share

Tech Stack Detector tells you what a website is built on — CMS, e-commerce platform, front-end framework, analytics, advertising pixels, payments, hosting and CDN, CRM and e-mail tools, live chat, cookie consent, reviews, A/B testing — 209 signatures across 32 categories. Paste one domain or ten thousand; every website comes back as one flat row.

And because the home page is already fetched, the same row carries the e-mails, phone numbers and social profiles found on it. One run gives you the technology list and the way to contact whoever runs it — which is what a prospect list actually needs.

No API key, no browser, no subscription. Sites that refuse to answer are reported as such and are never billed.

What is Tech Stack Detector?

It is a Wappalyzer and BuiltWith alternative you can call from an API, a spreadsheet or an AI agent. Give it a list of websites; get back, per website: what they run, in which category, whether the evidence came from the page or from a response header, and how to reach them.

Typical uses: building prospect lists ("Shopify stores that do not use Klaviyo yet"), qualifying inbound leads before a sales call, competitive research on a market segment, auditing a portfolio of client sites, and enriching a CRM with firmographic signals.

What it detects

CategoryExamples
E-commerceShopify, WooCommerce, Magento, BigCommerce, PrestaShop, Ecwid
CMS and buildersWordPress, Wix, Squarespace, Webflow, Drupal, Joomla, Tilda, HubSpot CMS
Front-endNext.js, Nuxt, React, Vue, Angular, Svelte, Gatsby, Astro, jQuery, Bootstrap, Tailwind
AnalyticsGA4, Universal Analytics, Matomo, Plausible, Hotjar, Clarity, Mixpanel, Amplitude, Heap
Ad pixelsMeta, Google Ads, TikTok, LinkedIn, X, Pinterest, Snapchat, Reddit, Criteo, Taboola
Marketing and CRMHubSpot, Marketo, Klaviyo, Mailchimp, ActiveCampaign, Omnisend, Segment, Tealium, Braze
PaymentsStripe, PayPal, Square, Klarna, Afterpay, Zip, Apple Pay
Hosting, CDN, serverCloudflare, Vercel, Netlify, Akamai, Fastly, CloudFront, nginx, Apache, LiteSpeed, IIS
Consent and securityOneTrust, Cookiebot, CookieYes, Usercentrics, reCAPTCHA, hCaptcha, Turnstile
Chat, booking, reviewsIntercom, Zendesk, Tawk, Crisp, Calendly, Acuity, Mindbody, Yotpo, Judge.me, Trustpilot
A/B, search, video, monitoringOptimizely, VWO, Adobe Target, Algolia, Vimeo, Wistia, Sentry, New Relic, Datadog

What the numbers actually are

Measured on 16 September 2026 against 97 real websites — a mix of small businesses taken from social-profile links and well-known brands across retail, media, SaaS and local services, in several countries:

Websites that answered88% directly, 92% when blocked ones are retried through a proxy
Technologies found per website4 on average, median 4, best 12
Websites with at least one technology95% of those that answered (81 of 85)
Social profiles found78% of websites
E-mail on the home page28% of websites
Median time per websiteabout 1.5 seconds

The 8% that refuse everything are heavy retail and media sites behind enterprise bot protection. They come back as an error row with the reason, not as an empty result pretending to be one, and they cost nothing.

How much does it cost?

$0.05 per website — one row, one charge, no start fee.

  • Sites that refuse every attempt: $0.
  • Sites removed by your own filters: $0.
  • Contacts, categories, titles and headers: included, not an add-on.

A thousand domains is $50. The API this replaces starts at several hundred dollars a month for a fixed quota.

How to use it in three steps

  1. Paste domains into 🌐 Websitesshopify.com, gymshark.com, or a list of ten thousand from a sheet.
  2. If you are building a prospect list, fill in ✅ Keep only sites that use and 🚫 Drop sites that use. Filtered-out sites are not billed.
  3. Press Start, then download JSON, CSV or Excel — or call the run from the API, n8n, Make, Zapier or an AI agent.

⬇️ Input

{
"domains": ["gymshark.com", "allbirds.com", "brooklinen.com"],
"mustUse": ["shopify"],
"mustNotUse": ["klaviyo"],
"includeContacts": true
}

That input answers a real sales question: Shopify stores that have not bought Klaviyo yet — with the e-mail address to write to, in the same row.

Filters

✅ Keep only sites that use requires every named technology; 🚫 Drop sites that use removes a site if any of them is present. Names are matched loosely, so shopify matches both Shopify and Shopify Plus. 🗂️ Only these categories narrows what appears in the row when you only care about, say, payments.

⬆️ Output

{
"type": "website",
"domain": "gymshark.com",
"technologies": ["Shopify", "Google Tag Manager", "Klaviyo", "Cloudflare"],
"technologyCount": 4,
"categories": ["cdn", "ecommerce", "email_marketing", "tag_manager"],
"ecommerce": "Shopify",
"hosting": ["Cloudflare"],
"marketing": ["Klaviyo"],
"adsPixels": ["Meta Pixel"],
"emails": ["press@gymshark.com"],
"instagram": "https://instagram.com/gymshark",
"title": "Gymshark",
"readVia": "direct",
"scrapedAt": "2026-09-16T12:04:11.004Z"
}

technologiesDetailed adds, per technology, its category and whether the evidence was in the page or in a response header — so you can tell a script tag from a CDN header when it matters. Two table views come with the dataset: Tech stack and Contacts.

Use cases

Prospect lists for anyone selling to online stores

Filter by platform, exclude the competitor's tool, keep the e-mail. That is the whole workflow, in one actor.

Qualifying inbound leads

Before the call, know whether they are on Shopify or Magento, whether they already run a consent platform, and which analytics they trust.

Competitive and market research

Scan a market segment and count platforms, pixels and payment providers. The category fields make the aggregation a one-liner.

Agencies auditing client sites

Check a portfolio for missing pixels, missing consent banners or duplicate analytics, on a schedule.

AI agents

Flat row, no required fields, 209 named signatures — callable from the Apify API or the Apify MCP server without reading this page.

Integrations

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("lergassy/tech-stack-detector").call(run_input={
"domains": ["gymshark.com", "allbirds.com"],
"mustUse": ["shopify"],
})
for site in client.dataset(run["defaultDatasetId"]).iterate_items():
print(site["domain"], site["technologies"], site["emails"])

Works the same from n8n, Make, Zapier, Google Sheets, a webhook, or the Apify MCP server.

❓ FAQ

It reads the public home page of a website, exactly as a browser would, and stores no personal data beyond the contact details the site publishes itself. That is generally lawful, but what you do with contact data is regulated — check GDPR, the Australian Privacy Act or your local equivalent before you e-mail anyone.

How is it different from Wappalyzer or BuiltWith?

Same job, no subscription and no quota: you pay $0.05 for each website you actually look up. This one also returns the contacts in the same row, which those two sell separately.

Why does a site come back with no technologies?

Either it genuinely runs nothing detectable from the home page, or everything is loaded later by JavaScript. Signatures are matched against resource URLs, script bodies and response headers rather than page text, so the word "Shopify" in a blog post is not counted as an installation.

What about sites that block scrapers?

Blocked sites are retried from residential addresses when that option is on. About 8% of the web's most heavily defended sites still refuse everyone; you get an error row with the reason and no charge.

Can I use it with the API or an MCP server?

Yes to both, and there are no required input fields, so an agent can call it correctly on the first try.

Your feedback

A technology missing from the signature list? Open an issue on the Issues tab and it gets added — that list is the product.

You might also like

ActorWhat it does
Website Tech Gap ScannerThe same detection turned into a sales report: what a site is missing and what to pitch
Website Contacts APIContacts in depth: crawls beyond the home page for e-mails and phones
Email Finder APIA name and a domain in, the likely work e-mail out
Email & Phone VerifierChecks the addresses and numbers before you use them