A smart scraping tool that discovers German website imprint pages, extracts verified company contact details, and delivers clean, structured results. Built to reduce manual research and improve data quality for compliance checks and lead generation using a German imprint scraper.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for german-imprint-scraper-email-validation you've just found your team — Let’s Chat. 👆👆
This project automatically locates and parses German Impressum pages to extract legally required company and contact information. It solves the challenge of inconsistent website structures by intelligently detecting imprint links and validating contact emails. It is designed for marketers, analysts, and compliance teams who need reliable German business data at scale.
- Automatically discovers imprint links even on non-standard page layouts
- Extracts legally relevant company and registration details
- Processes multiple websites in batch with retry handling
- Optionally validates emails to ensure deliverability
| Feature | Description |
|---|---|
| Smart Imprint Detection | Identifies Impressum links using adaptive logic for German sites. |
| Comprehensive Data Extraction | Captures company, address, contact person, and legal identifiers. |
| Advanced Email Validation | Filters undeliverable, disposable, or mistyped email addresses. |
| Batch Processing | Handles large lists of websites efficiently. |
| Robust Error Handling | Retries failed requests and tracks retry reasons transparently. |
| Proxy Support | Improves reliability on protected or rate-limited sites. |
| Field Name | Field Description |
|---|---|
| imprint_url | Detected Impressum page URL. |
| contact_person | Name and salutation of the responsible contact. |
| company_name | Official registered company name. |
| company_address | Street, house number, postal code, and city. |
| phone_number | Publicly listed contact phone number. |
| Extracted contact email address. | |
| email_status | Deliverability status when validation is enabled. |
| register_number | Commercial register number. |
| vat_id | VAT identification number. |
| retryTriggered | Indicates whether retries were required. |
| retryReasons | Reasons for retry attempts, if any. |
| _metadata | Processing, billing, and validation indicators. |
[
{
"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
}
}
]
German Imprint Scraper + Email Validation/
├── src/
│ ├── main.py
│ ├── crawler/
│ │ ├── imprint_detector.py
│ │ └── page_loader.py
│ ├── extractors/
│ │ ├── contact_parser.py
│ │ └── legal_parser.py
│ ├── validators/
│ │ └── email_validator.py
│ ├── utils/
│ │ └── retry_handler.py
│ └── config/
│ └── settings.example.json
├── data/
│ ├── input_urls.json
│ └── sample_output.json
├── requirements.txt
└── README.md
- Marketing teams use it to collect verified German business leads, so campaigns reach real decision-makers.
- Compliance officers use it to audit website imprint completeness, ensuring regulatory alignment.
- Data analysts use it to build structured company datasets for research and reporting.
- Agencies use it to automate contact discovery, reducing manual lookup time.
Does this work on all German websites? It is optimized for German imprint conventions and handles most layouts, including uncommon link placements.
Is email validation mandatory? No, validation is optional and can be enabled only when deliverability assurance is required.
Can it skip websites without emails? Yes, results without emails can be excluded automatically based on configuration.
How does it handle failures? Failed requests are retried up to a configurable limit, with detailed retry reasons recorded.
Primary Metric: Processes an average of 40–60 websites per minute, depending on page complexity.
Reliability Metric: Achieves over 96% successful imprint detection on standard German sites.
Efficiency Metric: Minimal reprocessing through intelligent retries and early failure detection.
Quality Metric: High data completeness with validated, deliverable email addresses when enabled.
