Doctolib.fr Scraper — 35+ Fields avatar

Doctolib.fr Scraper — 35+ Fields

Pricing

from $7.00 / 1,000 results

Go to Apify Store
Doctolib.fr Scraper — 35+ Fields

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

Unfenced Group

Maintained by Community

Actor 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?

FeatureThis ActorCompetitors
Cost per result~$0.005–0.008$0.015–$0.05
Data fields35+10–18
Phone numbers❌ / partial
Languages spoken
Insurance / sector
Payment methods
Opening hours
Next appointmentPartial
Team members
Visit motives
Accessibility
Browser required❌ (HTTP only)✅ (expensive)

📦 Output Fields

Each doctor record contains:

Identity

  • doctorId — Doctolib internal ID
  • profileSlug — URL slug
  • profileUrl — Full Doctolib profile URL
  • fullName, firstName, lastName, nameWithTitle
  • gender — M / F
  • profilePhoto — Optimized CDN URL

Speciality

  • speciality — Primary speciality
  • specialities — All specialities array
  • typedoctor | practice

Location

  • city, zipCode, address, addressStreet
  • latitude, longitude
  • departement

Contact

  • phone — Direct phone number
  • email
  • websiteUrl

Booking & Availability

  • hasOnlineBooking — Boolean
  • agendaIds, practiceIds
  • nextAvailableDate — ISO datetime of next open slot
  • totalAvailableSlots — Count of near-future available slots
  • visitMotives — Array of appointment types with durations

Services

  • hasTelehealth — Video consultation available
  • hasUrgency — Emergency appointments
  • hasHomeCare — Home visit available

Ratings

  • rating — Review score
  • reviewCount — 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 languages
  • education — Biography/résumé
  • experienceYears
  • teamMembers — Co-located practitioners
  • openingHours
  • publicTransport
  • accessibilityFeatures — e.g. wheelchair access

Meta

  • searchSpeciality, searchCity
  • scrapedAt — ISO timestamp
  • dataSource — 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}.

SlugSpeciality
medecin-generalisteGeneral Practitioner
dentisteDentist
dermatologueDermatologist
cardiologueCardiologist
gynecologueGynaecologist
pediatrePaediatrician
psychiatrePsychiatrist
ophtalmologueOphthalmologist
masseur-kinesitherapeutePhysiotherapist
osteopatheOsteopath
orthophonisteSpeech Therapist
radiologueRadiologist
chirurgien-orthopedisteOrthopaedic Surgeon
orl-oto-rhino-laryngologieENT Specialist
pedicure-podologuePodiatrist
psychologuePsychologist
sage-femmeMidwife
endocrinologueEndocrinologist
neurologueNeurologist
urologueUrologist

Tip: Confirm any slug by visiting https://www.doctolib.fr/sitemap_specialities/1.xml

⚙️ Cost Optimisation Tips

  • Set scrapeDetailPages: false if you only need basic fields (name, address, speciality, rating) — cuts cost ~60%
  • Set scrapeAvailability: false if you don't need next appointment data
  • Use maxResultsPerQuery to cap spend per query combination
  • Increase maxConcurrency for 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-scraper for 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

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)

MeasureImplementation
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 listsuppressedDoctorIds + suppressedDoctorSlugs inputs
Retention labelling✅ Every record carries _compliance.retentionRecommendation
DSR contact hook✅ Every record carries _compliance.dsrContact instructions

Your obligations as data controller

  1. ROPA entry: Document this processing activity, legal basis, and data categories
  2. LIA: Complete a Legitimate Interest Assessment for your specific purpose
  3. Privacy notice: Publish a notice covering this processing (Art. 13/14)
  4. Erasure/objection requests: When a doctor objects, add their ID or slug to suppressedDoctorIds / suppressedDoctorSlugs and delete their records from your storage
  5. Retention: Re-scrape or delete records older than 90 days (accuracy principle)
  6. 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.

Resources