Website Tech Stack Detector: BuiltWith Alternative avatar

Website Tech Stack Detector: BuiltWith Alternative

Pricing

from $3.00 / 1,000 site analyzeds

Go to Apify Store
Website Tech Stack Detector: BuiltWith Alternative

Website Tech Stack Detector: BuiltWith Alternative

Find the technologies behind a list of websites: CMS, ecommerce platform, JavaScript frameworks, analytics and ad tags, CDN, hosting and email provider. Each technology comes with a confidence score and the evidence it was found from. Failed and blocked sites are free.

Pricing

from $3.00 / 1,000 site analyzeds

Rating

0.0

(0)

Developer

Plainsource

Plainsource

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

Website Tech Stack Detector is a BuiltWith alternative and Wappalyzer alternative that answers "what CMS is this site using?" for a whole list of websites at once. It fetches each homepage and reports the technologies behind it: CMS or site builder, ecommerce platform, JavaScript frameworks, analytics and ad tags, CDN, hosting and web server. It also reads the domain's DNS records to find the email provider, the DNS host and the SaaS tools the domain has verified.

Each technology comes with a category, a version when the site exposes one, a confidence score from 0 to 100 and the evidence it was found from. Sites that fail or show no technologies are not charged.

What data can Website Tech Stack Detector extract?

One row per website.

FieldMeaning
input, url, domainThe entry as you typed it, the URL that was requested, and the registered domain used for the DNS lookups.
statusok, failed, site_blocked, not_allowed, invalid_input or skipped.
finalUrl, httpStatusWhere redirects ended, and the HTTP status of that page.
title, description, languageFrom the page's <title>, meta description and <html lang>.
cms, ecommercePlatformThe CMS, site builder or ecommerce platform found on the page with the highest confidence, or null.
hostingProvider, cdnProviderHosting and CDN names, from headers, CNAMEs and published IP ranges.
emailProviderFrom the MX records, for example Google Workspace or Microsoft 365.
technologyCount, technologyNamesHow many technologies were found, and their names (handy for CSV and spreadsheets).
technologiesOne object per technology: name, category, version, confidence, evidence (up to 3 strings) and source (page or dns).
checkedAt, errorWhen the site was checked, and why it could not be analysed, or a note such as "No technologies were detected".

A row with site_blocked, failed or not_allowed can still list technologies found in DNS.

What it detects

The Actor has 312 page fingerprints in 63 categories, plus DNS rules for 41 mail providers, 40 DNS hosts and 66 services that leave a TXT verification record. Some examples:

CategoryExamples
CMS and site buildersWordPress, Drupal, Joomla, Ghost, Webflow, Wix, Squarespace, Framer, HubSpot CMS, Adobe Experience Manager, Contentful, Sanity
Ecommerce and paymentsShopify, WooCommerce, BigCommerce, Magento, PrestaShop, Salesforce Commerce Cloud, Stripe, PayPal, Klarna, Afterpay
FrameworksNext.js, Nuxt, React, Vue.js, Angular, SvelteKit, Astro, Gatsby, Remix, Hugo, Docusaurus, Laravel, Django, Ruby on Rails
Analytics and adsGoogle Analytics, Google Tag Manager, Meta Pixel, LinkedIn Insight Tag, Hotjar, Microsoft Clarity, Mixpanel, Segment, PostHog
Marketing and chatHubSpot, Marketo, Klaviyo, Mailchimp, Intercom, Drift, Zendesk, Crisp
InfrastructureCloudflare, Fastly, Akamai, Amazon CloudFront, Vercel, Netlify, WP Engine, Nginx, Apache, LiteSpeed
From DNSGoogle Workspace, Microsoft 365, Proofpoint, Mimecast, Amazon Route 53, SendGrid, Mailgun, Atlassian, DocuSign, Zoom

How to use Website Tech Stack Detector

  1. Open the Actor on Apify and paste your websites into Websites. Use bare domains (example.com, opened as https://example.com/) or full URLs (https://shop.example.com/). Up to 5,000 per run.
  2. Leave Also detect from DNS records on to add the email provider, DNS host and verified SaaS tools. Turn it off if you only want what the page shows.
  3. Optional: change Minimum confidence (default 50). Lower it to 0 to see weaker matches.
  4. Click Start.
  5. Open the Output tab, or download the dataset as JSON, CSV or Excel. The run's key-value store also has an OUTPUT record with counts per status and the 50 most common technologies in the run.

How much does it cost?

The Actor uses pay-per-event pricing.

EventPrice
Run start$0.002 per GB of memory, charged once per run (the Actor runs on 256 MB, so one event, $0.002)
Website analysed$0.003 per website

You are charged for a website only when its homepage was fetched and at least one technology was found. Sites that fail, block automated visitors, answer with a bot-check page, are disallowed by robots.txt, or show no technologies are free.

Worked examples: 1,000 websites cost $0.002 + 1,000 x $0.003 = $3.002. If 80 of them block the request, you pay for 920: $2.762. If a run reaches the maximum cost you set, the remaining websites are returned with status skipped.

Input example

{
"urls": ["vercel.com", "wordpress.org", "www.python.org"]
}
FieldDefaultWhat it does
urlsDomains or full URLs. Up to 5,000 per run.
detectFromDnsonAdds the email provider, DNS host, email-sending services and verified SaaS tools from DNS.
minConfidence50Leaves out technologies scored below this.
respectRobotsTxtonSkips sites whose robots.txt disallows the homepage.
maxConcurrency51 to 20 websites at once. Requests to the same host are always at least 1 second apart.
timeoutSecs205 to 60 seconds. A failed page is retried once.

Output example

This is the row for vercel.com from a real run on 2026-10-28 with the input above. The technologies list is cut to six of its 20 entries; technologyNames still lists all 20, and every value shown is as returned.

{
"input": "vercel.com",
"url": "https://vercel.com/",
"domain": "vercel.com",
"status": "ok",
"finalUrl": "https://vercel.com/",
"httpStatus": 200,
"title": "Agentic Infrastructure - Vercel",
"description": "The autonomous stack for every app and agent.",
"language": "en",
"cms": null,
"ecommercePlatform": null,
"hostingProvider": "Vercel",
"cdnProvider": null,
"emailProvider": "Google Workspace",
"technologyCount": 20,
"technologyNames": ["Next.js", "React", "Anthropic", "OpenAI", "Mixpanel", "Zoom", "Vercel DNS", "DocuSign", "Amazon SES", "Marketo", "Postmark", "Salesforce", "SendGrid", "Google Workspace", "Vercel", "Stripe", "Apple Business", "Microsoft 365", "Ahrefs", "Google Search Console"],
"technologies": [
{ "name": "Next.js", "category": "Web framework", "version": null, "confidence": 100, "evidence": ["header x-powered-by: Next.js, Payload", "header x-nextjs-prerender: 1", "header x-nextjs-stale-time: 300"], "source": "page" },
{ "name": "React", "category": "JavaScript framework", "version": null, "confidence": 100, "evidence": ["implied by Next.js"], "source": "page" },
{ "name": "Vercel DNS", "category": "DNS hosting", "version": null, "confidence": 100, "evidence": ["NS ns1.vercel-dns.com", "NS ns2.vercel-dns.com"], "source": "dns" },
{ "name": "Amazon SES", "category": "Email delivery", "version": null, "confidence": 100, "evidence": ["SPF include:amazonses.com"], "source": "dns" },
{ "name": "Google Workspace", "category": "Email hosting", "version": null, "confidence": 100, "evidence": ["MX aspmx.l.google.com", "MX alt1.aspmx.l.google.com", "MX alt2.aspmx.l.google.com"], "source": "dns" },
{ "name": "Vercel", "category": "Hosting", "version": null, "confidence": 100, "evidence": ["header server: Vercel", "header x-vercel-id: iad1::wp6qd-1793225382384-584fc0aecf99", "header x-vercel-cache: HIT"], "source": "page" }
],
"checkedAt": "2026-10-28T22:09:42.314Z",
"error": null
}

In the same run wordpress.org was reported with cms set to WordPress and 7 technologies, and python.org with Fastly as cdnProvider and 15 technologies. All three rows had the status ok.

Use cases

  • Add "uses Shopify, WordPress or HubSpot" to a lead list.
  • Find which competitors use a given analytics, chat or ecommerce tool.
  • Check what a prospect's website is built with before a sales call.
  • Audit your own sites for old jQuery versions or forgotten tags.
  • Build a list of every site on a given CMS or framework from a list of domains you already have.
  • Find out which email provider and DNS host a company uses.

FAQ

How does it compare with BuiltWith and Wappalyzer?

It answers the same question, "what is this website built with?", for a list you provide. It reads one page per site as the server sends it, so it will not match the depth of a full crawl or of a browser extension that runs the page's JavaScript. Each technology comes with the evidence it was found from, so you can judge a result yourself. The fingerprints were written for this Actor from what each product publicly exposes: the headers it sets, its cookie names, its <meta generator> value and the hosts its scripts load from. They are not copied from Wappalyzer's data.

Why is a tool I know the site uses missing?

The page is read as the server sends it, without running JavaScript in a browser. Tags added later by Google Tag Manager, and content built only in the browser, are not visible this way. Lowering Minimum confidence to 0 also shows weaker matches.

What does the confidence score mean?

A response header, cookie name, meta tag or script URL scores 90 to 100. A generic HTML pattern scores 40 to 70; distinctive markup, such as the __NEXT_DATA__ script of Next.js, scores higher. Several weak signals for the same technology add up, capped at 100. Implied technologies (PHP for WordPress, React for Next.js) take the score of the one that implied them.

Why does a row say site_blocked?

The site answered with HTTP 401, 403, 429 or 503, or with a bot-check page. This Actor does not try to get around that, and the row is free. There are no proxies, logins or bot-check workarounds.

What are the limits?

Only the homepage (or the URL you give) and robots.txt are fetched, with one plain HTTP request per site. Pages larger than 3 MB are read up to 3 MB. Up to 5,000 websites per run. Robots.txt is respected by default, and requests to the same host are at least 1 second apart, or further if the site sets a Crawl-delay. The Actor identifies itself as PlainsourceTechDetector. LinkedIn, Facebook, Instagram, X and TikTok are not supported, because their terms forbid automated access. localhost, private IP addresses and hostnames that resolve to them are not fetched, including through redirects.

How fast is it?

The 3-site run above finished in about 3 seconds from start to finish, including the DNS lookups.

Can I use the API, Make, Zapier, n8n, a schedule or an AI agent?

Yes. Every Apify Actor has an API, and the Make, Zapier and n8n integrations can start it and read the dataset. You can run it on a schedule with Apify's Schedules to track changes in a competitor's stack. AI agents can call it through the Apify MCP server with the same input. With the API client: client.actor("fernandosord/website-tech-stack-detector").call({ urls: ["example.com"] }).

Do you also have registration, DNS and email security data?

The Domain Profile Actor by the same developer uses the same detection engine and adds RDAP registration data, domain age, an email authentication audit and the TLS certificate.

Something is detected wrongly. Where do I report it?

Open an issue on this Actor's Issues tab with the website and the technology.

Other Actors by this developer