RateMDs Doctor Review & Rating Scraper avatar

RateMDs Doctor Review & Rating Scraper

Pricing

Pay per event

Go to Apify Store
RateMDs Doctor Review & Rating Scraper

RateMDs Doctor Review & Rating Scraper

Scrape doctor profiles, ratings, and patient reviews from RateMDs.com. Extract physician names, specialties, addresses, phone numbers, overall/staff/punctuality/helpfulness/knowledge ratings, and full review text. Covers the United States and Canada.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

Scrape doctor profiles and patient reviews from RateMDs.com. Returns names, specialties, addresses, phone numbers, multi-dimensional ratings (overall plus Staff, Punctuality, Helpfulness, Knowledge), and recent reviews for ~1M US and Canadian physicians.

RateMDs Scraper Features

  • Browses by country, state or province, city, and specialty — any combination works
  • Accepts direct profile URLs when you already know which doctors you want, which saves a listing walk
  • Extracts aggregate rating plus the four per-category sub-ratings (Staff, Punctuality, Helpfulness, Knowledge) where the profile is RateMDs-native
  • Returns recent reviews with date, rating, and full text — flattened into YYYY-MM-DD | rating | body strings so they drop cleanly into a spreadsheet
  • Captures affiliated clinics with lat/long coordinates from embedded JSON-LD
  • Covers both the United States and Canada, including Canadian provincial codes like ON, BC, QC
  • Uses residential US proxies with Cloudflare-aware rendering — required, because RateMDs is behind a JS challenge
  • Pay-per-event pricing — roughly $0.003 per doctor record plus a flat $0.10 actor-start fee

Who Uses RateMDs Doctor Data?

  • Healthcare marketers — build outreach lists segmented by specialty, city, and patient rating bands
  • Reputation-management firms — track client doctors' review counts and sentiment over time, which is most of the job
  • Patient-acquisition platforms — seed provider directories with verified contact details and ratings
  • Cross-border healthcare analysts — compare US and Canadian provider density or rating distributions in a single run
  • Competitive-intelligence teams — map practice footprints by specialty across metro areas

How RateMDs Scraper Works

  1. You pick a mode. Either provide filters (countries, states, city, specialty) to browse the /best-doctors/ listings, or hand the scraper a list of direct /doctor-ratings/ profile URLs.
  2. A Playwright browser session loads each page behind the Cloudflare challenge. Anti-detection hooks and a US residential proxy do the heavy lifting so the page actually renders.
  3. On listing pages the scraper harvests every unique profile link and follows ?page=N pagination until maxItems is reached. Profile URLs are deduplicated across specialty and geography filters, so the same doctor does not get scraped twice.
  4. On profile pages the scraper reads the embedded JSON-LD — Physician schema plus Place entries for each clinic — merges in the per-category rating tiles and languages list from the DOM, and writes a single flat record to the dataset.

Input

Browse by specialty and country

{
"countries": ["us"],
"specialty": "dermatologist",
"maxItems": 50,
"sp_intended_usage": "Dermatology lead gen for a medical device vendor",
"sp_improvement_suggestions": "n/a"
}

Narrow by state and city

{
"countries": ["ca"],
"states": ["ON"],
"city": "toronto",
"specialty": "chiropractor",
"maxItems": 100,
"sp_intended_usage": "Market sizing for a Canadian chiropractic SaaS",
"sp_improvement_suggestions": "n/a"
}

Scrape specific doctor profiles directly

{
"profileUrls": [
{ "url": "https://www.ratemds.com/doctor-ratings/3540782/Dr-Michael-Robbins-Markham-ON.html/" },
{ "url": "https://www.ratemds.com/doctor-ratings/dr-angelo-ayar-tamarac-fl-us/" }
],
"maxItems": 10,
"sp_intended_usage": "Profile verification",
"sp_improvement_suggestions": "n/a"
}

Input Parameters

FieldTypeDefaultDescription
countriesstring[]["us"]Country codes: us, ca. Controls the default browse scope when no states are given.
statesstring[]Two-letter US state or Canadian province codes (e.g. CA, NY, ON, BC).
citystringCity slug as used on RateMDs (e.g. los-angeles, new-york, toronto). Works best with a state filter.
specialtystringAll specialtiesSpecialty slug (e.g. cardiologist, dermatologist, family-gp). Leave empty to default to a rotating basket of common specialties.
profileUrlsarrayDirect RateMDs profile URLs. When provided, all browse filters are ignored.
maxItemsinteger15Maximum doctor records to return. Set to 0 for unlimited.
proxyConfigurationobjectUS residential Apify proxyProxy settings. Residential is required — RateMDs blocks datacenter IPs.
sp_intended_usagestringRequired. Describe how you plan to use the data.
sp_improvement_suggestionsstringRequired. Feedback on what could be improved.

Supported specialties: Acupuncturist, Addiction Medicine, Allergist/Immunologist, Anesthesiologist, Audiologist, Bariatric/Weight Loss, Cardiologist, Cardiothoracic Surgeon, Chiropractor, Colorectal/Proctologist, Cosmetic/Plastic Surgeon, Dentist, Dermatologist, Dietitian, ENT/Otolaryngologist, Emergency/Critical Care, Endocrinologist, Endodontist, Family/GP, Gastroenterologist, Geneticist, Gynecologist/OBGYN, Homeopath, Infectious Disease, Internist/Geriatrician, Massage Therapist, Naturopath, Nephrologist, Neurologist, Neurosurgeon, Nurse Practitioner, Occupational Therapist, Oncologist, Ophthalmologist, Optician, Optometrist, Oral/Maxillofacial Surgeon, Orthodontist, Orthopedic Surgeon, Osteopath, Pain Management, Pathologist, Pediatrician, Periodontist, Physical Therapist, Physiatrist, Plastic Surgeon, Podiatrist, Psychiatrist, Psychologist, Pulmonologist, Radiologist, Respirologist, Rheumatologist, Sports Medicine, Surgeon, Urologist, Vascular Surgeon.

RateMDs Scraper Output Fields

{
"doctor_name": "Dr. Michael Robbins",
"specialty": "Chiropractor",
"practice_name": "Dr. Michael G. Robbins",
"street_address": "326 Main Street North",
"city": "Markham",
"state": "ON",
"zip": "L3P 1Z1",
"country": "ca",
"phone": "(905) 471-6696",
"website": "http://markhamchiropractic.com/",
"photo_url": "https://cdn1.ratemds.com/media/doctors/doctor/image/doctor-michael-robbins-chiropractor.jpg",
"latitude": 43.887057,
"longitude": -79.263348,
"overall_rating": 4.99,
"staff_rating": 5,
"punctuality_rating": 5,
"helpfulness_rating": 5,
"knowledge_rating": 5,
"review_count": 866,
"reviews": [
"2024-07-27 | 5.0 | Dr. Robbins is a great chiropractor and a wonderful person. Very knowledgeable and his treatments are very effective.",
"2024-07-16 | 4.0 | It was a nice experience and friendly staff. Thank you"
],
"clinics": [
"Dr. Michael G. Robbins | Markham, ON | https://www.ratemds.com/clinic/ca-on-markham-dr-michael-g-robbins/"
],
"opening_hours": [],
"languages": ["English"],
"breadcrumb_trail": "Doctors > Ontario > Markham > Chiropractor",
"profile_url": "https://www.ratemds.com/doctor-ratings/3540782/Dr-Michael-Robbins-Markham-ON.html/",
"scraped_at": "2026-04-18T01:33:08.209Z"
}
FieldTypeDescription
doctor_namestringFull doctor name including title (e.g. Dr. Angelo Ayar)
specialtystringPrimary medical specialty
practice_namestringPrimary clinic or practice name
street_addressstringStreet address of the primary practice
citystringPractice city
statestringTwo-letter state or province code
zipstringPostal code
countrystringus or ca
phonestringPractice phone number
websitestringExternal practice website, if listed
photo_urlstringDoctor headshot URL
latitudenumberLatitude of the primary practice
longitudenumberLongitude of the primary practice
overall_ratingnumberAggregate rating on a 0–5 scale
staff_ratingnumberStaff rating (native RateMDs profiles only, else null)
punctuality_ratingnumberPunctuality rating (native profiles only)
helpfulness_ratingnumberHelpfulness rating (native profiles only)
knowledge_ratingnumberKnowledge rating (native profiles only)
review_countnumberTotal number of patient reviews
reviewsstring[]Recent reviews, each formatted as YYYY-MM-DD | rating | text
clinicsstring[]Affiliated clinics, each formatted as Clinic Name | City, State | URL
opening_hoursstring[]Weekly opening hours in schema.org format (e.g. Mo 08:00-16:00)
languagesstring[]Languages spoken by the doctor
breadcrumb_trailstringCountry > State > City > Specialty trail
profile_urlstringFull RateMDs profile URL
scraped_atstringISO-8601 timestamp for when the record was collected

FAQ

How many doctors does the RateMDs Scraper cover?

RateMDs Scraper can reach roughly 1 million physician profiles across the US and Canada, given enough maxItems and wide enough filters. A single-specialty national crawl can return tens of thousands of records in a single run; a national crawl across all specialties is a multi-hour job.

Does the RateMDs Scraper need residential proxies?

Yes. RateMDs sits behind a Cloudflare managed challenge that blocks datacenter IPs. The actor defaults to US Apify residential proxies, which is the correct setup. Running without residential proxies will stall on "Just a moment..." pages and return nothing.

Why are some per-category ratings null?

The RateMDs Scraper returns staff_rating, punctuality_rating, helpfulness_rating, and knowledge_rating only for native RateMDs profiles. Partner-served profiles (for example, those backed by doctor.com) expose only the aggregate rating, so those four sub-fields are null. This is a RateMDs data limitation, not a scraper limitation.

Can I scrape a specific list of doctors?

Yes. Drop their RateMDs profile URLs into the profileUrls field and the actor will visit each one directly, skipping the browse step entirely. This is the fastest path when you have known targets — verification, enrichment, monitoring.

How much does it cost to run the RateMDs Scraper?

Pay-per-event: roughly $0.003 per doctor record plus a flat $0.10 per actor start. A 1,000-record run is about $3.10. Actual cost depends on run duration and memory — check your Apify usage dashboard for exact numbers.

The RateMDs Scraper collects publicly available information from RateMDs. You are responsible for ensuring your use of the data complies with applicable laws, including HIPAA where relevant. The actor does not access any private account data, patient records, or protected health information.

Need More Features?

Need additional fields, bulk national exports, or a different review platform? Get in touch.

Why Use RateMDs Scraper?

  • Multi-dimensional ratings — Returns the four per-category scores RateMDs exposes (Staff, Punctuality, Helpfulness, Knowledge), not just the aggregate. Most competitors drop these.
  • US plus Canada in one actor — Query Canadian provinces the same way you query US states. If you need a single healthcare dataset that covers both markets, this is it.
  • Priced per record — You pay $0.003 for every doctor that comes back, which means a small test run costs pocket change and a production crawl is still cheaper than writing the scraper yourself.