Practo Doctors Scraper avatar

Practo Doctors Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Practo Doctors Scraper

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

Shahid Irfan

Maintained by Community

Actor stats

3

Bookmarked

80

Total users

6

Monthly active users

4 days ago

Last modified

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.

FieldDescription
nameDoctor name.
specialityPrimary specialty associated with the doctor.
specialtiesAdditional specialty labels.
qualificationsComma-separated qualification names.
qualificationDetailsQualification, college, and completion-year details.
experienceYears of professional experience.
ratingRecommendation percentage or rating value.
recommendationPercentRecommendation percentage when separately available.
consultationFeeConsultation fee amount.
currencyCurrency used for the consultation fee.
locationLocality or neighborhood.
cityCity used for the search.
patientStoriesPatient story or review count signal.
patientsCountPatient count when available.
clinicNameClinic, hospital, or practice name.
urlFull doctor profile URL.
profilePathProfile path returned by the source.
profileSlugDoctor profile slug.
profileImageProfile image URL when available.
descriptionShort profile summary when available.
doctorIdDoctor identifier when available.
practiceIdPractice identifier when available.
rankListing position or rank signal.
nextAvailableTimestampNext available appointment timestamp.
firstAvailableDaySlotsAvailable-slot indicator for the first available day.
waitTimeMinutesTypical waiting time in minutes.
onCallAvailableWhether on-call consultation is available.
practiceTypePractice type, such as clinic or hospital.
practiceSlugPractice slug.
practiceAddressConsolidated practice address.
latitudePractice latitude coordinate.
longitudePractice longitude coordinate.
geoCoordinate object containing lat and lng.
servicesCountNumber of services when available.
isPractoPrimePracto Prime status.
isPractoPrimeBasicPracto Prime Basic status.
isPractoPrimeOnlinePracto Prime Online status.
programCategoryProgram category label.
hasPractoOnePracto One availability flag.
hasPractoCarePracto Care availability flag.
hasPractoClinicPracto Clinic availability flag.
hasPractoHospitalPracto Hospital availability flag.
hasPractoAssuredPracto Assured flag.
hasFreeOpdFree OPD offer flag.
freeOpdTextFree OPD offer text.
practoOneEnabledPracto One enabled flag.
sourceSource label for the collected record.

How to scrape Practo doctor data

  1. Open Practo Doctors Scraper in Apify Console.
  2. Enter a specialty and city, or provide a single Practo listing URL in startUrl.
  3. Set the result and page limits, and choose proxy settings if needed.
  4. Run the Actor and review the dataset preview.
  5. Download the results or connect the dataset to your application, spreadsheet, webhook, or automation workflow.

Input Parameters

ParameterTypeRequiredDefaultDescription
specialityStringNo"dermatologist"Specialty to search, such as dermatologist, cardiologist, or dentist.
cityStringNo"bangalore"City where the doctors should be searched. Omission uses Bangalore, not an all-India search.
results_wantedIntegerNo50Maximum number of unique doctor records to save.
max_pagesIntegerNo10Maximum number of listing pages to process. The Actor may extend this within its operating limit when needed to reach the requested result count.
startUrlStringNo-A single Practo listing URL containing city and specialty. Takes precedence over speciality and city.
proxyConfigurationObjectNo{"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

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 city when 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.

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.

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.

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.