
German Imprint Scraper + Email Validation
Pricing
Pay per event

German Imprint Scraper + Email Validation
Smart Actor for German websites that detects Impressum pages, extracts company details, contact data, and verifies emails. Offers reliable scraping, structured JSON results, and robust performance for lead generation at scale.
5.0 (2)
Pricing
Pay per event
0
6
6
Last modified
5 days ago
An AI-powered Apify Actor that scrapes and extracts contact details from German website Impressum pages.
It automatically detects imprint links, navigates pages reliably, and returns structured JSON with company name, contact person, address, phone, email (with optional validation), VAT ID, and register numbers - perfect for lead generation or compliance checks.
Optimized for German website structures, supports batch processing, smart retries, and robust error handling for consistent results.
Features
🤖 AI-Powered Link Detection: Uses AI to find imprint page links when traditional parsing fails
🧠 Smart Contact Extraction: Extracts comprehensive contact and company information
🇩🇪 German Website Optimization: Specifically optimized for German website structures and imprint pages
🛡️ Robust Error Handling: Built-in retry mechanisms and comprehensive error handling
📊 Detailed Output: Structured data with contact person, company details, and legal information
🌐 Proxy Support: Optional proxy configuration for enhanced reliability
🔍 Advanced Email Validation
When enabled, the Actor performs comprehensive email validation using multiple verification methods:
- Syntax validation - Ensures proper email format
- Domain existence check - Verifies the domain is active and reachable
- MX record validation - Confirms the domain can receive emails
- Disposable email detection - Filters out temporary/disposable email addresses
- Role-based email detection - Identifies generic addresses (info@, admin@, etc.)
- Email alias detection - Detects aliases for major providers (Gmail, Yahoo, Outlook/Hotmail)
- Typo suggestions - Provides corrections for common email typos
- Real-time monitoring - Live validation status tracking
This ensures you only get high-quality, deliverable email addresses for your lead generation campaigns.
Input
The Actor accepts the following input parameters:
- targetUrls (required): Array of URLs to scrape for contact information
- skipResultsWithoutEmail (optional): When enabled, results without an email address will not be saved to the dataset (default: false)
- maxRetries (optional): Maximum number of retry attempts for failed requests (default: 3)
- timeout (optional): Request timeout in seconds (default: 5)
- proxyConfiguration (optional): Configure proxy settings for your crawler
- validateEmail (optional): Enable email validation to ensure deliverability (default: false)
Input Example
{"targetUrls": [{"url": "https://example.de"},{"url": "https://another-site.de"}],"skipResultsWithoutEmail": false,"maxRetries": 3,"timeout": 5,"validateEmail": true,"proxyConfiguration": {"useApifyProxy": false}}
Output Structure
The Actor returns structured data for each processed URL. Here's the complete output schema:
Field | Type | Description | Example Value |
---|---|---|---|
imprint_url | string | Found impressum page URL | "https://example.de/impressum" |
contact_person.first_name | string | First name of the contact person | "Max" |
contact_person.last_name | string | Last name of the contact person | "Mustermann" |
contact_person.salutation | string | Salutation (Herr/Frau/Dr.) | "Herr" |
company_name | string | Full official company name | "Example GmbH" |
company_address.street | string | Street name | "Musterstraße" |
company_address.house_number | string | House number | "123" |
company_address.postalcode | string | Postal code | "12345" |
company_address.city | string | City name | "Musterstadt" |
phone_number | string | Contact phone number | "+49 123 456789" |
email | string | Contact email address | "info@example.de" |
email_status | string | Email validation status (only if validation enabled) | "DELIVERABLE" |
register_number | string | Commercial register number / Handelsregisternummer | "HRB 12345" |
vat_id | string | VAT ID number / Umsatzsteuer-Id | "DE123456789" |
retryTriggered | boolean | Whether retry was triggered during scraping | false |
retryReasons | array | Array of reasons why retry was triggered (optional) | ["email is empty"] |
_metadata.websiteProcessed | boolean | Whether the website was successfully processed | true |
_metadata.resultCharged | boolean | Whether this result was charged | true |
_metadata.emailValidated | boolean | Whether email validation was performed | true |
_metadata.limitReached | boolean | Whether usage limit was reached | false |
Output Example
{"imprint_url": "https://example.de/impressum","contact_person": {"first_name": "Max","last_name": "Mustermann","salutation": "Herr"},"company_name": "Example GmbH","company_address": {"street": "Musterstraße","house_number": "123","postalcode": "12345","city": "Musterstadt"},"phone_number": "+49 123 456789","email": "info@example.de","email_status": "DELIVERABLE","register_number": "HRB 12345","vat_id": "DE123456789","retryTriggered": false,"retryReasons": [],"_metadata": {"websiteProcessed": true,"resultCharged": true,"emailValidated": true,"limitReached": false}}
On this page
Share Actor: