RateMDs Physician Review Scraper avatar

RateMDs Physician Review Scraper

Pricing

Pay per usage

Go to Apify Store
RateMDs Physician Review Scraper

RateMDs Physician Review Scraper

Unlock valuable patient insights with this RateMDs scraper! Efficiently extract detailed physician reviews, ratings, and doctor profiles for healthcare market research and reputation management. For seamless and reliable data collection, using residential proxies is highly recommended.

Pricing

Pay per usage

Rating

5.0

(2)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

1

Bookmarked

9

Total users

1

Monthly active users

4 days ago

Last modified

Share

Extract physician reviews from RateMDs doctor profiles with a fast, reliable workflow. Collect rating breakdowns, review text, reviewer context, and pagination metadata in a structured dataset. Built for healthcare reputation monitoring, market research, and analytics-ready reporting.

Features

  • Comprehensive review capture — Collect review ratings, comments, dates, and reviewer context from doctor profiles.
  • Detailed score breakdown — Gather overall, staff, punctuality, helpfulness, and knowledge ratings per review.
  • Smart pagination handling — Continue across review pages until your target count or page limit is reached. If RateMDs' anti-bot refuses a later page, the run still completes with the reviews already collected and a clear warning.
  • Clean output records — Remove empty values and avoid duplicate review rows for cleaner downstream analysis.
  • Flexible run controls — Set result limits, page caps, and proxy settings based on your workload.
  • Anti-bot resilience — Automatically solves the site's Proof-of-Work challenge, rotates browser request profiles and residential proxy sessions on blocked responses, and retries with bounded backoff so profile reviews are captured reliably.
  • Multi-source parsing — Reads structured profile data first and falls back to server-rendered review markup, so layout changes do not break extraction.
  • Partner review support — Captures partner-sourced reviews when the profile exposes them, with a review_source field to distinguish them from organic reviews.

Use Cases

Provider Reputation Monitoring

Track what patients are saying about specific physicians over time. Use recurring runs to detect shifts in sentiment and service quality trends.

Healthcare Market Intelligence

Compare patient feedback patterns across providers and specialties. Identify strengths, complaints, and positioning opportunities in local healthcare markets.

Patient Experience Analysis

Build datasets for deeper analysis of care quality signals. Review tone, ratings, and consistency to support quality initiatives and internal reporting.

Research and Reporting

Export structured review data for dashboards, audits, and long-term studies. Use historical snapshots to benchmark performance over time.

Lead and Outreach Prioritization

Support agencies and consultants who help clinics improve patient trust. Prioritize outreach using review volume, ratings stability, and visibility patterns.


Input Parameters

ParameterTypeRequiredDefaultDescription
doctorUrlStringNohttps://www.ratemds.com/doctor-ratings/zahra-mazanderani-vancouver-bc-ca/Doctor profile URL to scrape. Set this to the profile you want; the default is the example profile.
results_wantedIntegerNo20Maximum number of reviews to collect
max_pagesIntegerNo10Safety cap for how many review pages to process
proxyConfigurationObjectNoNo proxyOptional. Residential Apify Proxy is recommended for high-volume or repeated runs. The actor falls back to direct requests if the configured proxy tunnel is unavailable.

Output Data

Each dataset item contains:

FieldTypeDescription
review_idIntegerUnique review identifier
doctor_idIntegerDoctor identifier
doctor_nameStringDoctor display name
doctor_specialtyStringDoctor specialty
doctor_slugStringDoctor slug used in profile URLs
doctor_urlStringDoctor profile URL
overall_ratingNumberOverall score
staff_ratingNumberStaff rating score
punctuality_ratingNumberPunctuality rating score
helpfulness_ratingNumberHelpfulness rating score
knowledge_ratingNumberKnowledge rating score
review_textStringFull review comment
review_dateStringReview date/time string
helpful_countIntegerHelpful vote count
has_votedBooleanWhether current context indicates voted state
has_flagBooleanWhether review is flagged
flaggedBooleanWhether review is flagged (schema alias)
has_pendingBooleanWhether review moderation is pending
featuredBooleanWhether review is featured
visibleBooleanWhether review is visible
appointment_typeStringAppointment type code
appointment_type_displayStringHuman-readable appointment type
rater_initialStringReviewer initial when available
rater_is_verifiedBooleanReviewer verification flag
verified_patientBooleanVerified patient flag (schema alias)
authorship_labelStringReviewer location/context label
rating_request_sourceStringSource metadata for the rating
feature_ratingsBooleanFeature rating availability indicator
locationObjectAssociated location metadata for review
commentsArrayAdditional comments thread data when present
review_sourceStringorganic or partner review source
pageIntegerReview page number
page_rankIntegerPosition within page
total_pagesIntegerTotal available pages
total_reviewsIntegerTotal review count for profile
profile_urlStringInput doctor profile URL
scraped_atStringISO timestamp when row was collected

