AI Tooling Detector Company AI Adoption Signals for Clay avatar

AI Tooling Detector Company AI Adoption Signals for Clay

Pricing

from $2.55 / 1,000 domain analyzeds

Go to Apify Store
AI Tooling Detector Company AI Adoption Signals for Clay

AI Tooling Detector Company AI Adoption Signals for Clay

Detects whether a company declares, deploys, or charges for AI. Returns a flat Clay-ready row with an AI maturity tier, detected AI vendors, llms.txt status, and pricing-page evidence.

Pricing

from $2.55 / 1,000 domain analyzeds

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Give it a domain. It tells you whether the company just talks about AI, actually runs AI tooling on its site, or charges money for AI.

Most AI detectors return a boolean, which is close to useless for targeting. "Published an llms.txt" and "bills $0.99 per AI resolution" are the same answer to a yes-or-no question and completely different sales situations. This actor returns a four-level ai_maturity tier with the evidence behind it, as one flat Clay-ready row per domain.

What's Inside

Features

  • Four-level maturity tier, not a boolean. none, declared, deployed, commercialized. Each rung needs its own class of evidence.
  • Pricing-page commercialization detection. Finds AI credits, token allowances, AI add-ons, AI-named plans, and per-outcome AI pricing. This is the tier that tells you a company already pays for AI.
  • 50+ AI vendor fingerprints. Support agents (Sierra, Decagon, Ada, Intercom Fin, Forethought), AI search (Glean, Algolia, Inkeep, Kapa), personalization (Mutiny, Dynamic Yield), direct inference endpoints (OpenAI, Anthropic, Azure OpenAI, Bedrock, Gemini, Groq, Together, Fireworks), vector stores, and app frameworks.
  • Validated llms.txt, not just a 200. A lot of single-page apps answer /llms.txt with their HTML shell. Those return has_llms_txt: false with a reject reason, so the strongest signal in the pack stays clean.
  • robots.txt AI crawler policy. Reports which of 26 AI crawlers a company allows or blocks, with the rule that produced the verdict.
  • An explicit blocked flag. A domain behind a bot challenge is reported as blocked at low confidence, never as a confident no. Without it a challenged domain looks identical to a company with no AI.
  • Evidence you can quote. Every verdict ships the strings it was built from, so a rep can paste one into an email.
  • Batch input. One domain or an array of them, analyzed concurrently.
  • HTTP only. No browser, no proxy, 256MB. Runs finish in seconds.

The ai_maturity ladder

TierWhat it meansWhat proves it
commercializedThe company charges for AIAI credits, token allowances, an AI add-on, an AI-named plan, or a per-outcome AI price on the pricing page
deployedAI tooling is running on the siteAn AI-native vendor, a direct inference endpoint, or an AI-capable platform backed by AI copy
declaredThe company says AI, nothing observableA validated llms.txt, AI crawler rules in robots.txt, or weighted marketing copy
noneNo signal firedNothing

The ladder is strict. An llms.txt can never on its own reach deployed, and a chat widget can never on its own reach commercialized.

Input

FieldTypeDefaultDescription
domainstringintercom.comA single company domain. Ignored when domains is filled.
domainsarray[]Batch mode. Takes precedence over domain.
check_pricingbooleantrueFetch and score the pricing page. Turning this off makes runs faster but caps results at deployed, since commercialized can only be proven on a pricing page.
batchSizeinteger5Domains analyzed concurrently, 1 to 10.
request_timeout_msinteger9000Per-request timeout, 3000 to 20000.
skipCachebooleanfalseIgnore the 7 day result cache.
qa_test_modebooleanfalseEmit a single summary row and skip all network work.

Output

One flat row per domain, snake_case, Clay-native.

FieldTypeExample
domainstringintercom.com
resolved_urlstringhttps://www.intercom.com/
http_statusinteger200
ai_maturitystringcommercialized
uses_aibooleantrue
confidencenumber1
has_llms_txtbooleantrue
llms_txt_urlstringhttps://intercom.com/llms.txt
llms_txt_reject_reasonstringhtml_catch_all_route
has_ai_txtbooleanfalse
robots_ai_directivesarray[{"agent":"GPTBot","policy":"block","rule":"disallow: /"}]
detected_toolsarray[{"vendor":"Intercom Fin","category":"support","ai_native":true,"confidence":"high","evidence":"markup match: fin.ai"}]
detected_tool_namesstringIntercom Fin
detected_categoriesarray["support"]
ai_copy_matchesarray[{"pattern":"ai_assistant","weight":2,"evidence":"AI Agent"}]
ai_copy_weightinteger8
ai_pricing_detectedbooleantrue
ai_pricing_scoreinteger10
pricing_urlstringhttps://www.intercom.com/pricing
evidencearray["AI priced per resolved outcome: \"$0.99 per Fin outcome\""]
signals_firedarray["llms_txt","vendor_fingerprint","pricing_commercialization"]
signals_missingarray["ai_txt","robots_ai_directives"]
blockedbooleanfalse
blocked_reasonstringhttp_202_challenge
is_js_renderedbooleanfalse
fetch_errorstringnull
is_summary_rowbooleanfalse
noticestringnull
checked_atstring2026-08-05T17:20:00.000Z

Read confidence and signals_missing before trusting a none. A verdict built on one reachable page should not be read like a verdict built on five.

Pricing

Pay per event. You are charged once per domain analyzed.

TierPer domainPer 1,000 domains
Free$0.003$3.00
Bronze$0.00285$2.85
Silver$0.0027$2.70
Gold$0.00255$2.55

Actor start is $0.00005 per run.

Free Apify-plan users get 15 results per calendar month. Paid plans are unlimited. When the free cap is reached the run exits cleanly with a notice row rather than an error.

Repeat lookups inside 7 days are served from cache.

Usage Examples

Apify Console / API

curl -X POST "https://api.apify.com/v2/acts/EwkHhmqiuJgRoVEbE/runs?token=YOUR_TOKEN" \
-H "content-type: application/json" \
-d '{
"domains": ["intercom.com", "notion.so", "berkshirehathaway.com"],
"check_pricing": true,
"batchSize": 5
}'

Clay Integration

Add an Apify enrichment column, point it at this actor, and map your domain column to domain. Every output field lands as its own Clay column.

Useful follow-on formulas:

  • Target companies that already buy AI: ai_maturity = "commercialized"
  • Target companies that talk about AI but have not shipped it: ai_maturity = "declared"
  • Suppress unreliable rows: blocked = false AND confidence >= 0.6

MCP Integration

{
"mcpServers": {
"mamba-ai-tooling-detector": {
"command": "npx",
"args": ["-y", "@mambalabsdev/mcp-ai-tooling-detector"],
"env": { "APIFY_TOKEN": "your_apify_token" }
}
}
}

This actor is also a tool on the Mamba Labs GTM Suite server, which exposes the whole fleet through one install.

Error Handling

ConditionBehaviorOutput
Homepage returns an anti-bot challengeRow is still emitted, flagged, and confidence pinned to 0.15blocked: true, blocked_reason set
Homepage returns 200 with no server-side textRow emitted and flagged as a client-rendered shellis_js_rendered: true, confidence reduced
Pricing page unreachable or missingAnalysis continues; the verdict caps at deployedpricing_url: null, ai_pricing_score: 0
/llms.txt answers 200 with an HTML shellNot counted as an llms.txthas_llms_txt: false, llms_txt_reject_reason set
Connection reset or timeoutRow emitted with the transport error recordedfetch_error set, http_status: null
Key-value store unavailableFails open: runs without the cache and without quota enforcementNormal rows
Free-tier monthly cap reachedExits cleanly before any network workOne notice row, is_summary_row: true
No domain suppliedExits cleanlyOne notice row

The run always produces at least one dataset item.

Limitations

  • Vendor recall is capped by what the server sends. Modern chat widgets are injected by client-side JavaScript, so a company running an AI widget that never appears in the served markup will read as declared rather than deployed. On a 15 domain AI-forward sample, 9 reached deployed or better and 14 reached at least declared. Adding a browser would raise recall and would also raise the memory floor to 1024MB and the price with it. The tradeoff was made deliberately in favor of price.
  • Anti-bot challenges affect roughly 10% of domains, concentrated in large consumer brands and retail. Those rows come back blocked: true rather than silently negative. No proxy is configured by default.
  • commercialized requires a reachable pricing page. Companies that gate pricing behind "contact sales" cannot be proven to commercialize AI from the outside.
  • declared is a claim, not a deployment. That is the point of separating it, but do not read it as adoption.
  • llms.txt prevalence is only 5 to 13%. It is a high-precision positive whose absence proves nothing.
  • Fingerprints need maintenance. Vendors change script URLs. The category's incumbent has gone 138 days without a rebuild, which is what fingerprint rot looks like.

Part of the Mamba Labs GTM Intelligence Suite

ActorActor ID
GTM Hiring Signal ScraperD7O1SA2EqwHGsGr1P
GTM Tech Stack Signal Enrichmentqyd7nNyqFPelQViBx
GTM Signals AggregatorxKdRfnfFNkdMpFuNs
Job Board Keyword Signal Scanner4DvqpvhMR74NLcDDY
Domain to LinkedIn URL Resolver3HtnSaqPHOg1Qg5gx
ICP Fit ScorerW161DT8W4kW55dMFh
Domain Deliverability Checker0tVgxI7A6o9jMlxmc
Company Firmographic EnricherYlUtLWjfPpqykmB8g
Company Social Presence Mapper4k6CCemkgBDz18m2h
Company Identity Resolverlr8fTRAmZCBZmuwwh
Funding & Press Signal ScannerFS13X6dhQVgX3XOM6
Company Change-Event FeedoX44rS0fkEJ3rXLWe
Job Posting MonitorQCfICD9kOPiOdj5iI
AI Tooling DetectorEwkHhmqiuJgRoVEbE

Built by Mamba Labs.