German Imprint Scraper (Contact+Social Links)
Pricing
from $2.40 / 1,000 standard impressum extractions
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
Maintained by CommunityActor stats
3
Bookmarked
79
Total users
5
Monthly active users
8 days ago
Last modified
Categories
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]), inlineonclickredirects, 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 Mode | Base Price / Domain | Bronze 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 Processed | Regex Mode Cost | AI 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | Array | Yes | ["marley.de"] | List of target websites or domains (with or without https:// / www.). |
enableAi | Boolean | No | false | When true, activates Groq LLMs for verified Decision Maker and legal entity extraction. When false, uses ultra-fast Regex. |
aiModel | String | No | openai/gpt-oss-20b | Model selection: openai/gpt-oss-20b (Recommended), openai/gpt-oss-120b, qwen/qwen3.6-27b, groq/compound. |
maxConcurrency | Number | No | 10 | Concurrency limit (1–25) to ensure stability and prevent rate limits. |
🏢 Output Data Schema
| Field Name | Type | Description | Example |
|---|---|---|---|
originalUrl | String | Target website requested | https://monoka.de |
impressumUrl | String | Discovered Impressum / Legal Notice URL | https://monoka.de/pages/impressum |
companyName | String | Legal company name or registered store brand | Monoka |
decisionMakerName | String | null | Extracted Managing Director(s) or Business Owner (Populated via AI Mode) | Patrick Hauser |
decisionMakerRole | String | null | Legal German role title (Geschäftsführer, Inhaber, etc.) (Populated via AI Mode) | Inhaber |
address | String | null | Full physical street address, postal code, and city | In der Breite 67, 79224 Umkirch, DE |
emails | Array | List of verified contact email addresses | ["info@monoka.de"] |
phones | Array | Clean international telephone numbers | ["+495031530"] |
registerCourt | String | null | Official Commercial Register Court (Amtsgericht) | Amtsgericht Oldenburg |
registerNumber | String | null | Commercial register ID (HRB, HRA, VR) | HRB 209987 |
taxId | String | null | Official European VAT ID (USt-IdNr.) | DE340943599 |
socialLinks | Object | Extracted social media profile URLs | Facebook, Instagram, LinkedIn, YouTube, TikTok, X |
metadata | Object | Page Title, Meta Description, and H1 Header | SEO 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
- Author: codescraper
- Email: codescraper011@gmail.com
- Platform: Apify
- Engine: TypeScript (
@crawlee/cheerio)