German Healthcare Scraper (Jameda + Doctolib)
Pricing
Pay per event
German Healthcare Scraper (Jameda + Doctolib)
Extract doctor profiles, contact details, reviews, and ratings from Germany's two leading healthcare platforms in one unified dataset. Perfect for healthcare recruitment, medical sales, and market research.
Pricing
Pay per event
Rating
0.0
(0)
Developer

BarriereFix
Actor stats
0
Bookmarked
4
Total users
3
Monthly active users
4 days ago
Last modified
Categories
Share
🏥 German Healthcare Scraper - Jameda + Doctolib | Doctor Profiles & Contact Data
Extract doctor profiles, contact details, reviews, and ratings from Germany's two leading healthcare platforms in one unified dataset. Perfect for healthcare recruitment, medical sales, and market research.
What does this actor do?
- Scrapes 2 platforms simultaneously: Jameda + Doctolib (Germany's largest healthcare sites)
- Extracts comprehensive data: Names, specialties, addresses, phone numbers, emails, ratings, reviews, services
- Automatic deduplication: Same doctor on both platforms = one enriched record
- Unified output: Single JSON/CSV dataset, ready for CRM, analytics, or automation tools
- Geographic & specialty filtering: Search by city (Berlin, Munich, Hamburg) and medical specialty (Allgemeinmediziner, Zahnarzt, Orthopäde)
Use Cases
🎯 Healthcare Recruitment
Find specialists by city and specialty for clinic hiring. Export contact details directly to your applicant tracking system.
📊 Medical Market Research
Analyze doctor distribution, specialty gaps, and service availability across German cities. Track healthcare accessibility.
💼 Sales & Lead Generation
Build prospecting lists for medical device companies, pharmaceutical sales, or healthcare services. Get phone numbers and practice addresses.
🏥 Competitive Analysis
Compare clinic ratings, services offered, and patient review counts. Monitor competitor performance over time.
🔗 App Development
Power doctor discovery apps, booking platforms, or healthcare directories with fresh, structured data.
Pricing
Pay per result: $0.006 per doctor profile (recommended pricing based on market research)
Example costs:
- 100 doctors = $0.60
- 1,000 doctors = $6.00
- 10,000 doctors = $60.00
Much cheaper than flat monthly subscriptions ($15-20/month) offered by single-platform scrapers!
Input
| Field | Type | Description | Required | Default |
|---|---|---|---|---|
| cities | Array | German cities (e.g., ["Berlin", "Munich", "Hamburg"]) | ✅ Yes | ["berlin"] |
| professions | Array | Medical professions (e.g., ["Allgemeinmediziner", "Zahnarzt", "Orthopäde"]) | ✅ Yes | ["orthopäde"] |
| maxResults | Number | Total providers to scrape (split across platforms) | No | 10 |
| platforms | Array | Which platforms: ["jameda", "doctolib"] or just one | No | Both |
| useProxies | Boolean | Enable Apify proxies (recommended for large volumes) | No | false |
Example Input
{"cities": ["Berlin", "Munich"],"professions": ["Allgemeinmediziner", "Zahnarzt"],"maxResults": 100,"platforms": ["jameda", "doctolib"],"useProxies": false}
Note: maxResults: 100 with 2 platforms = 50 doctors per platform (split evenly)
Output
Each doctor profile includes:
📋 Basic Information
name- Full name (e.g., "Dr. med. Hans Müller")specialties- Medical specializations (["Allgemeinmedizin", "Innere Medizin"])platform- Data source (jameda, doctolib, or "both" if merged)
📍 Location Data
address- Practice street addresscity- City namezipcode- Postal code
📞 Contact Details
phone- Phone number (string, not array)website- Practice website URLprofileUrl- Link to doctor's platform profile
🏥 Practice Information
practiceName- Medical practice nameservices- Treatments/services offered (array)openingHours- Practice hours (array of strings like "Montag 08:00 - 12:00")hasOnlineBooking- Online appointment availability (boolean)insuranceTypes- Accepted insurance (["Gesetzlich", "Privat"])
⭐ Ratings & Reviews (Jameda only)
rating- Average rating (1.0-5.0)reviewCount- Number of patient reviews
📊 Metadata
scrapedAt- ISO timestampdataQuality- Data completeness score (0-100)
Example Output Record
{"id": "jameda-1234567890","platform": "jameda","name": "Dr. med. Maria Schmidt","specialties": ["Allgemeinmedizin"],"address": "Hauptstraße 123","city": "Berlin","zipcode": "10115","phone": "+49 30 12345678","website": "https://praxis-schmidt.de","profileUrl": "https://www.jameda.de/berlin/aerzte/allgemeinmediziner/dr-schmidt","practiceName": "Praxis Dr. Schmidt","services": ["Impfungen", "Gesundheitscheck", "Vorsorgeuntersuchung"],"openingHours": ["Montag 08:00 - 12:00, 14:00 - 18:00","Dienstag 08:00 - 12:00","Mittwoch Geschlossen"],"hasOnlineBooking": true,"insuranceTypes": ["Gesetzlich versichert", "Privat versichert"],"rating": 4.8,"reviewCount": 145,"scrapedAt": "2025-11-07T10:00:00.000Z","dataQuality": 95}
How It Works
- Search Listings: Navigates to Jameda and Doctolib search pages for your city + specialty
- Extract Profile URLs: Collects up to
maxResults/2profile URLs per platform - Scrape Details: Visits each doctor profile to extract complete information
- Deduplicate: Automatically merges doctors appearing on both platforms into single enriched records
- Export: Saves to Apify dataset as JSON, CSV, or Excel
Performance
- Speed: ~7-8 seconds per doctor (optimized parallel scraping)
- 10 doctors: ~1-2 minutes
- 100 doctors: ~12-15 minutes
- 1,000 doctors: ~2-3 hours
Export Formats
- JSON: Native format, best for APIs and automation
- CSV: Import into Excel, Google Sheets, or CRM tools
- Excel: Direct .xlsx download with formatting
- API: Access via Apify API for real-time integration
Integration Examples
n8n (Workflow Automation)
Apify Node → German Healthcare Scraper → Google Sheets / Airtable / CRM
Zapier
Schedule → Run Actor → Create CRM Leads → Send Slack Notification
Make (Integromat)
Webhook → Apify Actor → Filter Data → Update Database
SEO Keywords
This actor helps with: German doctor data extraction, Jameda scraper, Doctolib scraper, healthcare lead generation Germany, doctor contact information, medical recruiter tools, physician database Germany, Arztsuche API alternative, healthcare market research data, German medical professionals directory
Tips & Best Practices
🎯 Search Strategy
- Start small: Test with
maxResults: 10before scaling to 1,000+ - Use German terms:
Allgemeinmediziner(not "general practitioner"),Zahnarzt(not "dentist") - Major cities first: Berlin, Munich, Hamburg, Cologne have most doctors
🔀 Data Quality
- Enable deduplication: Automatically combines Jameda + Doctolib data for same doctor
- Check dataQuality score: 90-100 = excellent, 70-89 = good, <70 = incomplete
- Jameda has better reviews: More rating/review data than Doctolib
- Doctolib has better booking: Online appointment and service details
⚡ Performance Optimization
- Proxies: Enable for large scrapes (>500 doctors) to avoid rate limits
- Residential proxies: Use
proxyGroups: ["RESIDENTIAL"]for maximum reliability - Batch processing: Run multiple cities separately instead of one huge list
🔄 Scheduling
- Weekly runs: Track new doctors and updated information
- Monthly runs: Full market analysis and competitor monitoring
- State management: Actor avoids re-scraping same doctors across runs
Technical Details
- Technology: Playwright (Chromium) + Crawlee framework
- Anti-bot protection: Stealth mode, human-like delays, session management
- Deduplication: Name + city fuzzy matching across platforms
- Retry logic: Automatic retries for failed requests
- Dataset validation: Schema validation ensures data quality
Common Professions (German Terms)
| German | English | Jameda URL Slug |
|---|---|---|
| Allgemeinmediziner | General Practitioner | allgemeinmediziner |
| Zahnarzt | Dentist | zahnarzt |
| Orthopäde | Orthopedist | orthopaedie |
| Hautarzt | Dermatologist | hautarzt |
| Frauenarzt | Gynecologist | frauenarzt |
| Kinderarzt | Pediatrician | kinderarzt |
| Psychologe | Psychologist | psychologe |
| Augenarzt | Ophthalmologist | augenarzt |
| HNO-Arzt | ENT Doctor | hno-arzt |
Limitations & Compliance
⚠️ Terms of Service: Jameda and Doctolib terms apply. Use scraped data responsibly.
⚠️ GDPR: This actor scrapes publicly available data. Users are responsible for ensuring their use case complies with GDPR and German data protection laws.
⚠️ Data completeness: Not all doctors have email addresses or complete opening hours. Check dataQuality score.
⚠️ Rate limits: Both platforms have anti-bot protection. Use proxies for large volumes (>500 doctors).
FAQ
Q: How is this better than existing Jameda or Doctolib scrapers? A: You get data from both platforms in one run, with automatic deduplication. Existing scrapers require running 2 separate actors and manually merging results.
Q: What's the difference between maxResults with 1 vs 2 platforms?
A: maxResults: 100 with 2 platforms = 50 per platform (100 total). With 1 platform = 100 from that platform.
Q: Can I get email addresses? A: Email addresses are rarely published on doctor profiles. Phone numbers and websites are more commonly available.
Q: Is this legal? A: We scrape publicly available data. It's your responsibility to ensure compliance with applicable laws (GDPR, copyright, terms of service).
Q: Can I use this for commercial purposes? A: Yes, but check Jameda/Doctolib terms of service. Common use cases (recruitment, research, sales) are generally acceptable.
Q: How often is data updated? A: Data is scraped in real-time when you run the actor. For tracking changes, schedule weekly or monthly runs.
Q: Can I export to my CRM? A: Yes! Export as CSV and import to Salesforce, HubSpot, Pipedrive, etc. Or use Apify's Zapier/Make integrations for automatic sync.
Q: What if I hit rate limits?
A: Enable proxies (useProxies: true) and use residential proxy groups for maximum reliability.
Q: Can I scrape all of Germany? A: Yes, but Germany has ~160,000 doctors. Narrow by city and specialty for faster, more relevant results.
Q: Do I pay for duplicates? A: No! Pay-per-event billing charges once per unique doctor profile, even if they appear on both platforms.
Support
- Documentation: Apify Docs
- Issues: Report bugs via Apify Console
- Custom development: Contact for bulk pricing or custom features
Updates & Changelog
v1.0 (Nov 2025)
- ✅ Initial release
- ✅ Jameda + Doctolib support
- ✅ Automatic deduplication
- ✅ Pay-per-result pricing
- ✅ City + specialty search
- ✅ Unified dataset schema
Built with ❤️ using Apify SDK | Made in Germany 🇩🇪
This actor is not affiliated with Jameda or Doctolib. All trademarks belong to their respective owners.