RateMDs Scraper — Doctor Leads, Phone + Rating & Reviews avatar

RateMDs Scraper — Doctor Leads, Phone + Rating & Reviews

Pricing

$2.70 / 1,000 per doctor returneds

Go to Apify Store
RateMDs Scraper — Doctor Leads, Phone + Rating & Reviews

RateMDs Scraper — Doctor Leads, Phone + Rating & Reviews

Scrape the RateMDs directory by city and specialty — doctor name, specialty, phone, full street address, postal code, star rating, review count and the latest patient reviews. US + Canada. Public data, no login. Export JSON/CSV/Excel.

Pricing

$2.70 / 1,000 per doctor returneds

Rating

0.0

(0)

Developer

Scrapers Delight

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

6

Monthly active users

6.8 hours

Issues response

10 hours ago

Last modified

Share

RateMDs Scraper — doctor leads with phone, rating & patient reviews

Turn the RateMDs directory into a clean lead list. Pick a specialty and a city, and get one row per doctor: name, specialty, office phone, full street address and postal code, star rating and review count, the doctor's Staff / Punctuality / Helpfulness / Knowledge ratings, and patient reviews — each with its review ID, star rating, the four sub-ratings, date and full text. Get the latest 10 per doctor, or every review a doctor has.

Covers the United States and Canada. Public data, no login, no API key.

What you get (one row per doctor)

FieldExample
nameDr. Gary Weinstein
specialtyfamily-gp (the RateMDs specialty you searched)
telephone(416) 485-9044
streetAddress / city / region / postalCode2401 Yonge Street, Suite 210 / Toronto / ON / M4P 3H1
countryCA
latitude / longitude43.70… / -79.39… (present on some profiles)
ratingValue / reviewCount / bestRating4.75 / 282 / 5
staffRating / punctualityRating / helpfulnessRating / knowledgeRating4.71 / 4.7 / 4.78 / 4.8 (the doctor's averages)
reviews[]patient reviews — see below
reviewsIncludedhow many review objects are attached to this row
imageUrlprofile photo, if any
doctorIdthe numeric RateMDs id, or the canonical profile URL for id-less profiles — the dedupe key
profileUrlcanonical RateMDs profile URL
searchSpecialty, searchLocation, sourceListingUrl, scrapedAtprovenance

Each review in reviews[]

FieldExample
reviewId5664460 (RateMDs' own review id)
rating5 (the review's overall score)
staff / punctuality / helpfulness / knowledge5 / 5 / 5 / 5 (1-5 each)
datePublished2026-09-04T14:09:15-04:00
bodyfull review text
author / authorCity / authorRegionUser from Toronto, ON / Toronto / ON
appointmentTypeIn-person
helpfulVotes0
raterVerifiedfalse
hasDoctorReplytrue when the doctor answered the review

Input

{
"specialties": ["family-gp", "dentist"],
"locations": ["Toronto, ON", "Los Angeles, CA"],
"maxItems": 200,
"maxPagesPerSearch": 5,
"includeReviews": true,
"maxReviewsPerDoctor": 10,
"minRating": "0",
"minReviewCount": 0,
"requirePhone": false,
"proxyConfiguration": { "useApifyProxy": false }
}
  • specialties — everyday name (Family Doctor, Dentist, Dermatologist) or the exact URL slug. Common slugs: family-gp, dentist, dermatologist, gynecologist-obgyn, pediatrician, cardiologist, psychiatrist, psychologist, optometrist, ophthalmologist, chiropractor, physical-therapist-physiotherapist, ear-nose-and-throat-ent, orthodontist, urologist, neurologist. Each specialty is crossed with each location.
  • locations — City, ST (e.g. Toronto, ON, Los Angeles, CA). A city is required; RateMDs organizes listings by city. US states and Canadian provinces are both supported.
  • startUrls — optionally paste RateMDs URLs directly: /best-doctors/… listing pages (enumerated and paginated for you) or /doctor-ratings/… profile pages (scraped directly).
  • maxReviewsPerDoctor — how many reviews per doctor. 10 (default) returns the latest page. Set it higher (up to 5000) to page through a doctor's reviews 10 at a time, up to all of them — e.g. a doctor with 282 reviews returns all 282. 0 = no reviews. Each extra 10 reviews is one more page request, so very large review pulls take longer.
  • Filters — minRating, minReviewCount, requirePhone drop rows that don't qualify (you're only billed for rows actually delivered).

How it works

  1. For each city × specialty it opens the RateMDs listing page https://www.ratemds.com/best-doctors/{state}/{city}/{specialty}/ and follows ?page=N pagination, collecting each doctor's profile URL. (Listings genuinely differ per city+specialty — toronto/family-gp and toronto/dentist return disjoint doctor sets.)
  2. Each profile page carries a schema.org Physician JSON-LD block (name, phone, address, rating) and RateMDs' own embedded review data (review id, the four sub-ratings, text, date); the actor reads both as structured data — never a regex over the page. For more than 10 reviews it follows the profile's own ?page=N review pages up to the doctor's stated total.
  3. Rows are deduplicated on the doctor id, so a doctor reachable from two searches is billed once.

RateMDs puts a browser check in front of its pages; the actor clears it automatically. It connects directly by default and switches itself to Apify RESIDENTIAL proxy if RateMDs refuses a direct request.

Pricing

Pay-per-result: $0.0027 per doctor row delivered (deduplicated), with all the reviews you ask for included. No charge for pages that fail or for duplicates.