Company Tech Stack Detection: BuiltWith Alternative avatar

Company Tech Stack Detection: BuiltWith Alternative

Pricing

from $12.80 / 1,000 results

Go to Apify Store
Company Tech Stack Detection: BuiltWith Alternative

Company Tech Stack Detection: BuiltWith Alternative

Detects which GTM tools a company uses on their website. Returns CRM, sequencer, and marketing automation flags as a flat Clay-ready row. Covers HubSpot, Salesforce, Marketo, Apollo, Outreach, and more. No JSON parsing required. MCP-ready for Claude Desktop, Cursor, and AI agent workflows.

Pricing

from $12.80 / 1,000 results

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

1

Bookmarked

15

Total users

3

Monthly active users

8 hours ago

Last modified

Share

๐Ÿงฑ What can Tech Stack Detector do?

Give it a company domain and it returns which go-to-market tools that company runs on its website, as flat boolean flags. CRM, sequencer, marketing automation and chat, plus a rolled-up signal strength. One row per domain, no JSON parsing required.

It renders the page with headless Chromium, so client-side tags that a plain HTTP fetch would miss are still caught.

๐Ÿ“ฆ What you getโš™๏ธ Features and integrations
โœ… Boolean flag per tool, uses_hubspot and friends
๐Ÿงฎ gtm_tool_count and a tech_stack_signal strength
๐Ÿท๏ธ Category rollups for CRM, sequencer and automation
๐Ÿงพ 21 flat fields, snake_case, one row per domain
๐Ÿ–ฅ๏ธ Headless Chromium, catches client-side tags
๐Ÿ“„ Crawls up to two extra public pages
๐ŸงŠ Result cache, with a skipCache override
โฌ‡๏ธ Export to JSON, CSV, Excel, HTML or XML

Bought by Clay users building outbound qualification tables, agencies enriching lead lists at scale, and RevOps teams segmenting accounts by CRM and sequencer usage.

๐Ÿšซ Backend-only tools cannot be detected and are out of scope by design. Clay, Salesloft, Instantly, Lemlist and server-side Segment leave no public client-side signal on a customer's website. The fingerprint file marks these detectable: false. Do not expect uses_clay: true even on companies you know use Clay. That is documented behavior, not a bug.

๐Ÿ’ก Why use Tech Stack Detector?

If you want to findFilter on
Companies on a competing CRMuses_hubspot, uses_salesforce, crm_detected
Companies already running outboundseq_tool_detected, uses_outreach, uses_apollo
Marketing automation buyersmarketing_automation_detected, uses_marketo
Conversational toolinguses_drift, uses_intercom
A quick qualification gategtm_tool_count > 0, tech_stack_signal
Rows to review by handdetection_error, detection_error_reason

๐Ÿงฎ How signal strength is derived

StrengthCriteria
highCRM detected and sequencer detected and 3 or more total tools
mediumCRM or sequencer detected, 1 to 2 total tools
lowAt least 1 tool detected, no CRM and no sequencer

The rule is published so you can rebuild it yourself from the raw flags, all of which are on the row.

โ–ถ๏ธ Ready-to-run examples

ExampleWhat it does
Detect a Company's CRM from its WebsiteCRM detection on one domain
Find Companies Using HubSpot or MarketoMarketing automation targeting
Detect a Sales SequencerOutbound tooling detection
Bulk Tech Stack ScanRun a whole list
Fresh Rescan, No CacheForce a live re-check

๐Ÿ“‹ What data can Tech Stack Detector extract?

21 fields per domain.

FieldWhat it holds
crm_detected, seq_tool_detected, marketing_automation_detectedCategory rollups
uses_hubspot, uses_salesforceCRM flags
uses_outreach, uses_apollo, uses_gong, uses_claySales tooling flags
uses_marketoMarketing automation
uses_drift, uses_intercomConversational tooling
uses_zoominfoData tooling
gtm_tool_countTotal tools detected
tech_stack_signalhigh, medium or low
detected_toolsThe list, with what matched
detection_error, detection_error_reasonWhat went wrong, when something did
domain, company_domain, run_dateIdentity and bookkeeping

