Website Technographic & Marketing Stack Scraper avatar

Website Technographic & Marketing Stack Scraper

Pricing

from $0.80 / 1,000 record scrapeds

Go to Apify Store
Website Technographic & Marketing Stack Scraper

Website Technographic & Marketing Stack Scraper

Detects the martech, ad-pixel, CMP, commerce-app and network stack behind any domain — not just the CMS. Returns pixel/analytics account ids, consent-platform vendor, payment and loyalty apps, plus DNS/TLS network enrichment (email provider, ASN org, DNS provider).

Pricing

from $0.80 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Detects the martech, ad-pixel, and commerce-app stack behind any domain — not just the CMS. Point it at a list of domains and get back pixel and analytics account IDs, the consent-management vendor, payment and loyalty apps, plus DNS/TLS network facts like email provider and hosting ASN, for as many domains as you feed it.


Website Technographic Scraper Features

  • Extracts ad-pixel vendors with the account ID attached — meta_pixel(1234567890123456), not just "has a Meta Pixel"
  • Identifies the consent-management platform (OneTrust, Cookiebot, Usercentrics, and six others) — the field most technographic tools skip entirely
  • Covers the full commerce-app layer: personalisation, review widgets, subscription/loyalty apps, payment processors, shipping/fulfilment tools
  • Resolves network facts no HTML-only tool can reach — mail provider from MX, DNS operator from NS, hosting org from ASN, TLS certificate issuer and expiry
  • Detects ecommerce platform, CMS, and JS framework in the same pass
  • Attaches a matched-signature and confidence score to every detected field, so you can see exactly why a value was returned
  • Optional headless-render retry for domains whose first pass turns up almost nothing, billed only when it actually runs

Who Uses Technographic Data?

  • Martech and Shopify-app vendors — build a prospect list filtered to sites NOT already running a competing app
  • Ad agencies — qualify inbound leads by checking which pixels and ad platforms a prospect already runs
  • RevOps teams — feed technographic fields into Clay or HubSpot for ABM segment building
  • Privacy and consent-platform vendors — target sites with no CMP detected, or a competitor's CMP
  • MSPs and email-security resellers — filter by email provider (Google Workspace vs. Microsoft 365) as a standing ICP signal

How the Technographic Scraper Works

  1. Feed it a list of domains — bare hostnames like gymshark.com, no scheme needed.
  2. Each domain's homepage is fetched and checked against a signature table covering 15+ technology categories, from ad pixels to shipping apps.
  3. In parallel, the domain's MX, NS, and A records resolve to an email provider, DNS operator, and hosting ASN, and its TLS certificate is read for issuer and expiry.
  4. A domain that comes back with almost no signal — usually a heavier client-rendered app shell — can optionally get one retry through a full browser render, billed as an add-on only when it fires.

Input

{
"domains": ["gymshark.com", "stripe.com"],
"enableRenderFallback": false,
"maxItems": 100
}
FieldTypeDefaultDescription
domainsarray—Domains to fingerprint, e.g. gymshark.com. One record is returned per domain.
enableRenderFallbackbooleanfalseRetry a domain through a headless browser when the plain fetch finds fewer than 3 signals. Billed as an additional "Record scraped - premium" event on top of the base charge for that domain.
maxItemsinteger—Maximum number of domain records to return.

Website Technographic Scraper Output Fields

Real output from a run against allbirds.com (third_party_script_domains trimmed for length):

