Website Compliance Scanner - Impressum, Privacy, Cookie Consent avatar

Website Compliance Scanner - Impressum, Privacy, Cookie Consent

Pricing

from $3.00 / 1,000 url scanneds

Go to Apify Store
Website Compliance Scanner - Impressum, Privacy, Cookie Consent

Website Compliance Scanner - Impressum, Privacy, Cookie Consent

Scan any website for legal compliance markers: Impressum / imprint, privacy policy, cookie-consent banner. Returns a HIGH / MEDIUM / LOW risk flag tuned for DACH GDPR / Abmahnung exposure. Pay-per-result.

Pricing

from $3.00 / 1,000 url scanneds

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

6 days ago

Last modified

Share

Compliance Scanner

Impressum, privacy policy, cookie consent. One HTTP probe, one risk flag.

Point this actor at any website URL and it returns a structured compliance snapshot: is there an Impressum, is there a privacy policy, is there a cookie-consent banner, which consent vendor is running, and a risk flag tuned for DACH GDPR / Abmahnung exposure.

Pure Go HTTP with a real Chrome 124 TLS fingerprint. No browser, no JavaScript rendering. Fast enough to scan a lead list of thousands in minutes.

Features

  • Impressum detection. Anchor-text scan on the homepage plus targeted probes of /impressum, /legal-notice, /imprint, /mentions-legales, /note-legali, /aviso-legal, /juridische-informatie.
  • Privacy policy detection. Same shape: anchor-text scan plus path probes for /datenschutz, /privacy, /privacy-policy, /politique-confidentialite, and equivalents.
  • Cookie consent detection. Identifies Cookiebot, Usercentrics, OneTrust, Iubenda, TrustArc, Consentmanager, Complianz, Borlabs, Klaro, Termly, and Quantcast. Falls back to a generic banner marker when the vendor cannot be identified.
  • Language detection. Reads <html lang> first, falls back to a German stopword count for sites without a language attribute. Emits a two-letter code.
  • Risk flag. HIGH when a German-language site is missing an Impressum (Abmahnung exposure). MEDIUM on softer gaps. LOW when all three markers are present. UNKNOWN when the homepage cannot be fetched.
  • Tracking detection. Flags the presence of Google Analytics, GTM, Meta Pixel, Hotjar, LinkedIn Insight, TikTok Pixel, Matomo, and others so you can spot "tracking without consent" cases.
  • Fast. 5 URLs in parallel by default. Runs at 256 MB RAM with no browser overhead.

DACH use case: Abmahnung avoidance

German-language sites without a valid Impressum are directly actionable under Section 5 TMG and Section 55 RStV. Lawyers issue Abmahnung letters for a few hundred euros a pop, and the penalty stack grows fast on repeat offenders. Same story for missing privacy policies and tracking cookies set before consent.

This scanner is the fastest way to build a prioritized list of local businesses that need help. Feed it a Google Maps export or a lead scrape, filter for risk_flag = "HIGH", and you have a warm outreach list for a legal-tech agency, GDPR consulting practice, or marketing shop selling Impressum-Generator plugins.

When to use it

  • Legal-tech and GDPR consulting. Bulk-prospect leads by compliance gap.
  • Marketing agencies. Filter your web-design lead list for sites that visibly need work.
  • Sales enablement. Add a compliance signal to your CRM enrichment pipeline.
  • Compliance monitoring. Snapshot your own domain portfolio nightly and catch regressions.
  • Vendor migration research. Discover which consent tool a competitor or partner runs.

Input

ParameterTypeDefaultDescription
urlsarray["https://www.deutschebank.de/"]Website homepage URLs to scan. Bare domains accepted.
companiesarray[]Alternative paired input: [{"company_id":"...","website_url":"..."}] for CRM join-back.
probeTimeoutMsinteger5000HTTP timeout per fetch. Cap 15000.
respectRobotsTxtbooleantrueHonor the site's robots.txt on path probes.
concurrencyinteger5Number of URLs scanned in parallel.

Output shape

One row per input URL:

{
"url": "https://example.de/",
"final_url": "https://www.example.de/",
"status_code": 200,
"site_language": "de",
"has_impressum": true,
"impressum_url": "https://www.example.de/impressum",
"has_privacy_policy": true,
"privacy_policy_url": "https://www.example.de/datenschutz",
"has_cookie_consent": true,
"consent_tool": "usercentrics",
"sets_tracking_cookies": true,
"risk_flag": "LOW",
"risk_reasons": [],
"probed_at": "2026-07-21T09:00:00Z"
}

When the probe fails:

{
"url": "https://broken.example/",
"status_code": 0,
"risk_flag": "UNKNOWN",
"risk_reasons": ["probe_failed"],
"probed_at": "2026-07-21T09:00:00Z",
"error": "request timed out"
}

Risk flag semantics

flagMeaning
HIGHMissing Impressum on a German-language site. Directly actionable under Abmahnung practice.
MEDIUMAny other single compliance gap (missing privacy policy, tracking without consent, missing Impressum on non-DE site).
LOWImpressum, privacy policy, and cookie consent all present.
UNKNOWNHomepage could not be fetched.

Risk reasons are stable machine-readable strings you can filter on:

  • missing_impressum_de_site
  • missing_impressum
  • missing_privacy_policy
  • tracking_without_consent
  • probe_failed

Pricing

  • $0.001 per run start
  • $0.003 per URL scanned

Failed probes are billed too. They still consumed a run slot and returned a UNKNOWN row so you can retry the URL later.

1000 URLs = $3.00.

Issues & Feedback

Found a bug or a compliance signal we should detect? Please open an issue on the actor page.