German Impressum & Imprint Scraper avatar

German Impressum & Imprint Scraper

Pricing

from $5.50 / 1,000 standard impressum extraction (regex)s

Go to Apify Store
German Impressum & Imprint Scraper

German Impressum & Imprint Scraper

Fast, automated scraper to find and extract Impressum (legal notice & imprint) data from German websites. Extracts company names, decision-makers (Geschäftsführer), addresses, emails, phones, Handelsregister numbers (HRB), tax IDs, and social links with AI or Regex.

Pricing

from $5.50 / 1,000 standard impressum extraction (regex)s

Rating

5.0

(3)

Developer

CodeScraper

CodeScraper

Maintained by Community

Actor stats

6

Bookmarked

135

Total users

2

Monthly active users

4 days ago

Last modified

Share

🇩🇪 German Impressum Scraper – Extract Legal Details Automatically (Regex + AI)

This Apify Actor automatically detects, renders, and extracts Impressum (legal disclosure / legal notice) data from German, Austrian, and Swiss websites.

Powered by Playwright (full browser automation), it executes JavaScript, renders modern dynamic SPAs (React, Vue, Next.js, Nuxt, Shopify themes), handles cookie banners, and parses even the most complex web layouts.


⚡ Looking for a faster, ultra-cheap alternative?

If your target websites are simple static HTML pages and do not require full JavaScript browser rendering, check out our companion Actor: 👉 German Imprint Scraper (Contact+Social Links) (codescraper/german-impressum-scraper-fast)

  • Cheerio-based (Fast): Extremely high-speed, lightweight HTTP scraping at lower cost.
  • Best for: Simple, non-JavaScript websites. (May miss dynamic single-page applications or heavy JS stores that require browser automation).

🚀 What It Does

The scraper visits each website, finds its legal disclosure page across headers, footers, sub-bars, and drawers, and extracts:

  • 🏢 Company Name, Decision Maker Name(s), and Role (e.g. Geschäftsführer, Inhaber, Vorstand)
  • 🏠 Full Address + separated fields (Street, House Number, Postal Code, City, Country)
  • ☎️ Phone Numbers and 📧 Email Addresses
  • 🧾 Commercial Register Number (HRB, HRA, VR), Register Court (Amtsgericht), and Tax ID (USt-IdNr.)
  • 🌐 14+ Social Media Channels (Facebook, Instagram, LinkedIn, X, Xing, YouTube, TikTok, WhatsApp, Telegram, Threads, Pinterest, GitHub, Discord, Bluesky)
  • 🧠 Meta Title and Meta Description
  • 🏷️ Extraction Method (regex or ai) – full transparency on how each row was parsed

⚡ Two Extraction Engines

Feature⚙️ Standard Regex Engine🤖 Premium AI Engine
How it worksHundreds of tuned German legal heuristicsAdvanced LLM reads and extracts like a human
Speed⚡ Ultra-fast⚡ Fast (adds ~1–2s per site)
Best forLarge lead lists, standard Impressum layoutsComplex multi-manager structures, unusual wording, messy layouts
Cost$0.007 per website ($7.00 / 1,000)$0.010 per website ($10.00 / 1,000)
Fallback–Automatic silent fallback to Regex if AI is unavailable (you are charged only the Regex price!)

💰 Pay-Per-Event (PPE) Pricing

You pay only when Impressum data is successfully delivered.

  • ✅ Platform compute is 100% FREE (no memory or CPU hourly charges).
  • ✅ No Impressum found? You are NOT charged for extraction.
  • ✅ Website failed to load / invalid domain? You are NOT charged.

Official Pricing Table

EventFree Plan (No discount)Starter (Bronze discount)Scale (Silver discount)Business (Gold discount)
Standard Impressum (Regex)$7.00 / 1,000$6.30 / 1,000$5.90 / 1,000$5.50 / 1,000
Premium Impressum (AI)$10.00 / 1,000$9.00 / 1,000$8.50 / 1,000$8.00 / 1,000
Dataset Result$1.00 / 1,000$1.00 / 1,000$1.00 / 1,000$1.00 / 1,000
Actor Start$0.0005 / run$0.0005 / run$0.0005 / run$0.0005 / run
Platform UsageFREEFREEFREEFREE

💵 Real-World Cost Examples