โš ๏ธ An all-false row does not always mean a clean negative. Sites fronted by enterprise bot protection can serve a valid 200 stub to headless Chromium, so nothing errors and every flag reads false with detection_error: false. Read the Known limits before you treat a row of falses as evidence a company runs nothing.

๐Ÿ› ๏ธ How to detect a company's GTM tech stack

  1. Open the Input tab and put a bare domain in domain.
  2. Leave crawl_additional_pages on. It reads the pricing and product pages as well as the homepage, which is where several tags actually load.
  3. For a list, use domains and set batchSize.
  4. Click Start.
  5. Filter on gtm_tool_count > 0 or on the specific uses_* flag you sell against.

๐Ÿงช Using it in Clay

Add an Apify enrichment column and map your domain column to domain. Every flag is a top-level boolean, so you can filter without writing a formula column or unwrapping any JSON.

Qualify a list instantly with gtm_tool_count > 0, then segment by the individual flags.

๐Ÿ’ต How much does it cost to detect a tech stack?

You are charged once per domain analyzed.

PlanPer domainPer 1,000 domains
Free$0.015$15.00
Bronze$0.0143$14.30
Silver$0.0135$13.50
Gold$0.0128$12.80

There is also an Actor start event at $0.00005, charged once per run per GB of memory.

๐Ÿ’ณ A domain that detects nothing is still billed. The actor launched a browser, rendered the page and crawled up to two more, and an all-false row is a real result. This actor runs headless Chromium rather than plain HTTP, which is why it costs more per row than the HTTP-only actors in the suite and why it catches tags they would miss.

โŒจ๏ธ Input

Everything is on the Input tab. The options worth explaining:

FieldTypeDefaultWhat it does
domainstringnoneBare company domain.
company_domain, urlstringnoneAlternative input shapes for the same thing.
domainsarraynoneBatch. One row per domain.
crawl_additional_pagesbooleantrueAlso read the pricing and product pages.
batchSizeinteger5Domains rendered concurrently.
skipCachebooleanfalseForce a fresh render.

๐Ÿ“ค Output

One flat row per domain, exportable as JSON, CSV, Excel, HTML or XML.

{
"domain": "example.com",
"crm_detected": true,
"seq_tool_detected": true,
"uses_hubspot": true,
"uses_salesforce": false,
"uses_outreach": true,
"uses_apollo": false,
"uses_gong": false,
"uses_zoominfo": false,
"uses_drift": false,
"uses_intercom": true,
"uses_marketo": false,
"uses_clay": false,
"marketing_automation_detected": false,
"gtm_tool_count": 3,
"tech_stack_signal": "high",
"detected_tools": ["HubSpot", "Outreach", "Intercom"],
"detection_error": false,
"detection_error_reason": null,
"run_date": "2026-06-18T16:16:23.787Z"
}

๐Ÿ’ก Tips

  • Filter on the category rollups (crm_detected, seq_tool_detected) rather than individual flags when your pitch is category-level. It survives fingerprint changes better.
  • Flag all-false rows on known enterprise domains for manual review rather than discarding them.
  • Leave crawl_additional_pages on. Several tags load only on pricing or product pages.
  • Do not build a "does not use X" segment from this actor alone. Absence is weaker evidence than presence, for the reasons in Known limits.

โš ๏ธ Known limits

Bot-protected domains may return negative results. Sites fronted by Cloudflare Enterprise, Akamai Bot Manager or PerimeterX often serve a challenge page or stub to headless Chromium from a datacenter IP. The detector navigates successfully, captures an empty stub, and returns all-false with detection_error: false, because no error was thrown and the browser got a valid 200. Known examples include salesforce.com, zoominfo.com and marketo.com. Flag those rows for manual review.

