Doctoralia Scraper - 7 Countries, CRM & Phone
Pricing
$5.00 / 1,000 doctor scrapeds
Doctoralia Scraper - 7 Countries, CRM & Phone
Scrape Doctoralia doctors by city+specialty search or profile URL: name, specialty, CRM license, phone, address, insurance, consultation price. Brazil, Spain, Italy, Poland, Mexico, Colombia, Chile. $0.005 per doctor.
Pricing
$5.00 / 1,000 doctor scrapeds
Rating
5.0
(1)
Developer
Gio
Maintained by CommunityActor stats
0
Bookmarked
40
Total users
8
Monthly active users
8 days ago
Last modified
Categories
Share
Why use this scraper
Doctoralia is the largest doctor directory across Brazil, Spain, Italy, Poland, Mexico, Colombia and Chile, with millions of doctor profiles covering every medical specialty. For medical sales reps, healthcare lead generation teams, pharma marketing and telehealth onboarding, that directory is a goldmine of contact and practice data, but there is no public API and copying profiles by hand does not scale past a handful of doctors. This actor searches Doctoralia by city and specialty, or scrapes specific doctor profile URLs directly, and returns structured records with name, specialty, license number, phone, address, insurance plans accepted and consultation prices, ready to load into a CRM or outreach tool.
Overview
The actor has two modes. Search mode browses a city + specialty combination (e.g. cardiologists in Sao Paulo) and returns a ranked list of matching doctors with the summary fields shown on the directory page. Profile mode takes specific doctor profile URLs and returns the full detail page for each: medical license, phone numbers, every address with availability, insurance plans accepted, languages spoken and the doctor's own "about me" text. A search run for one city+specialty combination typically returns dozens of doctors per page requested; a profile run processes one doctor URL at a time. Pricing is pay-per-doctor returned, whichever mode you use.
Supported inputs
- Mode (
mode) -searchto browse by specialty and city, orprofileto scrape specific doctor URLs directly. Required. - Search URLs (
searchUrls) - one or more Doctoralia search URLs in the formathttps://www.doctoralia.<tld>/{specialty}/{city}, e.g./cardiologista/sao-paulofor Brazil. Works across all 7 supported country domains (.com.br, .es, .it, .pl, .com.mx, .com.co, .cl). Required for search mode. - Profile URLs (
profileUrls) - full Doctoralia doctor profile URLs. Required for profile mode. - Max search pages (
maxPagesSearch) - how many result pages to walk per search URL; each page returns roughly 29 doctors. - Max doctors (
maxDoctors) - a hard cap across all search URLs combined,0for no limit beyondmaxPagesSearch. - Max retries (
maxRetries) - retry attempts per request if a page fails to load, default 3.
Use cases
- Medical sales reps and pharma field teams. Build a territory list of doctors by specialty and city with phone numbers and practice addresses for in-person or phone outreach.
- Healthcare lead generation agencies. Generate qualified lead lists for telehealth platforms, medical software vendors or insurance brokers targeting specific specialties.
- Market research on practice density. Count doctors by specialty across cities to identify underserved areas for a new clinic or telehealth service launch.
- Insurance network analysis. Use the
insurancesfield from profile mode to see which health plans a group of doctors in an area accept, for network adequacy studies. - Competitive research for telehealth onboarding. Compare consultation prices and review counts across doctors in the same specialty and city to benchmark pricing for a new platform.
How it works
In search mode, the actor opens the Doctoralia search results page for your
specialty and city URL and reads the ranked doctor list directly from the
page, following pagination up to maxPagesSearch. In profile mode, it opens
each doctor's own profile page and extracts the medical license, phone
numbers, listed addresses, accepted insurance plans, languages and "about
me" text exactly as published on that page. Brazilian license numbers
(CRM) are parsed into state and number; other countries' license formats
(Colegio de Médicos in Spain, for example) are captured as text but not
split into separate fields, since the format varies by country and
professional body.
Input configuration
Search cardiologists in Sao Paulo:
{"mode": "search","searchUrls": ["https://www.doctoralia.com.br/cardiologista/sao-paulo"],"maxPagesSearch": 2}
Search multiple specialties and cities in one run:
{"mode": "search","searchUrls": ["https://www.doctoralia.com.br/dermatologista/rio-de-janeiro","https://www.doctoralia.es/cardiologo/madrid"],"maxDoctors": 100}
Full profile detail for specific doctors:
{"mode": "profile","profileUrls": ["https://www.doctoralia.com.br/lara-assed/cardiologista-medico-clinico-geral/sao-paulo"]}
Output sample
Real search-mode result (cardiologists, Sao Paulo):
{"rank": 1,"name": "Dra. Lara Assed","url": "https://www.doctoralia.com.br/lara-assed/cardiologista-medico-clinico-geral/sao-paulo","slug": "lara-assed","specialties": ["cardiologista"],"sourceSearchUrl": "https://www.doctoralia.com.br/cardiologista/sao-paulo"}
Real profile-mode result for the same doctor:
{"url": "https://www.doctoralia.com.br/lara-assed/cardiologista-medico-clinico-geral/sao-paulo","name": "Dra. Lara Assed","crm": "SP 158879","crmState": "SP","crmNumber": "158879","rqe": "93134","phones": ["(11) 95498-4079", "(11) 4933-1673"],"addresses": ["Dra Lara Assed Avenida Brigadeiro Faria Lima 1461, Pinheiros, São Paulo 01452-002"],"reviewCount": 163,"about": "Sou médica cardiologista, do Hospital Israelita Albert Einstein e do Hospital do Coração (HCor) e atendo em consultório particular na Bela Vista...","scrapedAt": "2026-10-01T09:20:44.637Z"}
Key output fields
| Field | Type | Description |
|---|---|---|
rank | number | Position in search results (search mode) |
name | string | Doctor's full name with title |
url | string | Doctoralia profile URL |
specialties | array | Specialty tags as listed |
rating, reviewCount | number | When shown on the profile |
address, city, region | string | Location fields (search mode, when available) |
servicePrice, serviceCurrency | number/string | Consultation price when published |
crm, crmState, crmNumber | string | Brazilian medical license, split into parts |
rqe | string | Brazilian specialist registration number, when shown |
phones | array | Phone numbers listed on the profile |
addresses | array | Practice addresses and scheduling text |
insurances | array | Accepted insurance plans, when listed |
languages | array | Languages spoken, when listed |
about | string | Doctor's own profile description, capped at 1500 characters |
Pricing
Pay per doctor returned, in either mode:
| Event | Price |
|---|---|
| Doctor scraped | $0.005 |
Minimum charge per run: $0.05.
What makes this richer than the competition
Doctoralia has several Store listings; the two with the most active users
other than this one are trev0n/doctoralia-scraper ("Doctoralia Scraper |
2$ / 1k Cheap", 28 users/30 days, $0.002 per result plus a near-zero actor
start) and solidcode/doctoralia-scraper (4 users/30 days, $0.036 per
doctor profile plus $0.0018 per review and a $0.005 actor start, far above
our flat $0.005 per doctor). Trev0n is cheaper per result than us at $0.002
versus our $0.005. What this actor offers that a single flat "result" price
does not signal is explicit two-mode coverage (directory search and full
profile detail) across all seven countries Doctoralia operates in, with
Brazilian CRM license numbers parsed into state and number rather than left
as raw text, which search-mode-only tools typically do not attempt.
Notes & limitations
- CRM parsing into state and number works reliably on Brazilian profiles (doctoralia.com.br). Other countries use different license formats (for example, Colegio de Médicos numbers in Spain); the text is captured in full but not split into structured fields.
- Phone numbers are extracted with a text pattern match; uncommon
international formats may occasionally produce a false positive, so treat
phonesas a strong lead, not a guaranteed valid number. abouttext is capped at 1,500 characters per doctor.- Search mode returns the summary fields Doctoralia shows on the results
page itself; fields like
rating,addressorservicePricecome backnullwhen Doctoralia does not show them at that stage, use profile mode on the same URL for the fuller detail page. - Doctoralia profile pages sometimes require the visitor to use an on-page
message form for direct contact; where no phone number is published, the
phonesarray is simply empty rather than invented. - This actor is not affiliated with or endorsed by Doctoralia. It extracts publicly available directory data for research and lead-generation use.
FAQ
What is the difference between search mode and profile mode? Search mode browses a specialty+city page and returns a ranked list; profile mode opens a specific doctor's own page for full detail like CRM, phone and insurance plans. Use search mode to find doctors, then profile mode on the URLs you want full detail for.
Which countries does this cover?
Brazil (.com.br), Spain (.es), Italy (.it), Poland (.pl), Mexico (.com.mx),
Colombia (.com.co) and Chile (.cl), using the same search URL pattern
(/{specialty}/{city}) on each country's domain.
Why is insurances sometimes an empty array?
Doctoralia only lists accepted insurance plans when the doctor's profile
discloses them; the actor never fills in a plan that is not shown on the
page.
Can I run search and profile mode together in one call? No, each run uses one mode. A common pattern is a search-mode run to build a URL list, followed by a profile-mode run on the URLs you want full detail for.
Is this affiliated with Doctoralia? No. This is an independent tool for extracting publicly available directory data. Please respect Doctoralia's terms of service when using the data.
For AI Agents & LLM Apps
This actor is available over the Apify MCP server (mcp.apify.com) for any
MCP-compatible agent to call as a tool, and can be called synchronously from
any backend via run-sync-get-dataset-items:
curl "https://api.apify.com/v2/acts/gio21~doctoralia-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-X POST -H "Content-Type: application/json" \-d '{"mode": "search", "searchUrls": ["https://www.doctoralia.com.br/cardiologista/sao-paulo"], "maxDoctors": 20}'
Disclaimer
Doctoralia is a trademark of its respective owner. This actor is an independent tool, not affiliated with, endorsed by or sponsored by Doctoralia. It extracts publicly available directory data for research and lead-generation use; respect Doctoralia's terms of service.
SEO Keywords
Doctoralia scraper, Doctoralia API, doctor directory scraper, medical lead generation scraper, Doctoralia CRM scraper Brazil.