Website Technographic & Marketing Stack Scraper
Pricing
from $0.80 / 1,000 record scrapeds
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
Maintained by CommunityActor 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
- Feed it a list of domains — bare hostnames like
gymshark.com, no scheme needed. - Each domain's homepage is fetched and checked against a signature table covering 15+ technology categories, from ad pixels to shipping apps.
- 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.
- 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}
| Field | Type | Default | Description |
|---|---|---|---|
domains | array | — | Domains to fingerprint, e.g. gymshark.com. One record is returned per domain. |
enableRenderFallback | boolean | false | Retry 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. |
maxItems | integer | — | 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}
| Field | Type | Description |
|---|---|---|
domain | string | The normalized input domain (bare host, no scheme/www). |
final_url | string | The URL the homepage actually resolved to, after any redirect (catches geo/locale redirects). |
http_status | number | HTTP status code of the final response. |
ecommerce_platform | string | shopify | woocommerce | magento | bigcommerce | salesforce_cc | shopware | prestashop | wix_stores | squarespace_commerce | null |
cms | string | wordpress | drupal | contentful | sanity | webflow | hubspot_cms | adobe_aem | typo3 | craft | ghost | null |
cms_version | string | CMS version, where the generator meta or a versioned asset path exposes it. |
js_framework | array | Detected JS frameworks: react | next | nuxt | vue | svelte | angular | remix | astro |
ad_pixels | array | Ad pixel vendors with account ID where extractable, e.g. meta_pixel(123456789012345). |
analytics | array | Analytics vendors with measurement/container ID where extractable, e.g. ga4(G-ABC1234567). |
session_replay | array | hotjar(site_id) | fullstory | clarity | contentsquare | quantum_metric | logrocket |
martech | array | Marketing-automation vendors with account ID where extractable, e.g. klaviyo(company_id). |
crm_signals | array | hubspot_forms | salesforce_web2lead | pipedrive | zoho | intercom | drift | zendesk_widget | freshchat |
cmp_vendor | string | onetrust | cookiebot | usercentrics | trustarc | quantcast | didomi | osano | klaro | null |
personalisation | array | dynamic_yield | optimizely | vwo | ab_tasty | monetate | bloomreach | algolia | constructor_io |
review_platform | array | trustpilot | yotpo | okendo | judge_me | bazaarvoice | reviews_io | stamped | loox |
subscription_loyalty | array | recharge | bold | smile_io | loyaltylion | yotpo_loyalty | stay_ai |
payment_processors | array | stripe | braintree | adyen | paypal | klarna | afterpay | affirm | checkout_com | square |
shipping_fulfilment | array | shippo | shipbob | narvar | aftership | route | shipstation |
cdn | array | The content delivery network(s) fronting the site, detected from response headers. |
hosting_provider | string | Hosting org resolved from the homepage's A record ASN. |
asn | string | Autonomous system number of the homepage's A record, e.g. AS13335. |
asn_org | string | Organization name registered against that ASN. |
email_provider | string | google_workspace | microsoft_365 | zoho | proofpoint | mimecast | self_hosted | null — from MX records |
dns_provider | string | Nameserver operator, classified from the domain's NS records. |
ssl_issuer | string | Certificate authority organization from the live TLS certificate. |
ssl_expires_at | date | TLS certificate expiry, ISO 8601. |
security_headers | object | { hsts, csp, x_frame_options } — boolean presence of each header. |
server_header | string | Raw Server response header. |
powered_by_header | string | Raw X-Powered-By response header. |
waf_vendor | string | The bot-management / firewall vendor protecting the site, when detectable from response headers. |
tag_manager_containers | array | GTM container IDs extracted from the analytics signature matches. |
third_party_script_domains | array | Every distinct external script/asset host referenced by the page — the raw evidence trail. |
detection_evidence | object | Per detected field: which signature matched and where (html | header). |
confidence | object | Per detected field/value, a 0-1 confidence score (1.0 when an account ID was extracted). |
render_used | boolean | True when the record required the render fallback pass. |
scraped_at | datetime | Timestamp 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.
Does it detect the CMP (cookie consent) vendor?
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_evidenceandconfidenceshow exactly what matched and how sure the actor is, instead of a bare boolean