German Imprint Scraper (Contact+Social Links) avatar

German Imprint Scraper (Contact+Social Links)

Pricing

from $2.40 / 1,000 standard impressum extractions

Go to Apify Store
German Imprint Scraper (Contact+Social Links)

German Imprint Scraper (Contact+Social Links)

An ultra-fast, AI-enhanced scraper that automatically finds and extracts Impressum data from German websites. Get perfectly structured company names, addresses, emails, phones, tax IDs, and social links for B2B enrichment.

Pricing

from $2.40 / 1,000 standard impressum extractions

Rating

5.0

(2)

Developer

CodeScraper

CodeScraper

Maintained by Community

Actor stats

3

Bookmarked

79

Total users

5

Monthly active users

8 days ago

Last modified

Share

⭐ AI-Powered German Impressum Scraper – B2B Legal Data Extraction (Fast Cheerio)

An ultra-fast, AI-enhanced B2B domain enrichment tool engineered specifically to discover, parse, and structure Impressum (Legal Notice / Imprint) data from websites across Germany 🇩🇪, Austria 🇦🇹, Switzerland 🇨🇭, and international stores.

By combining lightweight, high-concurrency Cheerio HTML parsing with an advanced LLM processing engine (Groq), this scraper cuts through website noise to deliver clean, structured company, owner, contact, and statutory compliance data.


🔥 Why Choose This Scraper?

  • ⚡ Extreme Speed (Cheerio-Powered): Runs without heavy browser overhead (Puppeteer/Playwright), processing 100+ domains in just 2–3 minutes with minimal compute cost.
  • 👔 100% Accurate Decision Maker Detection (AI Mode): Pinpoints Managing Directors (Geschäftsführer, Vorstand) for corporations and Business Owners (Inhaber) for sole proprietorships (Einzelunternehmen) with zero false positives.
  • 🤖 Dual-Engine Architecture: Toggle between ultra-fast Regex pattern matching for contact/legal IDs and Premium AI parsing for decision makers and complex layouts.
  • 🔗 Advanced Multi-Tier Link Discovery: Discovers imprint links across footers, sub-footers, attribute links (button[data-href], [data-url], [data-link]), inline onclick redirects, and <template> elements.
  • 🎯 Intelligent Route Fallback: If a homepage lacks a clear footer link (common on Shopify and headless stores), the scraper sequentially probes high-probability candidate routes: /policies/legal-notice, /pages/impressum, /impressum, /imprint, and /rechtliches.
  • 🛡️ Clean Data Filters: Built-in safeguards reject payment badge noise (American Express, Google Pay), SVG class artifacts (VR 3Lq), and promotional banner collisions.
  • ⏱️ Zero-Hang Architecture: Features a built-in real-time watchdog that immediately terminates the container the second all input domains finish—preventing idle compute costs.
  • 🎁 Zero API Keys Required: We cover all AI token costs! You do not need your own Groq or OpenAI API key.

💰 Pricing & Pay-Per-Event (PPE) Model

You only pay for successful domain extractions. If an Impressum page cannot be found or fails to load, you are charged $0.00.

Extraction ModeBase Price / DomainBronze Tier (-10%)Silver Tier (-15%)Gold Tier (-20%)
Standard (Regex)$0.0030$0.0027$0.0025$0.0024
Premium (AI Enabled)$0.0045$0.0040$0.0038$0.0036

💵 Cost Calculation Examples (Standard Rate)

URLs ProcessedRegex Mode CostAI Enabled Cost
100 Domains$0.30$0.45
200 Domains$0.60$0.90
500 Domains$1.50$2.25
1,000 Domains$3.00$4.50

⚙️ Input Configuration

