Practo Doctors Scraper
Pricing
from $1.00 / 1,000 results
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
from $1.00 / 1,000 results
Rating
5.0
(5)
Developer
Shahid Irfan
Maintained by CommunityActor stats
3
Bookmarked
80
Total users
6
Monthly active users
4 days ago
Last modified
Categories
Share
What does Practo Doctors Scraper do?
Practo Doctors Scraper collects structured doctor and clinic listings from Practo. Enter a specialty and city, or provide a Practo listing URL. The Actor returns profile, qualification, consultation, rating, availability, practice, and location data that can be used for healthcare market research, provider discovery, lead generation, and coverage analysis.
Run a small test in Apify Console or collect larger datasets with result and page limits, scheduling, proxy settings, and dataset exports. Results work with JSON, CSV, Excel, XML, spreadsheets, dashboards, and data workflows.
Why use Practo Doctors Scraper?
- Build provider datasets - Collect doctor records across specialties, cities, and localities.
- Find relevant providers - Search by specialty and city, then compare experience and recommendation percentages in the results.
- Compare local markets - Analyze consultation fees, specialties, clinics, ratings, and geographic coverage.
- Support partnership research - Identify doctors, hospitals, and clinics for networks and outreach.
- Track changes over time - Schedule recurring runs to monitor provider availability, fees, ratings, and listing coverage.
- Use structured exports - Download the dataset as JSON, CSV, Excel, or XML, or connect it to webhooks and automation tools.
What data can you extract from Practo?
The Actor collects fields available on each listing or profile.
Output Data
Each dataset item is a JSON object. Optional fields may be empty when Practo does not publish them.
| Field | Description |
|---|---|
name | Doctor name. |
speciality | Primary specialty associated with the doctor. |
specialties | Additional specialty labels. |
qualifications | Comma-separated qualification names. |
qualificationDetails | Qualification, college, and completion-year details. |
experience | Years of professional experience. |
rating | Recommendation percentage or rating value. |
recommendationPercent | Recommendation percentage when separately available. |
consultationFee | Consultation fee amount. |
currency | Currency used for the consultation fee. |
location | Locality or neighborhood. |
city | City used for the search. |
patientStories | Patient story or review count signal. |
patientsCount | Patient count when available. |
clinicName | Clinic, hospital, or practice name. |
url | Full doctor profile URL. |
profilePath | Profile path returned by the source. |
profileSlug | Doctor profile slug. |
profileImage | Profile image URL when available. |
description | Short profile summary when available. |
doctorId | Doctor identifier when available. |
practiceId | Practice identifier when available. |
rank | Listing position or rank signal. |
nextAvailableTimestamp | Next available appointment timestamp. |
firstAvailableDaySlots | Available-slot indicator for the first available day. |
waitTimeMinutes | Typical waiting time in minutes. |
onCallAvailable | Whether on-call consultation is available. |
practiceType | Practice type, such as clinic or hospital. |
practiceSlug | Practice slug. |
practiceAddress | Consolidated practice address. |
latitude | Practice latitude coordinate. |
longitude | Practice longitude coordinate. |
geo | Coordinate object containing lat and lng. |
servicesCount | Number of services when available. |
isPractoPrime | Practo Prime status. |
isPractoPrimeBasic | Practo Prime Basic status. |
isPractoPrimeOnline | Practo Prime Online status. |
programCategory | Program category label. |
hasPractoOne | Practo One availability flag. |
hasPractoCare | Practo Care availability flag. |
hasPractoClinic | Practo Clinic availability flag. |
hasPractoHospital | Practo Hospital availability flag. |
hasPractoAssured | Practo Assured flag. |
hasFreeOpd | Free OPD offer flag. |
freeOpdText | Free OPD offer text. |
practoOneEnabled | Practo One enabled flag. |
source | Source label for the collected record. |
How to scrape Practo doctor data
- Open Practo Doctors Scraper in Apify Console.
- Enter a specialty and city, or provide a single Practo listing URL in
startUrl. - Set the result and page limits, and choose proxy settings if needed.
- Run the Actor and review the dataset preview.
- Download the results or connect the dataset to your application, spreadsheet, webhook, or automation workflow.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
speciality | String | No | "dermatologist" | Specialty to search, such as dermatologist, cardiologist, or dentist. |
city | String | No | "bangalore" | City where the doctors should be searched. Omission uses Bangalore, not an all-India search. |
results_wanted | Integer | No | 50 | Maximum number of unique doctor records to save. |
max_pages | Integer | No | 10 | Maximum number of listing pages to process. The Actor may extend this within its operating limit when needed to reach the requested result count. |
startUrl | String | No | - | A single Practo listing URL containing city and specialty. Takes precedence over speciality and city. |
proxyConfiguration | Object | No | {"useApifyProxy": false} | Proxies are disabled by the schema default. Configure Apify Proxy or custom proxy URLs when needed. |
These six fields are the current input schema. Specialty and city work together. With no search input, the default is dermatologists in Bangalore; providing only a specialty also uses Bangalore. Nationwide specialty search is not supported. The specialty's single prefill matches its runtime default, while result and page limits retain their own defaults.
startUrl takes precedence over specialty and city, including their defaults. A listing URL must contain both city and specialty. A locality already present in a supported URL can still narrow its search context; there is no separate locality input in the schema. A URL without locality uses a city-wide search. Clear the unused specialty prefill in Console when switching to URL mode.
For local development, run npm install, npm run lint, and npm start. Local runs read storage/key_value_stores/default/INPUT.json, not the root INPUT.json. The local fixture requests 20 results with proxies disabled; it does not configure cloud or Store-test input. Results are saved in page batches.
Usage Examples
Basic specialty and city search
Collect up to 50 dermatologists from Bangalore using the default page limit.
{"speciality": "dermatologist","city": "bangalore","results_wanted": 50}
Another specialty and city
Collect up to 75 cardiologists in Delhi.
{"speciality": "cardiologist","city": "delhi","results_wanted": 75}
Larger city collection
Collect up to 100 dentist profiles in Mumbai.
{"speciality": "dentist","city": "mumbai","results_wanted": 100,"max_pages": 10}
Direct listing URL
Use an existing Practo search URL as the collection seed.
{"startUrl": "https://www.practo.com/bangalore/dermatologist","results_wanted": 50,"max_pages": 5}
Sample Output
Example dataset item:
{"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
-
Use specialty names and city slugs that match Practo search pages.
-
Start with 25 to 50 results and a modest page limit before scaling up.
-
Compare experience and recommendation percentages in the exported results to identify providers that meet your criteria.
-
Specify
citywhen you want a location other than Bangalore. -
Use India-based residential proxy settings for larger or recurring runs when required.
-
Check the dataset preview before scheduling a large run.
-
Expect some optional fields to be empty because profiles publish different levels of information.
Integrations and export formats
- Google Sheets - Review and share provider records.
- Airtable - Maintain searchable doctor and clinic databases.
- Make or Zapier - Route records into CRM and workflow automations.
- Webhooks - Send completed-run events to your own systems.
- API access - Read datasets programmatically from your application or pipeline.
- JSON, CSV, Excel, and XML - Export for applications, analysis, and reporting.
Frequently Asked Questions
How many doctors can I collect in one run?
The Actor saves up to results_wanted, subject to unique records available and its page limit. It may extend max_pages when needed to reach the requested result count. Start with a moderate target and increase it after checking the results.
Can I search a specific locality?
There is no standalone locality field in the current input schema. A supported listing URL supplied through startUrl can still contain locality context. The output location field continues to report the doctor's locality when available.
Can I provide a Practo search URL?
Yes. Use startUrl with a public Practo listing URL containing both city and specialty. The URL takes precedence over separate specialty and city inputs, and can include locality context.
Why are some fields empty?
Some fields depend on what Practo publishes for each doctor or practice. Empty optional values do not necessarily indicate a failed run.
Does a specialty-only search cover all India?
No. When city is omitted, the current default is Bangalore. Set a city explicitly or use a listing URL containing the city and specialty.
Are profile descriptions and images always included?
No. description and profileImage depend on what the listings publish and may be empty. The current input schema does not expose a profile-enrichment option.
Can I schedule recurring Practo data collection?
Yes. Create an Apify schedule to refresh provider, fee, rating, availability, and practice data.
Is this Actor suitable for lead generation?
Yes. Doctor, specialty, practice, location, qualification, fee, rating, and profile URL fields support provider research and business-to-business segmentation. Follow applicable privacy and outreach requirements.
Is it legal to collect Practo data?
You are responsible for complying with Practo's terms, privacy and data protection laws, and healthcare-related rules in your jurisdiction. Use the data responsibly and do not treat it as medical advice.
Related Actors
For other healthcare directory and physician data workflows, see these verified Actors from Shahid Irfan:
- WebMD Doctor Scraper - Collect doctor profiles, practice locations, ratings, and provider metadata from WebMD.
- Oladoc Doctors Scraper - Collect doctor profiles, specialties, consultation fees, hospitals, availability, and service data from Oladoc.
- RateMDs Physician Scraper - Collect physician profiles, ratings, patient review counts, clinic locations, and contact details from RateMDs.
Support
For issues, feature requests, or reports that a Practo page has changed, use the Issues or support options on the Actor page in Apify Console. Include the input used, run ID, and a short description of the affected fields when possible.
Legal Notice
This Actor is intended for legitimate research, provider discovery, analytics, and data workflow use cases involving publicly available Practo information. Users are responsible for complying with website terms, privacy obligations, healthcare data rules, and all applicable laws. Do not use the output to make clinical decisions or to contact people unlawfully.