(Note: Calculations below assume a standard Free/Pay-as-you-go plan. Starter, Scale, and Business plans receive up to 21% discount!)

  • Example 1: 100 Websites Crawled

    • Regex Mode: 100 sites found → (100 × $0.007) + (100 × $0.001 result) + $0.0005 start ≈ $0.80 total
    • AI Mode: 100 sites found → (100 × $0.010) + (100 × $0.001 result) + $0.0005 start ≈ $1.10 total
  • Example 2: 200 Websites Crawled

    • Regex Mode: 200 sites found → (200 × $0.007) + (200 × $0.001 result) + $0.0005 start ≈ $1.60 total
    • AI Mode: 200 sites found → (200 × $0.010) + (200 × $0.001 result) + $0.0005 start ≈ $2.20 total
  • Example 3: 500 Websites Crawled

    • Regex Mode: 500 sites found → (500 × $0.007) + (500 × $0.001 result) + $0.0005 start ≈ $4.00 total
    • AI Mode: 500 sites found → (500 × $0.010) + (500 × $0.001 result) + $0.0005 start ≈ $5.50 total
  • Example 4: 1,000 Websites Crawled (with 50 missing / failed sites)

    • Suppose out of 1,000 websites:
      • 930 websites have an Impressum extracted by AI: 930 × $0.010 = $9.30
      • 20 websites fall back to Regex: 20 × $0.007 = $0.14
      • 50 websites have no Impressum or were down: $0.00 (No extraction event charged!)
      • Results saved (950): 950 × $0.001 = $0.95
      • Actor start: $0.0005
      • Total cost for 1,000 URLs: ~$10.39

⚙️ Input Configuration

Field NameTypeDefaultDescriptionExample / Allowed Values
startUrlsArray of strings[]List of target websites. Any format works! Accepts raw domains, subdomains, or full URLs without pre-cleaning.["marley.de", "https://www.dr-johanna-budwig.de/"]
enableAiBooleanfalseTurn on premium AI extraction. If disabled, uses fast Regex engine.true or false
aiModelStringopenai/gpt-oss-20bAI model to use for extraction when enableAi is true.openai/gpt-oss-20b, openai/gpt-oss-120b, qwen/qwen3.8-27b
socialPlatformsArray of strings["facebook", "instagram", "linkedin", "youtube", "tiktok", "x"]Multi-select picker for social links. Only selected platforms will appear in output.["facebook", "instagram", "linkedin", "x", "xing", "youtube", "tiktok", "whatsapp", "telegram", "threads", "pinterest", "github", "discord", "bluesky"]
excludeMainUrlBooleanfalseExclude the original input URL column.true / false
excludeImpressumUrlBooleanfalseExclude the direct link to the Impressum page.true / false
excludeAddressBooleanfalseExclude all address columns (full address, street, house number, PLZ, city, country).true / false
excludePhonesBooleanfalseExclude phone numbers.true / false
excludeEmailsBooleanfalseExclude email addresses.true / false
excludeDecisionMakerBooleanfalseExclude decision maker names and roles.true / false
excludeRegisterNumberBooleanfalseExclude commercial register number (HRB/HRA/VR).true / false
excludeRegisterCourtBooleanfalseExclude register court (Amtsgericht).true / false
excludeTaxIdBooleanfalseExclude VAT tax ID (USt-IdNr.).true / false
excludeSocialBooleanfalseExclude all social media profile columns.true / false
excludeMetaBooleanfalseExclude page title and meta description.true / false
maxConcurrencyInteger40Maximum number of websites processed simultaneously.10 to 50
userAgentStringChrome DesktopCustom browser User-Agent signature."Mozilla/5.0 ... Chrome/120.0.0.0 ..."

🧩 Input & Output Examples

1️⃣ Example: Regex Extraction (Standard Mode)

Input Configuration:

{
"startUrls": [
"marley.de",
"https://www.dr-johanna-budwig.de/"
],
"enableAi": false,
"socialPlatforms": [
"facebook",
"instagram",
"linkedin",
"youtube",
"tiktok",
"x"
]
}

Output Result:

[
{
"mainUrl": "marley.de",
"impressumUrl": "https://marley.de/policies/legal-notice",
"companyName": "Marley Deutschland GmbH",
"decisionMakerName": "Stefan Ostertag, Christian Holland-Moritz",
"decisionMakerRole": "Geschäftsführer",
"address": "Adolf-Oesterheld-Str. 28, 31515 Wunstorf, DE",
"addressStreet": "Adolf-Oesterheld-Str.",
"addressHouseNumber": "28",
"addressPostalCode": "31515",
"addressCity": "Wunstorf",
"addressCountry": "DE",
"phones": "+495031530",
"emails": "info@marley.de",
"registerCourt": "Amtsgericht Hannover",
"registerNumber": "HRB 110009",
"taxId": "DE811119134",
"socialFacebook": "https://www.facebook.com/MarleyDeutschland",
"socialInstagram": "https://www.instagram.com/marley_deutschland",
"socialLinkedin": "https://www.linkedin.com/company/marleydeutschland",
"socialYoutube": "https://www.youtube.com/@MarleyDeutschland",
"socialTiktok": "https://www.tiktok.com/@marleydeutschland",
"socialX": null,
"extractionMethod": "regex",
"error": "",
"fetchTime": "2026-10-04T08:07:31.331Z",
"metaTitle": "Marley Deutschland GmbH",
"metaDescription": "— Marley Deutschland GmbH"
},
{
"mainUrl": "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, DE",
"addressStreet": "An den Kolonaten",
"addressHouseNumber": "2-4",
"addressPostalCode": "26160",
"addressCity": "Bad Zwischenahn",
"addressCountry": "DE",
"phones": "+494413906300",
"emails": "kontakt@dr-johanna-budwig.de",
"registerCourt": "Amtsgericht Oldenburg",
"registerNumber": "HRB 209987",
"taxId": "DE300469959",
"socialFacebook": "https://www.facebook.com/Dr.Johanna.Budwig",
"socialInstagram": "https://www.instagram.com/dr.johannabudwig",
"socialLinkedin": null,
"socialYoutube": "https://www.youtube.com/user/DrJohannaBudwig",
"socialTiktok": "https://www.tiktok.com/@dr.johannabudwig",
"socialX": null,
"extractionMethod": "regex",
"error": "",
"fetchTime": "2026-10-04T08:08:40.012Z",
"metaTitle": "Dr. Johanna Budwig",
"metaDescription": "Dr. Johanna Budwig"
}
]

2️⃣ Example: AI Extraction (Premium Mode)

Input Configuration:

{
"startUrls": [
"marley.de",
"https://www.dr-johanna-budwig.de/"
],
"enableAi": true,
"aiModel": "openai/gpt-oss-20b",
"socialPlatforms": [
"facebook",
"instagram",
"linkedin",
"youtube",
"tiktok",
"x"
]
}

Output Result:

[
{
"mainUrl": "marley.de",
"impressumUrl": "https://marley.de/policies/legal-notice",
"companyName": "Marley Deutschland GmbH",
"decisionMakerName": "Stefan Ostertag, Christian Holland-Moritz",
"decisionMakerRole": "Geschäftsführer",
"address": "Adolf-Oesterheld-Str. 28, 31515 Wunstorf, DE",
"addressStreet": "Adolf-Oesterheld-Str.",
"addressHouseNumber": "28",
"addressPostalCode": "31515",
"addressCity": "Wunstorf",
"addressCountry": "DE",
"phones": "+495031530, +49503153371, +495031530, +4950315337",
"emails": "info@marley.de",
"registerCourt": "Amtsgericht Hannover",
"registerNumber": "HRB 110009",
"taxId": "DE811119134",
"socialFacebook": "https://www.facebook.com/MarleyDeutschland",
"socialInstagram": "https://www.instagram.com/marley_deutschland",
"socialLinkedin": "https://www.linkedin.com/company/marleydeutschland",
"socialYoutube": "https://www.youtube.com/@MarleyDeutschland",
"socialTiktok": "https://www.tiktok.com/@marleydeutschland",
"socialX": null,
"extractionMethod": "ai",
"error": "",
"fetchTime": "2026-10-04T08:37:44.033Z",
"metaTitle": "Marley Deutschland GmbH",
"metaDescription": "— Marley Deutschland GmbH"
},
{
"mainUrl": "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, DE",
"addressStreet": "An den Kolonaten",
"addressHouseNumber": "2-4",
"addressPostalCode": "26160",
"addressCity": "Bad Zwischenahn",
"addressCountry": "DE",
"phones": "+494413906300",
"emails": "kontakt@dr-johanna-budwig.de",
"registerCourt": "Amtsgericht Oldenburg",
"registerNumber": "HRB209987",
"taxId": "DE300469959",
"socialFacebook": "https://www.facebook.com/Dr.Johanna.Budwig",
"socialInstagram": "https://www.instagram.com/dr.johannabudwig",
"socialLinkedin": null,
"socialYoutube": "https://www.youtube.com/user/DrJohannaBudwig",
"socialTiktok": "https://www.tiktok.com/@dr.johannabudwig",
"socialX": null,
"extractionMethod": "ai",
"error": "",
"fetchTime": "2026-10-04T08:37:53.938Z",
"metaTitle": "Dr. Johanna Budwig",
"metaDescription": "Dr. Johanna Budwig"
}
]

📋 Output Fields Defined

Each output row contains clean, standardized data:

