Doctoralia Es Scraper
Pricing
from $1.47 / 1,000 results
Doctoralia Es Scraper
Scrape doctor profiles from Doctoralia.es: name, specialty, rating, address, services, and coordinates.
Pricing
from $1.47 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share

Scrape doctor and specialist profiles from Doctoralia.es — Spain's leading medical directory. Extracts names, specialties, ratings, locations, services, and contact details.
What it scrapes
Search by keyword, specialty, or location, or point it at specific profile or search URLs. Each run returns structured doctor profile data ready for analysis, lead generation, or healthcare market research.
Output fields
Always present
| Field | Type | Description |
|---|---|---|
name | string | Full name including title (e.g. "Dr. Raimundo Gutiérrez Fonseca") |
entityType | string | doctor for an individual practitioner, facility for a clinic or medical centre |
profileUrl | string | Full URL of the Doctoralia profile |
specializations | string | Primary medical specialty or specialties |
subspecializations | string | Sub-specialties listed in parentheses (null if none) |
city | string | City of practice, from the published address |
clinicName | string | Name of the practice or centre at the primary address |
streetAddress | string | Street address of the primary practice |
addressCity | string | City of the primary practice |
addressRegion | string | Province or autonomous community |
addressCountry | string | ISO country code (always "ES") |
addressCount | integer | How many practice addresses the listing holds (only the first is returned) |
latitude | number | Latitude of the primary practice |
longitude | number | Longitude of the primary practice |
services | array | Bookable services with their listed price, e.g. [{ "name": "Visita Cardiología", "price": "150 €" }] |
isOnlineOnly | boolean | Whether the practitioner offers online consultations only |
ratingScore | number | Average rating out of 5 (null if no reviews) |
reviewCount | integer | Total number of patient reviews |
scrapedAt | string | ISO 8601 timestamp of when the profile was scraped |
sourceUrl | string | The search/listing URL this profile was found on |
With fetchDetails: true
| Field | Type | Description |
|---|---|---|
licenseNumber | string | Spanish medical licence number (Número de Colegiado) |
ratingValue | number | Rating as published on the profile page |
answeredQuestions | integer | Number of patient questions the practitioner has answered |
Addresses, coordinates, practice names and priced services come from the listing itself, so they are returned on every run at no extra cost. fetchDetails only adds the three fields above.
Sample output record
{"name": "Dr. Agustin Miguel Claveria Martinez","entityType": "doctor","profileUrl": "https://www.doctoralia.es/agustin-miguel-claveria-martinez/psiquiatra/calella","specializations": "Psiquiatra","subspecializations": "Psicoterapia, Neuropsiquiatría, Psiquiatria del adulto, Patología dual","city": "Calella","clinicName": "AtmanPsi (online)","streetAddress": "Carrer de l'Església 299","addressCity": "Calella","addressRegion": "Barcelona","addressCountry": "ES","addressCount": 1,"latitude": 41.6165848,"longitude": 2.667213,"services": [{ "name": "Asesoramiento psicoterapéutico", "price": "80 €" }],"isOnlineOnly": false,"ratingScore": 5,"reviewCount": 11,"scrapedAt": "2026-09-10T08:16:25.255Z","sourceUrl": "https://www.doctoralia.es/buscar?q=psiquiatra"}
Why this scraper?
🎯 Purpose-built
A dedicated scraper for this healthcare directory, tuned to its specialties and location structure.
🩺 Professional profiles only
Publicly listed practitioner and clinic data — names, specialties, locations and profile details. No patient data is ever collected.
📦 Clean, consistent records
Every record follows the same structure, ready for export to JSON, CSV or Excel.
Input parameters
| Parameter | Type | Description |
|---|---|---|
searchQuery | string | Doctor name, specialty, or keyword to search for |
location | string | City or area to filter by, e.g. Madrid, Barcelona |
specialty | string | Medical specialty filter, e.g. dermatólogo, cardiólogo |
maxResults | integer | Maximum number of profiles to return. Default 20 |
includeFacilities | boolean | Keep clinics and medical centres alongside individual doctors. Default false |
fetchDetails | boolean | Open each profile page for licence number, address, coordinates, services and insurers. Default false |
startUrls | array | Direct Doctoralia.es profile or search URLs. Overrides all filters |
Examples
Search for cardiologists in Madrid:
{"searchQuery": "cardiólogo","location": "Madrid","maxResults": 50,"fetchDetails": true}
Get all psychiatrists in Barcelona with detail pages:
{"searchQuery": "psiquiatra","location": "Barcelona","maxResults": 200,"fetchDetails": true}
Scrape specific profile URLs directly:
{"startUrls": [{ "url": "https://www.doctoralia.es/raimundo-gutierrez-fonseca/otorrino-otorrino-infantil/madrid" },{ "url": "https://www.doctoralia.es/buscar?q=pediatra&loc=Sevilla" }],"fetchDetails": true}
Clinics and medical centres in Madrid:
{"searchQuery": "medico","location": "Madrid","maxResults": 50,"includeFacilities": true,"fetchDetails": false}
Generic Spanish terms such as medico return clinics and centres rather than individual doctors. Without includeFacilities, those results are filtered out and the run returns few or no rows.
Pricing
$1.50 per 1,000 profiles with fetchDetails: false. With fetchDetails: true, each profile requires an additional page request, so cost scales with the number of profiles fetched.
Use the Max results cap to control your spend exactly.
Performance
| Run | Measured |
|---|---|
| 10 results, listing only | ~6 seconds |
| 100 results, listing only | ~42 seconds |
10 results, fetchDetails: true | ~9 seconds |
Peak memory stays well under 256 MB; the run is network-bound, not memory-bound.
Known limitations
- Profile depth varies per practitioner; the scraper returns what the source publishes and never invents data.
- No patient data is ever collected — only publicly listed professional profiles.
- Very large result sets are bounded by the source's own paging limits.
- Doctoralia mixes individual doctors and clinics in one result list. Which of the two a query returns is decided by the site, not by this actor — use
includeFacilitiesto keep both. - A search that genuinely matches nothing finishes successfully with an empty dataset rather than failing.
- A listing can hold several practice addresses. The first is returned;
addressCountreports how many there were. - Doctoralia does not publish accepted insurers or payment methods on profile pages, so those are not returned.
Technical details
- Source: doctoralia.es — Spain's largest doctor directory (DocPlanner Group)
- Memory: 512 MB
- Retry: Automatic retry on network errors, up to 3 attempts per request
- Rate limiting: 800ms delay between pages, 400ms between detail requests
Additional services
Need a custom actor, additional filters, scheduled runs, or integration support? Email info@unfencedgroup.nl — we build on request.
Related scrapers
Other scrapers in our Healthcare Booking collection:
Run it on a schedule
This actor is built for repeat use. Set it to run daily, weekly, or hourly, and the data keeps flowing without you touching it.
- Schedule runs — open the actor, go to Schedules, and pick a cadence. Each run only charges you for the results it returns.
- Connect it to your stack — push results straight to Google Sheets, Slack, a webhook, or your database using Apify Integrations. No glue code needed.
- Pull results via API — every run writes a clean dataset you can fetch with one API call, ready for whatever you build on top of it.
Set it once and it runs on its own.
Rate this actor
If this scraper does its job, a short review on the Reviews tab helps other users find it. Something not working? Open an issue on the Issues tab instead — issues get fixed.
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl