A high-accuracy tool for collecting structured doctors’ information from Jameda.de. It helps professionals gather healthcare market insights, compare services, and build detailed medical databases with ease. The scraper focuses on delivering complete, clean, and reliably formatted doctor profiles from across Germany.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for Jameda Scraper you've just found your team — Let’s Chat. 👆👆
The Jameda Scraper is designed to extract structured information from Germany’s leading medical directory. It solves the challenge of collecting reliable healthcare data at scale, offering a consistent way to gather profiles, locations, services, and professional details. It is ideal for researchers, analysts, marketers, insurance providers, digital health platforms, and organizations building healthcare-related datasets.
- Collects detailed practitioner profiles with accurate contact and location data.
- Captures key service offerings, specializations, and working hours.
- Supports extracting data across multiple German cities and professions.
- Useful for competitor monitoring, pricing research, and healthcare analytics.
- Generates structured outputs ready for dashboards, CRMs, and BI tools.
| Feature | Description |
|---|---|
| Multi-city extraction | Scrape doctors from any German city with a single run. |
| Profession-based filtering | Target specific medical fields such as dermatology, dentistry, cardiology, etc. |
| Clean JSON output | Returns structured, uniform results for every doctor profile. |
| Geo-location support | Includes latitude and longitude for mapping and analysis. |
| Service & pricing capture | Extracts available services with pricing when visible. |
| Insurance information | Retrieves accepted insurance providers and plan types. |
| Field Name | Field Description |
|---|---|
| city | The city where the doctor or clinic is located. |
| doctor_name | Full name of the medical professional. |
| address | Complete practice address. |
| latitude | Latitude coordinate of the practice location. |
| longitude | Longitude coordinate of the practice location. |
| image_url | Profile or practice image URL. |
| phone_number | List of available phone numbers. |
| website | Official website link if available. |
| link | Direct profile link on the directory. |
| specializations | List of medical specialties. |
| opening_hours | Weekly opening hours structured by weekday. |
| services | Specific services offered, with pricing where displayed. |
| service_options | Additional service options or add-ons. |
| doctors | Additional professionals working in the same practice. |
| insurances | List of accepted insurance providers. |
| insurance_types | Types of insurance plans accepted. |
[
{
"city": "Berlin",
"doctor_name": "Example Doctor",
"address": "Example Street 123, Berlin",
"latitude": "41.0082",
"longitude": "28.9784",
"image_url": "https://doktor-profile-example.jpg",
"phone_number": ["90 555 123 4567"],
"website": null,
"link": "https://www.jameda.de.com/example-doctor",
"specializations": [
"Example Specialization 1",
"Example Specialization 2"
],
"opening_hours": {
"Monday": ["8:00", "16:00"],
"Tuesday": ["8:00", "16:00"],
"Wednesday": ["8:00", "16:00"],
"Thursday": ["8:00", "16:00"],
"Friday": ["8:00", "16:00"],
"Saturday": ["8:00", "16:00"],
"Sunday": []
},
"services": [
{ "service": "First Consultation", "price": "From 500 ₺" },
{ "service": "Online Consultation", "price": "500 ₺" }
],
"service_options": [],
"doctors": [],
"insurances": [],
"insurance_types": []
}
]
Jameda Scraper/
├── src/
│ ├── main.js
│ ├── extractors/
│ │ ├── profileParser.js
│ │ ├── serviceParser.js
│ │ └── utils_geo.js
│ ├── outputs/
│ │ └── exporters.js
│ └── config/
│ └── settings.example.json
├── data/
│ ├── input.sample.json
│ └── sample_output.json
├── tests/
│ ├── profileParser.test.js
│ └── serviceParser.test.js
├── package.json
├── requirements.txt
└── README.md
- Healthcare analysts use it to compile structured datasets for market research and service benchmarking.
- Digital health platforms use it to enrich provider directories with verified and standardized doctor information.
- Insurance companies use it to validate provider networks and map accepted insurance plans.
- Marketing agencies use it to build targeted outreach lists for healthcare professionals across Germany.
- Researchers use it to study geographical distribution and specialty trends in the medical field.
Q1: Can this scraper extract data from multiple professions at once? Yes, you can pass an array of professions and the scraper will gather results for each one across the selected city.
Q2: Are geo-coordinates always available? Most profiles include latitude and longitude, but in rare cases where data is missing, the fields return null.
Q3: Does the scraper retrieve pricing for all services? Only services that display pricing publicly will include price fields. Hidden or protected pricing is not collected.
Q4: Can it extract multiple phone numbers? Yes, when a profile lists several contact numbers, all available entries are included as an array.
Primary Metric: Processes an average of 40–60 doctor profiles per minute depending on city size and network conditions.
Reliability Metric: Maintains a 97%+ successful extraction rate across large multi-city runs with consistent structured outputs.
Efficiency Metric: Optimized selectors and request batching reduce overhead, enabling high-throughput extraction with minimal retries.
Quality Metric: Delivers over 95% field completeness for profiles that publicly display their information, maintaining high consistency across professions.