Field NameTypeDescriptionExample
mainUrlTextThe exact website URL you entered.marley.de
impressumUrlLinkDirect URL to the detected Impressum page.https://marley.de/policies/legal-notice
companyNameTextOfficial legal company name.Marley Deutschland GmbH
decisionMakerNameTextNames of managing directors / owners.Stefan Ostertag, Christian Holland-Moritz
decisionMakerRoleTextLegal role label.Geschäftsführer
addressTextFull formatted address string.Adolf-Oesterheld-Str. 28, 31515 Wunstorf, DE
addressStreetTextStreet name only.Adolf-Oesterheld-Str.
addressHouseNumberTextHouse / building number.28
addressPostalCodeText5-digit German/DACH postal code (PLZ).31515
addressCityTextCity or municipality.Wunstorf
addressCountryText2-letter ISO country code.DE
phonesTextPhone numbers normalized to international format.+495031530
emailsTextClean business email addresses.info@marley.de
registerCourtTextCommercial court where the company is filed.Amtsgericht Hannover
registerNumberTextCommercial registration number.HRB 110009
taxIdTextVAT identification number (USt-IdNr.).DE811119134
socialFacebookLinkOfficial Facebook profile / page URL.https://facebook.com/MarleyDeutschland
socialInstagramLinkOfficial Instagram profile URL.https://instagram.com/marley_deutschland
socialLinkedinLinkOfficial LinkedIn company profile URL.https://linkedin.com/company/marleydeutschland
socialXLinkOfficial X / Twitter profile URL.https://x.com/marley
socialXingLinkOfficial Xing profile / Kununu company page.https://xing.com/pages/marley
socialYoutubeLinkOfficial YouTube channel URL.https://youtube.com/@MarleyDeutschland
socialTiktokLinkOfficial TikTok profile URL.https://tiktok.com/@marleydeutschland
socialWhatsappLinkOfficial WhatsApp contact / chat link.https://wa.me/491701234567
socialTelegramLinkOfficial Telegram channel / chat link.https://t.me/marley
socialThreadsLinkOfficial Threads profile URL.https://threads.net/@marley
socialPinterestLinkOfficial Pinterest profile URL.https://pinterest.com/marley
socialGithubLinkOfficial GitHub profile / organization URL.https://github.com/marley
socialDiscordLinkOfficial Discord invite link.https://discord.gg/example
socialBlueskyLinkOfficial Bluesky profile URL.https://bsky.app/profile/marley.bsky.social
extractionMethodTextShows which engine produced the row: ai or regex.ai
metaTitleTextPage title of the homepage.Marley Deutschland GmbH
metaDescriptionTextMeta description tag of the website.Innovative Haustechnik und Dachentwässerung.
fetchTimeTextISO timestamp when data was retrieved.2026-10-04T12:00:00.000Z
errorTextError message if no Impressum was found.Impressum not found

❓ Frequently Asked Questions (FAQ)

What is the difference between this Actor and your fast Cheerio Actor?

  • This Actor (german-imprint-scraper): Uses a full headless browser (Playwright). It renders client-side JavaScript (React, Vue, Next.js, modern Shopify stores), scrolls to trigger lazy footers, handles shadow DOM and drawers, and offers optional AI parsing. It is slower but delivers maximum completeness on modern dynamic websites.
  • Fast Actor ([german-impressum-scraper-fast](https://console.apify.com/actors/3hMKKq9OycbeUJ79G/info)): Uses lightweight HTTP requests (Cheerio). It is ultra-fast and cheaper, but cannot execute JavaScript. Perfect for large lists of simple static HTML websites.

Do I need my own Groq or OpenAI API key?

No. All AI API costs and token processing are included in the Pay-Per-Event price. Just check Enable AI extraction in the input and click Start.

What happens if the AI engine is temporarily unavailable?

The scraper will automatically and silently fall back to the Regex engine for that website. You will only be charged the cheaper Regex event price ($0.007), never the AI price.

Am I charged if a website does not have an Impressum?

No. Websites that return 404, domains that do not resolve, or sites without an Impressum are recorded with "error": "Impressum not found" and are completely free of extraction charges.

How do I limit how much money a run can spend?

In the Apify Console, open your Actor run options and set a Max cost (USD). Once that dollar limit is reached, the scraper stops gracefully and saves all results collected up to that point.

Can I export results to Excel or CSV?

Yes! Click on the Dataset tab of your finished run and export directly to Excel (.xlsx), CSV, JSON, or connect via the Apify API, Make, Zapier, or n8n.


This Actor extracts exclusively publicly available business information published in compliance with §5 DDG (formerly §5 TMG) on German websites. All data is gathered for B2B intelligence, compliance auditing, and CRM enrichment.


🧑‍💻 Developer Info