Doctoralia Scraper avatar

Doctoralia Scraper

Pricing

from $30.00 / 1,000 doctor profiles

Go to Apify Store
Doctoralia Scraper

Doctoralia Scraper

[💰 $30 / 1K doctors · $1.50 / 1K reviews] Extract doctors from Doctoralia across 11 countries — names, specialties, addresses, phones, GPS, ratings, services, prices, and patient reviews. Search by city and specialty, or paste profile URLs.

Pricing

from $30.00 / 1,000 doctor profiles

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Pull doctor and clinic data from Doctoralia at scale — full names, specialties, star ratings, opinion counts, clinic addresses with GPS coordinates, phone numbers, services with prices, next-available appointment slots, and complete patient reviews across 11 country sites. Built for healthcare marketers, medical recruiters, and clinic competitive-intelligence teams who need structured doctor and review data without collecting it profile by profile.

Why This Scraper?

  • 11 localized country sites in one actor — Spain, Brazil, Mexico, Argentina, Chile, Peru, Colombia, Italy (MioDottore), Poland (ZnanyLekarz), Turkey (DoktorTakvimi), and Czech Republic (ZnamyLekar). Switch country with one dropdown.
  • Per-clinic GPS coordinates — exact latitude and longitude on every clinic location, ready to plot on a map or join to your territory data.
  • Services with prices and currency — each doctor's bookable services with name, description, and price (e.g. "Consulta ginecología €160"), including "from price" flags so you know which prices are starting estimates.
  • Full patient reviews, not just counts — every opinion comes with the author name, star rating, ISO 8601 publish date, and the complete review text — capped exactly by your per-doctor limit.
  • Multiple clinic locations per doctor — doctors practicing at several clinics return every address, postal code, phone, and online-payment flag, not just the primary one.
  • Next-available appointment and booking signal — the soonest open slot plus a calendar-availability flag, so you can spot which professionals are actively taking new patients.
  • Aggregate rating and total opinion count — the headline star average and lifetime opinion total on every doctor, alongside how many reviews this run collected.
  • Paste-a-URL or structured search — drop in any doctor profile or search-results URL, or search by country, city, and specialty. No need to learn each country's taxonomy.

Use Cases

Healthcare Lead Generation

  • Build outreach lists of doctors by specialty and city with clinic phone numbers
  • Map clinic locations by GPS to plan field-sales territories
  • Target professionals offering specific paid services and price bands
  • Identify doctors actively accepting new patients via next-available slots

Market & Competitive Research

  • Benchmark service pricing across cities and specialties
  • Track how many clinics a specialty has in a given metro
  • Compare provider density between Spain, Italy, Brazil, and other markets
  • Monitor which competitors offer online booking and online payment

Reputation & Review Monitoring

  • Pull full patient review text to analyze sentiment for a clinic or specialty
  • Track a doctor's rating and opinion volume over time
  • Surface recurring complaints from low-star reviews
  • Compile testimonials and star averages for marketing collateral

Healthcare Recruitment

  • Source candidates by specialty, city, and country site
  • Assess a candidate's public rating and patient feedback before outreach
  • Map where target specialists practice across multiple clinics

Getting Started

Search by Country, City, and Specialty

The simplest run — find dentists in Madrid:

{
"country": "es",
"city": "Madrid",
"specialty": "Dentist",
"maxResults": 50
}

Doctors Without Reviews (Lighter, Faster)

Skip review collection when you only need doctor and clinic details:

{
"country": "it",
"city": "Milano",
"specialty": "Ginecologo",
"includeReviews": false,
"maxResults": 100
}

Paste Doctoralia URLs Directly

Mix doctor profiles and search-results pages from any country site:

