RateMDs Doctor Scraper avatar

RateMDs Doctor Scraper

Under maintenance

Pricing

from $9.99 / 1,000 results

Go to Apify Store
RateMDs Doctor Scraper

RateMDs Doctor Scraper

Under maintenance

RateMDs Doctor Scraper is an Apify Actor that extracts doctor profiles, ratings, specialties, contact details, and practice information from RateMDs.com. It supports both location-based searches and individual doctor profiles, returning clean, structured data without browser automation.

Pricing

from $9.99 / 1,000 results

Rating

0.0

(0)

Developer

Jamshaid Arif

Jamshaid Arif

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

RateMDs Doctor Scraper (Apify Actor)

Scrapes doctor profiles and ratings from RateMDs.com listing pages (server-rendered HTML) — no browser automation. The site's /api/ routes reject anonymous callers, so this actor parses the /best-doctors/ pages instead, using curl_cffi TLS impersonation + residential proxies to pass Cloudflare. A tiered parser tries embedded page JSON first (richest fields), then JSON-LD, then the rendered HTML cards.

Modes

Search mode — paginated listing pages (/best-doctors/{state}/{city}/?page=N):

{
"mode": "search",
"location": "tx/houston",
"specialty": "dentist",
"maxRecords": 100,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Location is the state/city path from the listing URL: ratemds.com/best-doctors/tx/houston/tx/houston (state alone like tx also works; old us-tx-houston slugs are auto-converted; a full URL can be pasted). Specialty is the query slug, e.g. ?specialty=dentistdentist. If the slug is invalid, RateMDs redirects to the global listing — the actor logs a warning when that happens.

Doctor mode — fetches individual profile pages (/doctor-ratings/{slug}/) and parses embedded JSON or JSON-LD:

{
"mode": "doctor",
"doctorIds": ["dr-angelo-ayar-tamarac-fl-us"],
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Output

Each dataset item is a flat record:

{
"name": "Dr. Jane Doe",
"profile_url": "https://www.ratemds.com/doctor-ratings/...",
"gender": "F",
"specialty": "Dentist",
"practice_name": "Smile Clinic",
"school": "University of Toronto",
"graduation_year": 2004,
"street_address": "123 Main St",
"city": "Toronto",
"state": "Ontario",
"state_slug": "ON",
"country": "Canada",
"zip_code": "M5V 1A1",
"phone": "(416) 555-0123",
"review_count": 42,
"average_score": 4.6
}

Search mode pushes results page-by-page, so partial data survives aborts and timeouts.