Doctolib.fr Scraper — 35+ Fields
Pricing
from $7.00 / 1,000 results
Doctolib.fr Scraper — 35+ Fields
Extract the most complete doctor & practice profiles from Doctolib.fr. 35+ data fields including phone, languages, insurance, payment methods, opening hours, next appointment slots. Lowest cost per result. GDPR/AVG compliant with robots.txt enforcement and built-in suppression list.
Pricing
from $7.00 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Doctolib.fr Scraper — 35+ Fields, Ultra-Low Cost
Extract the most comprehensive doctor and medical practice profiles from Doctolib.fr — France's leading healthcare booking platform.
✨ Why this scraper?
| Feature | This Actor | Competitors |
|---|---|---|
| Cost per result | ~$0.005–0.008 | $0.015–$0.05 |
| Data fields | 35+ | 10–18 |
| Phone numbers | ✅ | ❌ / partial |
| Languages spoken | ✅ | ❌ |
| Insurance / sector | ✅ | ❌ |
| Payment methods | ✅ | ❌ |
| Opening hours | ✅ | ❌ |
| Next appointment | ✅ | Partial |
| Team members | ✅ | ❌ |
| Visit motives | ✅ | ❌ |
| Accessibility | ✅ | ❌ |
| Browser required | ❌ (HTTP only) | ✅ (expensive) |
📦 Output Fields
Each doctor record contains:
Identity
doctorId— Doctolib internal IDprofileSlug— URL slugprofileUrl— Full Doctolib profile URLfullName,firstName,lastName,nameWithTitlegender— M / FprofilePhoto— Optimized CDN URL
Speciality
speciality— Primary specialityspecialities— All specialities arraytype—doctor|practice
Location
city,zipCode,address,addressStreetlatitude,longitudedepartement
Contact
phone— Direct phone numberemailwebsiteUrl
Booking & Availability
hasOnlineBooking— BooleanagendaIds,practiceIdsnextAvailableDate— ISO datetime of next open slottotalAvailableSlots— Count of near-future available slotsvisitMotives— Array of appointment types with durations
Services
hasTelehealth— Video consultation availablehasUrgency— Emergency appointmentshasHomeCare— Home visit available
Ratings
rating— Review scorereviewCount— Number of reviews
Billing
isConventionne— Boolean (Secteur 1/2/3)sector— Billing sector (1 = lowest fees)paymentMethods— e.g.["card", "check", "cash"]insurancesAccepted
Practice Details
languages— Spoken languageseducation— Biography/résuméexperienceYearsteamMembers— Co-located practitionersopeningHourspublicTransportaccessibilityFeatures— e.g. wheelchair access
Meta
searchSpeciality,searchCityscrapedAt— ISO timestampdataSource— Which API stages were used
🚀 Usage
Basic — scrape GPs in Paris
{"specialities": ["medecin-generaliste"],"cities": ["paris"],"maxResultsPerQuery": 200}
Multi-city, multi-speciality
{"specialities": ["dermatologue", "cardiologue", "pediatre"],"cities": ["paris", "lyon", "marseille", "toulouse"],"maxResultsPerQuery": 500}
Fast / cheap (search data only, no detail pages)
{"specialities": ["dentiste"],"cities": ["bordeaux"],"scrapeDetailPages": false,"scrapeAvailability": false,"maxResultsPerQuery": 1000}
🔑 Speciality Slugs (FR)
Use the slug exactly as it appears in the Doctolib URL — https://www.doctolib.fr/{slug}.
| Slug | Speciality |
|---|---|
medecin-generaliste | General Practitioner |
dentiste | Dentist |
dermatologue | Dermatologist |
cardiologue | Cardiologist |
gynecologue | Gynaecologist |
pediatre | Paediatrician |
psychiatre | Psychiatrist |
ophtalmologue | Ophthalmologist |
masseur-kinesitherapeute | Physiotherapist |
osteopathe | Osteopath |
orthophoniste | Speech Therapist |
radiologue | Radiologist |
chirurgien-orthopediste | Orthopaedic Surgeon |
orl-oto-rhino-laryngologie | ENT Specialist |
pedicure-podologue | Podiatrist |
psychologue | Psychologist |
sage-femme | Midwife |
endocrinologue | Endocrinologist |
neurologue | Neurologist |
urologue | Urologist |
Tip: Confirm any slug by visiting
https://www.doctolib.fr/sitemap_specialities/1.xml
⚙️ Cost Optimisation Tips
- Set
scrapeDetailPages: falseif you only need basic fields (name, address, speciality, rating) — cuts cost ~60% - Set
scrapeAvailability: falseif you don't need next appointment data - Use
maxResultsPerQueryto cap spend per query combination - Increase
maxConcurrencyfor faster runs (same cost, less time)
🛡️ Proxy Requirements
Doctolib requires proxies. French residential proxies provide the best success rate. The Actor defaults to Apify Residential proxies (France). You can override in proxyConfiguration.
📍 France-only
This actor is dedicated to Doctolib.fr (France). See also:
doctolib-it-scraperfor Italy (Doctolib.it)
⚖️ GDPR / AVG Compliance
Note: This actor collects publicly available professional directory data — not patient health data. The compliance analysis below reflects this distinction. You, as the operator, remain the data controller and are responsible for your specific use case.
What kind of data is this?
Doctors on Doctolib voluntarily publish their name, speciality, address, phone, and availability on a public commercial platform to attract patients. This is professional/commercial data, structurally equivalent to a listing in a business directory.
It is not:
- Patient health data
- Appointment history or diagnoses
- Any information that reveals a patient's health condition
Legal basis under GDPR Art. 6
Legitimate Interest (Art. 6(1)(f)) is the appropriate basis, consistent with CNIL guidance (Jan 2026 focus sheet on web scraping).
The Legitimate Interest Assessment (LIA) factors in favour:
- Data is freely accessible without login or account
- Doctors deliberately make it public to solicit bookings
- Reasonable expectation: professional listings get aggregated into directories
- No sensitive patient data is touched
You should document your specific LIA in your ROPA for your use case (lead generation vs. research vs. competitor analysis each require their own assessment).
Art. 9 special category analysis
Doctor speciality (e.g. "psychiatre") is professional information the doctor has manifestly made public by listing it on a public booking platform → Art. 9(2)(e) exception applies.
This actor never collects:
- Patient names, appointment history, diagnoses, or prescriptions
- Review texts (which could contain patient health disclosures)
- Any data from patient-side health forums or private profiles
CNIL-mandated compliance measures (Jan 2026 guidance)
| Measure | Implementation |
|---|---|
| robots.txt respected | ✅ Checked at startup, paths verified, scrape aborted if disallowed |
| No login bypass | ✅ Only freely accessible, unauthenticated endpoints |
| Data minimization | ✅ Review texts, patient fields excluded from schema |
| No sensitive-site scraping | ✅ No health forums, no patient-side data sources |
| Opt-out / suppression list | ✅ suppressedDoctorIds + suppressedDoctorSlugs inputs |
| Retention labelling | ✅ Every record carries _compliance.retentionRecommendation |
| DSR contact hook | ✅ Every record carries _compliance.dsrContact instructions |
Your obligations as data controller
- ROPA entry: Document this processing activity, legal basis, and data categories
- LIA: Complete a Legitimate Interest Assessment for your specific purpose
- Privacy notice: Publish a notice covering this processing (Art. 13/14)
- Erasure/objection requests: When a doctor objects, add their ID or slug to
suppressedDoctorIds/suppressedDoctorSlugsand delete their records from your storage - Retention: Re-scrape or delete records older than 90 days (accuracy principle)
- No combination with patient data: Never join this dataset with patient health records or appointment history
What about the Netherlands (AVG)?
AVG = Dutch implementation of GDPR. The analysis is identical — AVG has no additional restrictions on professional directory data beyond GDPR. The Autoriteit Persoonsgegevens (AP) follows EDPB guidance on legitimate interest. The same LIA and suppression mechanism applies.
DPIA required?
A full DPIA (Art. 35) is likely not required for professional directory data at normal scale, since:
- Not special category data (no patient health data)
- Not systematic profiling of individuals
- Data is already public
However, if you plan to process at very large scale (millions of records), combine with other datasets, or use for automated decision-making, conduct a DPIA.