Practo Doctor Scraper
Pricing
from $4.00 / 1,000 results
Practo Doctor Scraper
Get verified doctor profiles, consultation fees, ratings and clinic addresses from Practo.com — India's largest health platform. Covers 20+ cities and 50+ specialties. Structured JSON, ready for Claude, ChatGPT and any AI agent.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Archit Khurana
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share
India Doctor & Clinic Scraper — Fees, Ratings & Verified Profiles
The only structured data source you need for Indian doctors. Ask Claude or ChatGPT "find me the top-rated cardiologists in Mumbai with consultation fees under ₹800" — this is the actor that makes that question answerable.
Pulls live data from Practo.com, India's largest healthcare platform with 100,000+ verified doctor profiles across every major city and specialty. Returns clean JSON ready for AI pipelines, CRMs, spreadsheets or dashboards.
What you get
Every doctor record includes:
| Field | Example |
|---|---|
doctorName | Dr. Priya Sharma |
specialty | Dermatologist |
experienceYears | 14 |
qualifications | MBBS, MD - Dermatology |
consultationFee | 800 (INR) |
clinicName | Skin & Smile Clinic |
clinicAddress | 42, MG Road, Indiranagar, Bangalore |
locality | Indiranagar |
city | Bangalore |
reviewCount | 312 |
isVerified | true |
onlineConsultationAvailable | true |
profileUrl | https://www.practo.com/bangalore/doctor/... |
Why this beats every alternative
vs Google Maps — Maps shows clinics, not doctors. No fees, no qualifications, no specialty-level search. This actor returns the actual doctor behind the clinic with their credentials and pricing.
vs manual research — Practo has 100,000+ profiles. Manually collecting 50 doctors with fees, ratings and addresses would take days. This does it in minutes.
vs other scrapers — Built specifically for Practo's React/Redux architecture. Extracts data from the server-rendered state blob, not brittle HTML selectors that break every week.
Example input
{"city": "Bangalore","specialty": "dermatologist","maxResults": 100,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Works for any combination of:
Cities — Delhi, Mumbai, Bangalore, Hyderabad, Chennai, Pune, Kolkata, Ahmedabad, Jaipur, Chandigarh, Kochi, Lucknow, Nagpur, Indore, Surat, Visakhapatnam, Coimbatore and 10+ more.
Specialties — dentist, cardiologist, dermatologist, gynecologist, orthopedic-surgeon, pediatrician, general-physician, psychiatrist, neurologist, gastroenterologist, ophthalmologist, ent-specialist, urologist, oncologist, endocrinologist and 35+ more.
Example output
[{"doctorName": "Dr. Sourabh Nagpal","specialty": "Dentist","experienceYears": 21,"qualifications": "BDS, MDS - Prosthodontist And Crown Bridge","consultationFee": 500,"clinicName": "Matrix Dental & Skin Lounge","clinicAddress": "14, Ground Floor, Poorvi Marg, Vasant Vihar, Delhi","locality": "Vasant Vihar","city": "Delhi","rating": null,"reviewCount": 1701,"isVerified": true,"onlineConsultationAvailable": true,"profileUrl": "https://www.practo.com/delhi/doctor/dr-sourabh-nagpal-dentist","phone": null}]
Use with AI agents
Ask Claude (via Anthropic API)
import anthropicimport apify_client# 1. Scrape the dataclient = apify_client.ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("fervent_bus/india-doctor-scraper").call(run_input={"city": "Mumbai","specialty": "cardiologist","maxResults": 50})doctors = list(client.dataset(run["defaultDatasetId"]).iterate_items())# 2. Ask Claude anything about itanthropic_client = anthropic.Anthropic()message = anthropic_client.messages.create(model="claude-sonnet-5",max_tokens=1024,messages=[{"role": "user","content": f"Which 5 cardiologists in Mumbai have the best reviews and offer online consultation? Data: {doctors}"}])print(message.content[0].text)
Ask ChatGPT
import openai, jsonopenai_client = openai.OpenAI()response = openai_client.chat.completions.create(model="gpt-4o",messages=[{"role": "user","content": f"Summarise the dermatologist market in Bangalore — average fees, top-rated doctors, most common qualifications. Data: {json.dumps(doctors)}"}])print(response.choices[0].message.content)
MCP tool definition (for any agent framework)
{"name": "find_doctors_india","description": "Find doctors and clinics in any Indian city by specialty. Returns fees, ratings, qualifications and addresses.","parameters": {"city": { "type": "string", "description": "Indian city e.g. Delhi, Mumbai, Bangalore" },"specialty": { "type": "string", "description": "Medical specialty e.g. cardiologist, dentist, dermatologist" },"maxResults": { "type": "integer", "default": 20 }}}
Real use cases
Healthcare sales & lead gen — Pharma reps, medical device companies and health-tech startups use this to build targeted lists of specialist doctors with clinic addresses for outreach.
Insurance network mapping — Build and verify provider directories. Cross-check which doctors and clinics are active in a city before adding them to a network.
Market research — Compare consultation fee ranges, doctor density and review volumes across cities. Essential for any healthtech product deciding where to launch.
Clinic aggregator / booking platform — Seed your own platform with real clinic and doctor data rather than building a directory from scratch.
AI health assistants — Let users ask natural-language questions like "Who is the best gynecologist in South Delhi with online consult under ₹500?" and power the answer with real data.
Academic research — Study healthcare access, fee distribution and specialist availability across Indian cities and tiers.
Pricing
$0.004 per result — 1,000 doctor records for $4.
Notes
- Requires Apify Residential Proxies — enable in the
proxyConfigurationinput (pre-filled). Practo blocks datacenter IPs. - Specialty must match Practo's URL slugs: lowercase, hyphenated e.g.
general-physician,orthopedic-surgeon. phoneandratingarenullin listing results — Practo doesn't expose phone numbers publicly and star ratings only appear on individual profile pages.- Adds a 2–4s random delay between pages.