Usage Examples

Basic Review Collection

Collect a small review sample from a single doctor profile.

{
"doctorUrl": "https://www.ratemds.com/doctor-ratings/zahra-mazanderani-vancouver-bc-ca/",
"results_wanted": 20
}

Deeper Historical Pull

Collect more reviews by allowing more profile pages.

{
"doctorUrl": "https://www.ratemds.com/doctor-ratings/zahra-mazanderani-vancouver-bc-ca/",
"results_wanted": 120,
"max_pages": 20
}

Reliable Production Run

Use proxy settings for large or recurring jobs.

{
"doctorUrl": "https://www.ratemds.com/doctor-ratings/zahra-mazanderani-vancouver-bc-ca/",
"results_wanted": 200,
"max_pages": 30,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

{
"review_id": 5634734,
"doctor_id": 2165038,
"doctor_name": "Dr. Zahra Mazanderani (Dr.TCM)",
"doctor_specialty": "Acupuncturist",
"doctor_slug": "zahra-mazanderani-vancouver-bc-ca",
"doctor_url": "https://www.ratemds.com/doctor-ratings/zahra-mazanderani-vancouver-bc-ca/",
"overall_rating": 5,
"staff_rating": 5,
"punctuality_rating": 5,
"helpfulness_rating": 5,
"knowledge_rating": 5,
"review_text": "My fertility clinic recommended Dr. Zahra for acupuncture...",
"review_date": "2026-05-30T02:47:41.610590-04:00",
"helpful_count": 0,
"has_voted": false,
"has_flag": false,
"flagged": false,
"has_pending": false,
"featured": false,
"visible": true,
"appointment_type": "0",
"appointment_type_display": "In-person",
"rater_is_verified": false,
"verified_patient": false,
"authorship_label": "User from Surrey, BC",
"feature_ratings": false,
"review_source": "organic",
"page": 1,
"page_rank": 1,
"total_pages": 39,
"total_reviews": 387,
"profile_url": "https://www.ratemds.com/doctor-ratings/zahra-mazanderani-vancouver-bc-ca/",
"scraped_at": "2026-05-31T12:46:57.332Z"
}

Tips for Best Results

Start Small First

  • Use results_wanted: 20 for quick validation.
  • Confirm data shape before running larger jobs.

Scale in Steps

  • Increase results_wanted and max_pages gradually.
  • Split very large collections into multiple scheduled runs.

Use Proxy for Stability

  • Enable residential proxy for repeated or high-volume runs.
  • Direct requests work for many profiles; if a configured proxy tunnel is unavailable, the actor automatically falls back to direct requests.
  • Keep inputs consistent across scheduled runs for clean comparisons.

Preserve Historical Insight

  • Store periodic snapshots to monitor trend changes.
  • Compare rating movement and review velocity over time.

Integrations

Connect your dataset with:

  • Google Sheets — Analyze ratings and comments in spreadsheets.
  • Airtable — Build filtered review databases for teams.
  • Looker Studio / BI tools — Create trend dashboards and scorecards.
  • Make — Trigger automations after each completed run.
  • Zapier — Push review insights into CRM or alert workflows.
  • Webhooks — Send fresh data to internal systems.

Export Formats

  • JSON — Best for APIs and custom pipelines.
  • CSV — Best for spreadsheet workflows.
  • Excel — Best for business reporting.
  • XML — Best for legacy integrations.

Frequently Asked Questions

How many reviews can I collect per doctor?

You can collect all available reviews within the limits you set using results_wanted and max_pages.

Does the actor handle pagination automatically?

Yes. It progresses through review pages until your requested total is reached or no more pages remain.

Why do some records have fewer fields?

Some reviews do not include every optional attribute on the source profile. Only available values are returned.

Can I run this for multiple doctors?

Yes. Run separate tasks per profile URL, or automate multiple runs using schedules and task templates.

How do I improve reliability on large runs?

Use proxyConfiguration with residential proxies and raise limits gradually.

Is duplicate review output prevented?

Yes. The actor deduplicates review records during collection.

Can I use this for ongoing monitoring?

Yes. Schedule recurring runs and compare outputs over time for trend tracking.


Support

For issues, improvements, or feature requests, use Apify Console support and your Actor issue tracking workflow.

Resources


This actor is intended for legitimate data collection and analysis use cases. You are responsible for compliance with website terms, applicable laws, and responsible data handling practices.