{
"startUrls": [
"https://www.doctoralia.es/maria-garcia-lopez/dentista/madrid",
"https://www.miodottore.it/cardiologo/roma"
],
"maxReviewsPerDoctor": 30
}
{
"country": "br",
"city": "São Paulo",
"specialty": "Cardiologista",
"maxResults": 200,
"includeReviews": true,
"maxReviewsPerDoctor": 50
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
startUrlsstring[][]Paste Doctoralia doctor profile or search-results URLs. The most direct way to get exactly the doctors you want. Leave empty to use the search options below.
countryselectSpainWhich Doctoralia country site to search: Spain, Brazil, Mexico, Argentina, Chile, Peru, Colombia, Italy, Poland, Turkey, or Czech Republic. Used with City and Specialty; ignored when you paste URLs.
citystring""City or area to search within the chosen country (e.g. "Madrid", "São Paulo"). Leave empty to search the whole country.
specialtystring""Medical specialty to look for (e.g. "Dentist", "Cardiologist", "Psychologist"). Leave empty to include all specialties.

Options

ParameterTypeDefaultDescription
maxResultsinteger100Maximum number of doctors to collect. Set to 0 for no limit. Keep a limit to control cost.
includeReviewsbooleantrueCollect each doctor's patient reviews. Turn off for faster, cheaper runs when you only need doctor and clinic details.
maxReviewsPerDoctorinteger20Maximum reviews to collect per doctor. Set to 0 to collect all available reviews, up to a safety maximum of 5,000 per doctor. Popular doctors can have hundreds of reviews — a limit keeps runs fast and affordable.

Output

The dataset contains two kinds of rows, marked by a recordType field: one doctor row per professional, followed by one review row for each patient opinion collected for that doctor.

Doctor Records

{
"recordType": "doctor",
"doctorId": "123456",
"fullName": "Dr. María García López",
"title": "Dra.",
"gender": null,
"profileUrl": "https://www.doctoralia.es/maria-garcia-lopez/ginecologo/madrid",
"specialties": [
{ "id": 51, "name": "Ginecólogo" }
],
"rating": 4.9,
"opinionsTotal": 187,
"reviewsCollected": 20,
"locations": [
{
"clinicName": "Clínica Salud Mujer",
"addressStreet": "Calle de Serrano 45",
"city": "Madrid",
"postalCode": "28001",
"phone": "+34 911 234 567",
"latitude": 40.4319,
"longitude": -3.6883,
"onlinePayment": true,
"nextAvailable": "2026-06-15T09:30:00+02:00"
}
],
"services": [
{
"name": "Consulta ginecología",
"description": "Primera visita y revisión",
"price": 160,
"isFromPrice": false
}
],
"insurances": ["Adeslas", "Sanitas"],
"hasCalendar": true,
"nextAvailable": "2026-06-15T09:30:00+02:00",
"country": "es",
"scrapedAt": "2026-06-12T14:30:00+00:00"
}

Core Fields

FieldTypeDescription
recordTypestringAlways "doctor" for these rows
doctorIdstringStable Doctoralia doctor identifier
fullNamestringDoctor's full display name
titlestringProfessional title or prefix (e.g. "Dr.", "Dra.")
genderstringReported gender when available
profileUrlstringCanonical doctor profile URL
specialtiesobject[]Each specialty as { id, name }
countrystringCountry site the record came from
scrapedAtstringISO 8601 timestamp of collection

Ratings & Availability

FieldTypeDescription
ratingnumberAverage star rating
opinionsTotalnumberTotal lifetime opinions on file
reviewsCollectednumberHow many reviews this run collected for the doctor
hasCalendarbooleanWhether online booking is offered
nextAvailablestringSoonest open appointment (ISO 8601) when shown

Locations & Services

FieldTypeDescription
locationsobject[]One entry per clinic — see fields below
servicesobject[]Bookable services as { name, description, price, isFromPrice }
insurancesstring[]Accepted insurance names

Each locations[] entry contains: clinicName, addressStreet, city, postalCode, phone, latitude, longitude, onlinePayment, nextAvailable, addressId (the clinic's Doctoralia identifier), and isOnlineOnly (true for online-only consultations with no physical address).

Review Records

{
"recordType": "review",
"doctorId": "123456",
"doctorName": "Dr. María García López",
"reviewId": "9876543",
"authorName": "Laura M.",
"rating": 5,
"datePublished": "2026-05-28T10:15:00+02:00",
"body": "Excelente trato y muy profesional. La consulta fue muy completa.",
"isAnonymous": false,
"country": "es",
"scrapedAt": "2026-06-12T14:30:00+00:00"
}
FieldTypeDescription
recordTypestringAlways "review" for these rows
doctorIdstringIdentifier of the doctor this review belongs to
doctorNamestringName of the reviewed doctor
reviewIdstringStable review identifier
authorNamestringDisplay name of the review author
ratingnumberStar rating given in this review
datePublishedstringWhen the review was posted (ISO 8601)
bodystringFull review text
isAnonymousbooleanWhether the author was posted anonymously
countrystringCountry site the review came from
scrapedAtstringISO 8601 timestamp of collection

Tips for Best Results

  • Start small — set maxResults to 25-50 on your first run to confirm the city and specialty return the doctors you expect, then scale up.
  • Control review spend with maxReviewsPerDoctor — popular doctors can carry hundreds of reviews. A cap of 10-20 is plenty for sentiment sampling and keeps runs fast and affordable; set it to 0 only when you genuinely need every review (up to a safety maximum of 5,000 per doctor).
  • Turn off includeReviews for pure lead lists — when you only need names, specialties, addresses, and phones, switching reviews off makes runs noticeably leaner.
  • Match the specialty word to the country language — each site uses its own localized slugs. Use "Cardiologo" on the Italian site, "Cardiologista" in Brazil, and "Cardiólogo" in Spain. When in doubt, paste a search-results URL instead.
  • Paste URLs for precise targeting — to scrape one specific doctor or an already-filtered search page, copy the URL straight from your browser; it works across all 11 country sites.
  • Combine sources in one run — mix pasted profile URLs, pasted search URLs, and a structured city/specialty search together; results are deduplicated by doctor.

Pricing

Charged per doctor profile plus per review collected — from $30 per 1,000 doctor profiles + $1.50 per 1,000 reviews. Each doctor carries an unbounded review collection, so a split keeps pricing fair: you pay the doctor rate once per professional, and only pay the review rate for the reviews you actually choose to collect. Bronze, Silver, and Gold subscribers pay progressively less.

Doctor Profiles

Doctor profilesNo discountBronzeSilverGold
100$3.60$3.40$3.20$3.00
1,000$36.00$34.00$32.00$30.00
10,000$360.00$340.00$320.00$300.00
100,000$3,600.00$3,400.00$3,200.00$3,000.00

Reviews

ReviewsNo discountBronzeSilverGold
1,000$1.80$1.70$1.60$1.50
10,000$18.00$17.00$16.00$15.00
100,000$180.00$170.00$160.00$150.00

Example: collecting 100 doctors with an average of 20 reviews each at Gold rates costs 100 × $0.030 + 2,000 × $0.0015 = $3.00 + $3.00 = $6.00, plus a small fixed per-run start fee.

No compute or time-based charges — you pay per result, plus a small fixed per-run start fee. Use includeReviews and maxReviewsPerDoctor to keep review spend exactly where you want it.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n — Workflow automation
  • Google Sheets — Direct spreadsheet export
  • Slack / Email — Notifications on new results
  • Webhooks — Trigger custom APIs on run completion
  • Apify API — Full programmatic access

This actor is designed for legitimate market research, recruitment, and reputation-monitoring use. The data includes information about named medical professionals and patient reviews — treat it as personal data. You are responsible for complying with applicable laws (including GDPR and other privacy regulations), the relevant Doctoralia site's Terms of Service, and any restrictions on processing health-related or personal data. Do not use extracted data for spam, harassment, or any unlawful purpose, and honor individuals' privacy and data-subject rights.