Backend-only tools with no web pixel are out of scope. Clay, Salesloft, Instantly, Lemlist and server-side Segment leave no public client-side signal on a customer's website, and are marked detectable: false in the fingerprints file by design.

Vendor marketing sites reflect their marketing stack, not their product. outreach.io runs Marketo on its marketing site. apollo.io runs HubSpot plus Intercom. gong.io runs Marketo. The actor reports what the page actually uses, which is the correct outbound-qualification signal. "This company uses Outreach" is not inferable from "outreach.io's marketing site loads Marketo scripts", and no self-domain shortcuts are hard-coded.

Tools behind authenticated pages are unreachable. The actor crawls the homepage and up to two public pages. Dashboards, customer portals and auth-gated paths are not visited.

Heavily obfuscated CDN routing can reduce accuracy. Cookie names and JS global variables are checked as primary signals to partly compensate, but companies fully masking outbound requests through Cloudflare Workers or Fastly with custom domains may still slip through.

LinkedIn Sales Navigator is not detectable and was removed in v0.2.0.

โ“ FAQ

Why is uses_clay false on a company I know uses Clay?

Because Clay is backend-only and leaves no client-side signal on its customers' websites. It is marked undetectable in the fingerprints file on purpose. This applies to Salesloft, Instantly, Lemlist and server-side Segment too.

Why did a big enterprise domain come back with everything false?

Almost certainly bot protection serving a stub to headless Chromium. Nothing errors, so detection_error stays false. Flag those for manual review.

Can I trust a negative?

Less than a positive. Presence of a tag is strong evidence; absence is weak, for the three reasons in Known limits.

Does it look at more than the homepage?

Yes, up to two additional public pages such as pricing and product, when crawl_additional_pages is on.

Does one bad domain break a batch?

No. Each row is caught individually, an empty record is pushed with a detection_error_reason, and the batch continues.

๐Ÿงฉ Want other GTM data?

Mamba Labs builds custom actors for B2B go-to-market teams. The public versions of that work live here on the Store, so our users get the same tooling we build under contract.

๐Ÿง‘โ€๐Ÿ’ผ GTM Hiring Signal Scraper๐Ÿ“ก B2B Buying Signals Aggregator
๐Ÿ”‘ Job Board Keyword Scanner๐Ÿ”— Domain to LinkedIn URL Resolver
๐ŸŽฏ ICP Fit Scorer๐Ÿ“‹ Job Posting Monitor
๐Ÿ“ฌ Domain Deliverability Checker๐Ÿข Company Firmographic Enricher
๐ŸŒ Company Social Presence Mapper๐Ÿชช Company Identity Resolver
๐Ÿ’ฐ Funding and Press Signal Scanner๐Ÿ”„ Company Change-Event Feed
๐Ÿ‘ค People Finder and Email Verifier๐Ÿš€ Prospect Engine
๐Ÿค– AI Tooling Detector๐Ÿ“ฎ Outbound Stack Detector
๐Ÿ“ Publishing Frequency Trackerโœ‰๏ธ Work Email Waterfall Finder
โฉ Sequencer Lead Push๐Ÿ… Workplace Program Detector
๐Ÿ‘ฅ Team Page People Extractor๐Ÿงญ Company Discovery List Builder

Every actor in the suite takes a domain or a company and returns one flat row, so they stack in the same Clay table without reshaping anything.

๐Ÿ› ๏ธ Need something custom built for you or your team? Tell us what you are trying to find and we will build it. Talk to Mamba Labs.

๐Ÿ†˜ Support

Found a bug or want a tool added to the fingerprints? Open an issue on the Issues tab. Response time is typically within 48 hours.

โ„น๏ธ Sourcing and legal. Detection is done by rendering the company's own public web pages and reading the scripts, cookie names and JS globals they load. No authenticated page is visited and no personal data is collected: the output describes software on a website, not people. You are responsible for how you use the output.

Built by Mamba Labs.