ParameterTypeRequiredDefaultDescription
startUrlsArrayYes["marley.de"]List of target websites or domains (with or without https:// / www.).
enableAiBooleanNofalseWhen true, activates Groq LLMs for verified Decision Maker and legal entity extraction. When false, uses ultra-fast Regex.
aiModelStringNoopenai/gpt-oss-20bModel selection: openai/gpt-oss-20b (Recommended), openai/gpt-oss-120b, qwen/qwen3.6-27b, groq/compound.
maxConcurrencyNumberNo10Concurrency limit (1–25) to ensure stability and prevent rate limits.

🏢 Output Data Schema

Field NameTypeDescriptionExample
originalUrlStringTarget website requestedhttps://monoka.de
impressumUrlStringDiscovered Impressum / Legal Notice URLhttps://monoka.de/pages/impressum
companyNameStringLegal company name or registered store brandMonoka
decisionMakerNameString | nullExtracted Managing Director(s) or Business Owner (Populated via AI Mode)Patrick Hauser
decisionMakerRoleString | nullLegal German role title (Geschäftsführer, Inhaber, etc.) (Populated via AI Mode)Inhaber
addressString | nullFull physical street address, postal code, and cityIn der Breite 67, 79224 Umkirch, DE
emailsArrayList of verified contact email addresses["info@monoka.de"]
phonesArrayClean international telephone numbers["+495031530"]
registerCourtString | nullOfficial Commercial Register Court (Amtsgericht)Amtsgericht Oldenburg
registerNumberString | nullCommercial register ID (HRB, HRA, VR)HRB 209987
taxIdString | nullOfficial European VAT ID (USt-IdNr.)DE340943599
socialLinksObjectExtracted social media profile URLsFacebook, Instagram, LinkedIn, YouTube, TikTok, X
metadataObjectPage Title, Meta Description, and H1 HeaderSEO metadata of the website

🧩 Examples: AI Mode vs. Regex Mode

Example 1: Premium AI Mode (enableAi: true)

Best for: Complete B2B enrichment where you need verified Decision Makers (Geschäftsführer, Inhaber), sole proprietorship stores, or complex legal paragraphs.

Input:

{
"startUrls": [
"https://monoka.de/",
"https://www.dr-johanna-budwig.de/"
],
"enableAi": true,
"aiModel": "openai/gpt-oss-20b",
"maxConcurrency": 10
}

Output:

[
{
"originalUrl": "https://monoka.de/",
"impressumUrl": "https://monoka.de/pages/impressum",
"companyName": "Monoka",
"decisionMakerName": "Patrick Hauser",
"decisionMakerRole": "Inhaber",
"address": "In der Breite 67, 79224 Umkirch, Deutschland",
"emails": [
"info@monoka.de"
],
"phones": [],
"registerCourt": null,
"registerNumber": null,
"taxId": "DE340943599",
"socialLinks": {
"instagram": "https://www.instagram.com/monoka.de",
"youtube": "https://www.youtube.com/@Monoka./videos",
"tiktok": "https://www.tiktok.com/@monoka.de"
},
"metadata": {
"title": "Produkte für dein Traum Dekolleté - für jede Form und Größe",
"description": "Trägerlos, Rückenfrei oder eine größere Oberweite...",
"h1": "Monoka"
}
},
{
"originalUrl": "https://www.dr-johanna-budwig.de/",
"impressumUrl": "https://www.dr-johanna-budwig.de/policies/legal-notice",
"companyName": "Dr. Johanna Budwig GmbH",
"decisionMakerName": "Franz Nowotny",
"decisionMakerRole": "Geschäftsführer",
"address": "An den Kolonaten 2-4, 26160 Bad Zwischenahn, Deutschland",
"emails": [
"kontakt@dr-johanna-budwig.de"
],
"phones": [
"+494413906300"
],
"registerCourt": "Amtsgericht Oldenburg",
"registerNumber": "HRB 209987",
"taxId": "DE300469959",
"socialLinks": {
"facebook": "https://www.facebook.com/Dr.Johanna.Budwig",
"instagram": "https://www.instagram.com/dr.johannabudwig",
"youtube": "https://www.youtube.com/user/DrJohannaBudwig",
"tiktok": "https://www.tiktok.com/@dr.johannabudwig"
},
"metadata": {
"title": "Dr. Johanna Budwig",
"description": "Dr. Johanna Budwig",
"h1": "Frühstücksöl Limette & Orange"
}
}
]

Example 2: Ultra-Fast Standard Mode (enableAi: false)

Best for: High-volume bulk runs where maximum extraction speed and lowest cost per lead are your top priorities. Contact details, addresses, and statutory IDs are extracted via hardened Regex.

Input:

{
"startUrls": [
"https://marley.de",
"https://www.dr-johanna-budwig.de/"
],
"enableAi": false,
"maxConcurrency": 10
}

Output:

[
{
"originalUrl": "https://marley.de",
"impressumUrl": "https://marley.de/policies/legal-notice",
"companyName": "Marley Deutschland GmbH",
"decisionMakerName": null,
"decisionMakerRole": null,
"address": "Adolf-Oesterheld-Str. 28, 31515 Wunstorf, Deutschland",
"emails": [
"info@marley.de"
],
"phones": [
"+495031530"
],
"registerCourt": "Amtsgericht Hannover",
"registerNumber": "HRB 110009",
"taxId": "DE811119134",
"socialLinks": {
"facebook": "https://www.facebook.com/MarleyDeutschland",
"instagram": "https://www.instagram.com/marley_deutschland",
"linkedin": "https://www.linkedin.com/company/marleydeutschland",
"youtube": "https://www.youtube.com/@MarleyDeutschland",
"tiktok": "https://www.tiktok.com/@marleydeutschland"
},
"metadata": {
"title": "Marley Deutschland GmbH",
"description": "— Marley Deutschland GmbH",
"h1": "Impressum"
}
},
{
"originalUrl": "https://www.dr-johanna-budwig.de/",
"impressumUrl": "https://www.dr-johanna-budwig.de/policies/legal-notice",
"companyName": "Dr. Johanna Budwig GmbH",
"decisionMakerName": null,
"decisionMakerRole": null,
"address": "An den Kolonaten 2-4, 26160 Bad Zwischenahn, Deutschland",
"emails": [
"kontakt@dr-johanna-budwig.de"
],
"phones": [
"+494413906300"
],
"registerCourt": "Amtsgericht Oldenburg",
"registerNumber": "HRB 209987",
"taxId": "DE300469959",
"socialLinks": {
"facebook": "https://www.facebook.com/Dr.Johanna.Budwig",
"instagram": "https://www.instagram.com/dr.johannabudwig",
"youtube": "https://www.youtube.com/user/DrJohannaBudwig",
"tiktok": "https://www.tiktok.com/@dr.johannabudwig"
},
"metadata": {
"title": "Dr. Johanna Budwig",
"description": "Dr. Johanna Budwig",
"h1": "Frühstücksöl Limette & Orange"
}
}
]

(Note: To prevent false positives from payment tokens and navigation menus, decisionMakerName and decisionMakerRole are strictly extracted when enableAi: true is enabled).


📥 Export & Integrations

Export your structured German B2B data with a single click in any preferred format:

  • Formats: CSV, Excel (.xlsx), JSON, XML
  • Integrations: Direct API, Webhooks, Google Sheets, Make (Integromat), and Zapier

⚡ Heavy JavaScript & SPA Sites?

While Cheerio is exceptionally fast, some modern websites require a real headless browser to execute heavy client-side JavaScript (e.g. Next.js, Nuxt, React SPAs, Web Components, or Shadow DOM menus).

If you are scraping heavy, dynamic JavaScript portals, check out our full browser sibling actor:
👉 German Imprint Scraper (Playwright & AI)


❓ Frequently Asked Questions (FAQs)

1. Do I need my own Groq or OpenAI API key?
No! The actor includes load-balanced Groq API integration in the backend. You only pay the flat Apify Pay-Per-Event rate.

2. How does the Pay-Per-Event (PPE) model work?
You are billed only when a domain is successfully enriched. If a website is offline, blocks crawlers, or has no detectable Impressum page, you are charged $0.00 for that domain.

3. Why are Decision Makers only extracted in AI Mode?
German Impressum pages format person names in hundreds of different ways—ranging from sole proprietorship owner listings (Patrick Hauser under Shop-Hauser) to multi-member corporate boards. Regex frequently confuses navigation links, payment badges (American Express), or disclaimer text with person names. By delegating person identification exclusively to AI, we guarantee 100% precision.

4. How does the scraper discover hidden Shopify or JS links?
The scraper inspects HTML attribute links (button[data-href], [data-url]), inline onclick scripts, and <template> tags. If no link is present in the static markup, it automatically probes standard legal routes (/policies/legal-notice, /pages/impressum, /impressum, /imprint, /rechtliches).

5. Can I provide raw domains like marley.de without https://?
Yes. The actor automatically normalizes all input formats (e.g. marley.de, www.marley.de, http://marley.de) into valid HTTPS requests.


🧑‍💻 Developer Info