Jameda Scraper [411K Docs💰] | German Leads & Reviews
Pricing
from $1.20 / 1,000 profile scrapeds
Jameda Scraper [411K Docs💰] | German Leads & Reviews
Scrape jameda.de — Germany's largest doctor directory (411K+ doctors, 2.8M reviews): specialty × city profiles with +49 phones, insurance types, languages, opening hours, ratings and patient reviews.
Pricing
from $1.20 / 1,000 profile scrapeds
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Jameda Scraper — German Doctor Profiles, Reviews & +49 Leads
Scrape jameda.de — Germany's largest online physician directory (411,000+ doctors, 2.8M+ verified patient reviews) — one specialty in one city per run, with up to 500 doctor profiles. Extract doctor profile data (name, practice address, +49 phone, verified insurance types, languages, opening hours, ratings, review count) and the patient review dataset, all in parallel. The cheapest way to build German healthcare lead and review datasets.
Main Use Cases
- Medical lead generation — specialty × city searches return practices with +49 phone numbers and insurance (GKV/PKV) acceptance to target outreach.
- Healthcare market research — doctor supply and density, rating distributions, review volumes per specialty/city.
- Doctor directory building — a searchable Germany-wide database of doctors, therapists and other providers.
- Competitor & employer monitoring — practices' ratings and review sentiment over time.
- Patient review analytics — German reviews with per-review ratings for NLP/fine-tuning datasets.
How It Works
The actor crawls jameda's public search and profile pages with a fast CheerioCrawler (parallel fetching, no browser, no login, no CAPTCHA). It walks the specialty+city search listing (~30 doctors a page, up to 50 listing pages), then per doctor scrapes the profile and, when enabled, the patient reviews server-rendered on the page. Phone numbers are normalized to +49 international format.
Lead Generation: Build Doctor Lists with Validated Insurance Data
Each profile row contains practiceName, fullName, streets with the primary address, phoneNumbers (normalized +49), verified insuranceTypes (GKV gesetzlich / PKV privat) as jameda lists them, languages, openingHours and types (e.g. Facharzt). Use the parallel specialties/cities fields to crawl several specialty × city combos in one run — a clean, structured medical-practice contact database without scraping the whole directory.
Scrape Doctor Reviews With Practice Responses
Set includeReviews: true and the separate reviews dataset fills with title, body, rating (1–5), secondaryRating, reviewAward, the practice response (responseText) when present, and createdAt dates — complete German healthcare review data for reputation research and health-NLP datasets.
Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
specialty | string | Yes | — | Specialty to search, e.g. Hautarzt (Dermatologe), Kardiologe, Zahnarzt or a jameda slug like hautarzt-dermatologe. |
city | string | Yes | — | German city, e.g. Berlin, München or a slug like muenchen. |
specialties | array | No | — | Extra specialties crawled in parallel in the same run (combined with cities, every pair is crawled concurrently). |
cities | array | No | — | Extra cities crawled in parallel. |
maxResults | integer | No | 50 | Max doctor profiles overall (all specialty+city combos combined, hard cap 500). |
maxPagesPerListing | integer | No | 5 | Max search-listing pages per specialty+city (~30 doctors each), 1–50. |
includeReviews | boolean | No | true | Scrape patient reviews for each doctor. |
maxReviewsPerDoctor | integer | No | 50 | Max reviews saved per doctor (limited by what jameda server-renders on the page), 1–200. |
maxConcurrency | integer | No | 20 | Pages fetched in parallel, 1–50. |
proxy | object | No | Apify proxy off | Recommended for high concurrency. |
Example Input
{"specialty": "Hautarzt (Dermatologe)","city": "Berlin","specialties": ["Zahnarzt"],"cities": ["Hamburg"],"maxResults": 200,"includeReviews": true,"maxReviewsPerDoctor": 10}
Example Output (profile row)
{"fullName": "Dr. med. Anna Schmidt","professionalTitle": "Fachärztin für Dermatologie","practiceName": "Hautärzte am Gendarmenmarkt","city": "Berlin","streets": ["Charlottenstraße 56, 10117 Berlin"],"phoneNumbers": ["+493020123456"],"web": ["https://www.example-praxis.de"],"openingHours": ["Mo–Fr 09:00–18:00"],"languages": ["Deutsch", "Englisch"],"insuranceTypes": ["GKV", "PKV"],"rating": 4.9,"reviewCount": 87,"specialties": ["Dermatologie"],"types": ["Facharzt"],"jamedaProfileUrl": "https://www.jameda.de/berlin/..."}
Review row
title, body, rating (1–5), secondaryRating, reviewAward, responseText, createdAt.
Verify Practice Data, Ratings & Opening Hours
Every field maps to jameda's public profile data: verified insurance types, exact opening hours, language skills and up-to-date ratings. The review count sits on each profile row, while full patient review text (where jameda allows display) lands in the reviews dataset.
Integrations & Automation
- Apify API — feed profiles/reviews into CRM outreach, BI dashboards or ML pipelines.
- Scheduling — weekly reputation/rating monitoring per specialty or city.
- Export — JSON, CSV, Excel, HTML.
Recommended schedule: weekly for rating/review monitoring; monthly for full specialty×city sweeps or directory refreshes.
Related Actors
- Jameda Scraper – German Doctors — jameda.de profiles and reviews (pay-per-specialty).
- Jameda Scraper – Yazılım & Veri — jameda/znanylekarz data extraction by specialty and city.
- Jameda Scraper – Doctor Data & Reviews — jameda doctor profiles, ratings and reviews.
- ZnanyLekarz Scraper – Polish Doctors — the Polish sister directory of the same group.
FAQ
Why use this actor instead of a jameda API?
Jameda does not publish a public data API — their data is only available through the website and their own partner systems. Scraping the public pages is the standard way to get structured German healthcare directory data at scale. Unlike the larger per-doctor-priced competitors (from $0.027–$0.05 per doctor on the Apify Store), this actor's events are set by the publisher per profile and per review — you only pay for the rows actually extracted.
What are alternatives to this actor / German doctor data?
- giovannibiancia/Jameda — jameda profiles + reviews (from $0.05/doctor).
- benthepythondev/jameda-scraper — doctor data + reviews (from $0.027/doctor).
- Other German directories: Doctolib.de, Arzt-Auskunft (Stiftung Gesundheit), Sanego, Weisse Liste — different coverage per source.
How can I scrape several specialties and cities at once?
Put the main pair in specialty + city and the rest in the parallel specialties and cities arrays — every combination is crawled concurrently in the same run (all still capped by maxResults).
What is the best way to watch doctors' ratings?
Schedule a weekly run for the relevant specialty+city and read rating/reviewCount from each run's profile rows — your dataset builds a review history over time.
Why do my reviews stop at 50 per doctor?
maxReviewsPerDoctor defaults to 50 (max 200) and is limited by what jameda server-renders on the profile page; raise it and/or run more frequently to capture more reviews.
SEO Keywords
jameda scraper, arzt daten deutschland, deutsche arztverzeichnis daten, arzt bewertungen scrapen, hautarzt berlin daten, zahnarzt daten export, arztpraxis lead generation, kassenarzt pkv gkv daten, jameda reviews dataset, doctor data germany, plus 49 arzt telefonnummern, sprechzeiten daten, healthtech data scraping, jameda api alternative, arztsuche daten
For AI Agents & LLM Apps
- Purpose: given a German
specialtyandcity(plus optional parallelspecialties/cities), returns one row per jameda doctor profile (practice, address, +49 phone, insurance types, languages, opening hours, rating, review count) and, per profile, patient review rows in a separate reviews dataset. - Minimal input:
{ "specialty": "Hautarzt (Dermatologe)", "city": "Berlin", "maxResults": 50 }
- Variant — reviews-heavy:
{ "specialty": "Zahnarzt", "city": "München", "maxResults": 20, "includeReviews": true, "maxReviewsPerDoctor": 25 }
- Output field list (profiles dataset):
fullName,professionalTitle,practiceName,city,streets,phoneNumbers,web,openingHours,languages,insuranceTypes,rating,reviewCount,specialties,types,jamedaProfileUrl - Reviews dataset field list:
title,body,rating,secondaryRating,reviewAward,responseText,createdAt
Behaviors an agent should know:
specialtyandcityare required; the parallelspecialties/citiesarrays only add combos to crawl concurrently.maxResultsis the global profile cap across all combos (hard max 500) — set it deliberately or the run stops early.includeReviews: falseskips the reviews dataset entirely and makes a run much faster/cheaper — use it for pure lead lists.maxReviewsPerDoctoris bounded by what jameda server-renders on the profile page (server-side, no pagination).- Phone numbers are normalized to +49 international format.
- Billing: pay-per-event —
profileper doctor profile row,reviewper review row, + Actor Start ~$0.00005.
Legal & Compliance Disclaimer
This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by jameda (Docplanner Group). It accesses publicly available directory data at normal browsing volumes — no login bypass, no private data. The dataset contains personal and contact data of medical professionals (names, practice addresses, phone numbers, reviews); users are responsible for ensuring their use complies with applicable German and EU data-protection law (GDPR), jameda's Terms of Service, and any professional/healthcare regulations that apply to their intended use. This data should not be used for unsolicited commercial outreach in violation of applicable law.