Practo Doctors Scraper
Pricing
Pay per usage
Practo Doctors Scraper
Introducing the Practo Doctors Scraper, a lightweight tool to extract doctor profiles and clinic data from India's leading healthcare platform. Fast and efficient. For seamless scraping and to prevent blocking, Indian residential proxies are highly recommended. Get the medical data you need!
Pricing
Pay per usage
Rating
5.0
(1)
Developer

Shahid Irfan
Actor stats
0
Bookmarked
10
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Share
Extract and collect doctor listings from Practo with rich profile details, consultation data, and location intelligence. Build structured healthcare datasets fast for research, analytics, lead discovery, and market monitoring. This actor is designed for reliable, high-volume data collection with practical filters and export-ready output.
Features
- Fast doctor discovery — Collect doctor listings quickly across cities, specialties, and localities.
- Rich profile data — Get experience, ratings, consultation fees, qualifications, and clinic details.
- Location-ready output — Capture locality, city, and geo coordinates for mapping and analysis.
- Smart filtering — Apply minimum experience and rating filters to focus on quality leads.
- Pagination controls — Limit pages and total results to match testing or production needs.
- Optional profile enrichment — Enable deeper profile fields when you want maximum detail.
- Export-friendly dataset — Use data directly in dashboards, CRM, spreadsheets, and automations.
Use Cases
Healthcare Market Research
Track specialist availability, clinic concentration, and patient engagement across major cities. Compare supply and demand by specialty to identify underserved areas.
Lead Generation and Partnerships
Build targeted doctor and clinic lead lists for healthcare services, SaaS products, and B2B outreach. Prioritize high-experience, high-rating practitioners.
Price and Competition Monitoring
Monitor consultation fee patterns by locality, specialty, and provider type. Use recurring runs to identify pricing shifts and competitor positioning.
Medical Network Expansion
Identify relevant doctors and facilities for referral networks, insurance panels, and health programs. Shortlist by practice type, credentials, and patient signals.
Geo Analytics and Coverage Planning
Use latitude and longitude fields to map healthcare presence and improve territory planning. Combine with business intelligence tools for heatmaps and coverage scoring.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
speciality | String | No | "dermatologist" | Specialty to search (for example: dermatologist, cardiologist, dentist). |
city | String | No | "bangalore" | Target city for search results. |
locality | String | No | "" | Optional locality filter within the city. |
results_wanted | Integer | No | 50 | Maximum doctor records to save. |
max_pages | Integer | No | 10 | Maximum listing pages to scan. |
minExperience | Integer | No | 0 | Minimum years of experience. |
minRating | Integer | No | 0 | Minimum recommendation percentage. |
fetchDetails | Boolean | No | false | When true, enriches records with additional profile-level detail. |
maxConcurrency | Integer | No | 10 | Controls parallel request volume. |
startUrl | String | No | — | Optional direct listing URL seed. |
startUrls | Array | No | — | Optional list of listing URL seeds. |
url | String | No | — | Optional single URL seed alias. |
proxyConfiguration | Object | No | Apify Proxy config | Proxy settings for reliability at scale. |
Output Data
Each dataset item includes core doctor listing fields plus enriched fields.
| Field | Type | Description |
|---|---|---|
name | String | Doctor name. |
speciality | String | Primary specialty. |
specialties | Array[String] | Specialty labels for the doctor. |
qualifications | String | Comma-separated qualification names. |
qualificationDetails | Array[Object] | Qualification, college, and completion year details. |
experience | Number | Years of experience. |
rating | Number | Recommendation percentage. |
recommendationPercent | Number | Raw recommendation percentage value. |
consultationFee | Number | Consultation fee. |
currency | String | Fee currency (for example INR). |
location | String | Locality or neighborhood. |
city | String | City value used in search context. |
patientStories | Number | Review count signal. |
patientsCount | Number | Patient count signal when available. |
clinicName | String | Clinic or hospital name. |
url | String | Full doctor profile URL. |
profilePath | String | Relative profile path from source. |
profileSlug | String | Doctor profile slug. |
profileImage | String | Profile image URL. |
description | String | Profile summary text when available. |
doctorId | Number | Doctor identifier. |
practiceId | Number | Practice identifier. |
rank | Number | Listing rank signal. |
nextAvailableTimestamp | String | Next available booking timestamp. |
firstAvailableDaySlots | Number | Available slots indicator. |
waitTimeMinutes | Number | Typical wait time signal. |
onCallAvailable | Boolean | Whether on-call consultation is available. |
practiceType | String | Practice type (clinic or hospital). |
practiceSlug | String | Practice slug value. |
practiceAddress | String | Consolidated practice address. |
latitude | Number | Latitude coordinate. |
longitude | Number | Longitude coordinate. |
geo | Object | Coordinate object with lat and lng. |
servicesCount | Number | Service count indicator. |
isPractoPrime | Boolean | Prime status flag. |
isPractoPrimeBasic | Boolean | Prime Basic status flag. |
isPractoPrimeOnline | Boolean | Prime Online status flag. |
programCategory | String | Program category label. |
hasPractoOne | Boolean | Practo One availability flag. |
hasPractoCare | Boolean | Practo Care availability flag. |
hasPractoClinic | Boolean | Practo Clinic availability flag. |
hasPractoHospital | Boolean | Practo Hospital availability flag. |
hasPractoAssured | Boolean | Practo Assured flag. |
hasFreeOpd | Boolean | Free OPD offer flag. |
freeOpdText | String | Free OPD offer text. |
practoOneEnabled | Boolean | Practo One enabled flag. |
source | String | Data source label. |
Usage Examples
Basic City-Level Collection
Collect dermatologists from Bangalore:
{"speciality": "dermatologist","city": "bangalore","results_wanted": 50,"max_pages": 5}
Filtered High-Quality Results
Collect cardiologists in Delhi with stronger quality thresholds:
{"speciality": "cardiologist","city": "delhi","minExperience": 10,"minRating": 90,"results_wanted": 75}
Locality-Focused Lead List
Collect dentist profiles in a specific locality:
{"speciality": "dentist","city": "mumbai","locality": "andheri","results_wanted": 100,"max_pages": 10}
Maximum Speed Run
Prioritize speed with listing-only extraction:
{"speciality": "gynecologist","city": "pune","fetchDetails": false,"results_wanted": 150,"max_pages": 12}
Proxy Configuration
For better stability at scale:
{"speciality": "orthopedist","city": "hyderabad","results_wanted": 100,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "IN"}}
Sample Output
{"name": "Dr. Parthasarathi Dutta Roy","speciality": "Dermatologist","specialties": ["Dermatologist"],"qualifications": "MBBS, DDVL, MD - Skin & VD","qualificationDetails": [{"qualification": "MBBS","college": "Sri Siddhartha Medical College & Research","completionYear": 2003}],"experience": 23,"rating": 88,"recommendationPercent": 88,"consultationFee": 900,"currency": "INR","location": "Magrath Road","city": "bangalore","patientStories": 4999,"patientsCount": 4999,"clinicName": "Dr. Partha Sarathi's Asian Hair And Skin Hospitals","url": "https://www.practo.com/bangalore/doctor/dr-partha-sarathi-dutta-roy-dermatologist-cosmetologist-dermatologist","profileSlug": "dr-partha-sarathi-dutta-roy-dermatologist-cosmetologist-dermatologist","profileImage": "https://imagesx.practo.com/providers/dr-parthasarathi-dutta-roy-dermatologist-bangalore.jpg","description": "Dr. Parthasarathi Dutta Roy is dedicated to Dermatology, Cosmetology, and Trichology care.","doctorId": 311620,"practiceId": 729170,"rank": 1,"nextAvailableTimestamp": "2026-02-13T11:30:00.000+0000","waitTimeMinutes": 15,"practiceType": "Hospital","practiceAddress": "Magrath Road, Bangalore, 560025","latitude": 12.970388898279,"longitude": 77.610510732047,"geo": { "lat": 12.970388898279, "lng": 77.610510732047 },"isPractoPrime": false,"hasPractoOne": true,"source": "api"}
Tips for Best Results
Start with Practical Limits
- Use
results_wantedbetween50and200for faster completion. - Increase gradually after validating output quality.
- Use
max_pagesto control run duration.
Improve Data Precision
- Use exact specialty terms relevant to your target market.
- Add
localityto narrow search geography and improve lead quality. - Use
minExperienceandminRatingto filter noise.
Optimize for Speed
- Keep
fetchDetailsset tofalsefor highest throughput. - Run detail enrichment only when those extra fields are required.
- Avoid very high concurrency for long runs.
Improve Reliability
- Use residential proxies for larger extraction jobs.
- Prefer India proxy country for consistent access patterns.
- Schedule runs during lower-traffic windows for smoother execution.
Handle Missing Fields
- Some doctors may not expose every field publicly.
- Treat nullable fields as expected source variance.
- Use fallback logic in downstream pipelines for optional values.
Integrations
Connect your dataset with:
- Google Sheets — Share and analyze records with teams quickly.
- Airtable — Build searchable doctor and clinic databases.
- Make — Automate lead routing, enrichment, and notifications.
- Zapier — Trigger CRM and workflow actions on each run.
- Webhooks — Push fresh records to your backend pipeline.
- Power BI — Build visual dashboards for market intelligence.
Export Formats
- JSON — Best for applications and APIs.
- CSV — Best for spreadsheets and quick analysis.
- Excel — Best for business reporting.
- XML — Best for enterprise integrations.
Frequently Asked Questions
How many doctors can I collect in one run?
You can collect as many as available, controlled by results_wanted and max_pages. For stability and speed, start with moderate limits and scale up.
Can I target a specific neighborhood?
Yes. Use the locality input together with city and speciality to focus results on a specific area.
Why are some fields empty?
Not every profile exposes all data publicly. Optional fields such as summaries or program badges can be null for some records.
How do I get the fastest possible run?
Keep fetchDetails set to false, use practical page limits, and avoid unnecessary high concurrency.
Can I use this for recurring monitoring?
Yes. You can schedule runs to track changes in fees, ratings, and availability over time.
Is this suitable for lead generation?
Yes. The dataset includes profile, location, qualification, and practice-level fields that work well for segmentation and outreach.
Can I export directly to other tools?
Yes. Apify dataset exports support JSON, CSV, Excel, and XML, and can connect to automation platforms.
What is the recommended proxy setup?
Residential proxies are recommended, especially for higher-volume runs and recurring schedules.
Support
For issues, requests, or improvements, open a support ticket through the Apify Console.
Resources
Legal Notice
This actor is intended for legitimate data collection and research workflows. You are responsible for complying with website terms, data protection rules, and applicable local laws. Always use collected data responsibly.