{
"domain": "allbirds.com",
"final_url": "https://www.allbirds.com/",
"http_status": 200,
"ecommerce_platform": "shopify",
"cms": null,
"js_framework": [],
"analytics": ["gtm(GTM-TH8KRSBJ)"],
"martech": ["attentive"],
"cmp_vendor": null,
"cdn": ["cloudflare"],
"waf_vendor": "cloudflare",
"hosting_provider": "CLOUDFLARENET - Cloudflare, Inc., US",
"asn": "AS13335",
"asn_org": "CLOUDFLARENET - Cloudflare, Inc., US",
"email_provider": "microsoft_365",
"dns_provider": "ns3.markmonitor.com",
"ssl_issuer": "Let's Encrypt",
"ssl_expires_at": "2026-11-09T00:48:32.000Z",
"security_headers": { "hsts": true, "csp": true, "x_frame_options": true },
"server_header": "cloudflare",
"tag_manager_containers": ["GTM-TH8KRSBJ"],
"third_party_script_domains": ["cdn.shopify.com", "www.googletagmanager.com", "www.facebook.com", "www.tiktok.com", "..."],
"render_used": false
}
FieldTypeDescription
domainstringThe normalized input domain (bare host, no scheme/www).
final_urlstringThe URL the homepage actually resolved to, after any redirect (catches geo/locale redirects).
http_statusnumberHTTP status code of the final response.
ecommerce_platformstringshopify | woocommerce | magento | bigcommerce | salesforce_cc | shopware | prestashop | wix_stores | squarespace_commerce | null
cmsstringwordpress | drupal | contentful | sanity | webflow | hubspot_cms | adobe_aem | typo3 | craft | ghost | null
cms_versionstringCMS version, where the generator meta or a versioned asset path exposes it.
js_frameworkarrayDetected JS frameworks: react | next | nuxt | vue | svelte | angular | remix | astro
ad_pixelsarrayAd pixel vendors with account ID where extractable, e.g. meta_pixel(123456789012345).
analyticsarrayAnalytics vendors with measurement/container ID where extractable, e.g. ga4(G-ABC1234567).
session_replayarrayhotjar(site_id) | fullstory | clarity | contentsquare | quantum_metric | logrocket
martecharrayMarketing-automation vendors with account ID where extractable, e.g. klaviyo(company_id).
crm_signalsarrayhubspot_forms | salesforce_web2lead | pipedrive | zoho | intercom | drift | zendesk_widget | freshchat
cmp_vendorstringonetrust | cookiebot | usercentrics | trustarc | quantcast | didomi | osano | klaro | null
personalisationarraydynamic_yield | optimizely | vwo | ab_tasty | monetate | bloomreach | algolia | constructor_io
review_platformarraytrustpilot | yotpo | okendo | judge_me | bazaarvoice | reviews_io | stamped | loox
subscription_loyaltyarrayrecharge | bold | smile_io | loyaltylion | yotpo_loyalty | stay_ai
payment_processorsarraystripe | braintree | adyen | paypal | klarna | afterpay | affirm | checkout_com | square
shipping_fulfilmentarrayshippo | shipbob | narvar | aftership | route | shipstation
cdnarrayThe content delivery network(s) fronting the site, detected from response headers.
hosting_providerstringHosting org resolved from the homepage's A record ASN.
asnstringAutonomous system number of the homepage's A record, e.g. AS13335.
asn_orgstringOrganization name registered against that ASN.
email_providerstringgoogle_workspace | microsoft_365 | zoho | proofpoint | mimecast | self_hosted | null — from MX records
dns_providerstringNameserver operator, classified from the domain's NS records.
ssl_issuerstringCertificate authority organization from the live TLS certificate.
ssl_expires_atdateTLS certificate expiry, ISO 8601.
security_headersobject{ hsts, csp, x_frame_options } — boolean presence of each header.
server_headerstringRaw Server response header.
powered_by_headerstringRaw X-Powered-By response header.
waf_vendorstringThe bot-management / firewall vendor protecting the site, when detectable from response headers.
tag_manager_containersarrayGTM container IDs extracted from the analytics signature matches.
third_party_script_domainsarrayEvery distinct external script/asset host referenced by the page — the raw evidence trail.
detection_evidenceobjectPer detected field: which signature matched and where (html | header).
confidenceobjectPer detected field/value, a 0-1 confidence score (1.0 when an account ID was extracted).
render_usedbooleanTrue when the record required the render fallback pass.
scraped_atdatetimeTimestamp the record was emitted.

FAQ

How do I detect what technology a website uses?

Feed a domain list into this actor's domains input. Each domain returns one record covering its ecommerce platform, CMS, ad pixels, analytics, consent platform, and commerce apps in a single pass.

Does it return ad pixel account IDs, or just which pixel is installed?

Both, when the ID is extractable from the page — meta_pixel(1234567890123456), tiktok_pixel(...), ga4(G-ABC1234567). The account ID is what turns a technology flag into a usable ad-spend prospect record.

Can it check thousands of domains in one run?

Yes — domains accepts an arbitrary list and maxItems caps how many records come back. Very large lists (tens of thousands+) are best split across a few runs.

Yes — cmp_vendor covers OneTrust, Cookiebot, Usercentrics, TrustArc, Quantcast, Didomi, Osano, and Klaro.

What if a site is a JavaScript app shell with almost nothing in the raw HTML?

Set enableRenderFallback: true. A domain whose first pass finds fewer than 3 signals gets one retry through a full page render, billed as an add-on event only on the domains where it actually runs.


Need More Features?

Open an issue on the actor's Apify Store page and we'll take a look.

Why Use This Technographic Scraper?

  • Goes past the CMS guess — ad-pixel IDs, consent platform, and the full commerce-app layer (personalisation, reviews, loyalty, payments, shipping) in one output row
  • Network-side facts an HTML-only tool can't reach — email provider, DNS operator, and hosting org, resolved from the domain's own DNS and TLS records
  • Every detection is auditable — detection_evidence and confidence show exactly what matched and how sure the actor is, instead of a bare boolean