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

(1)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Extract comprehensive physician reviews from RateMDs at scale. Collect detailed patient feedback including ratings, comments, dates, and metadata for research, analysis, and sentiment studies. Perfect for healthcare insights and patient experience monitoring.

Features

  • Complete review extraction — Collect all patient feedback including ratings, comments, and timestamps.
  • Detailed rating breakdown — Capture overall, staff, punctuality, helpfulness, and knowledge ratings.
  • Comprehensive metadata — Gather review dates, helpful votes, verification status, and appointment types.
  • Pagination support — Automatically continues through review pages to reach your target volume.
  • Clean structured output — Get consistent dataset items ready for sentiment analysis and reporting.
  • Production-ready operation — Designed for stable large-scale runs with practical defaults.

Use Cases

Patient Experience Analysis

Analyze patient feedback patterns across specialties and regions. Understand common concerns, treatment effectiveness, and satisfaction trends to improve healthcare delivery.

Healthcare Quality Research

Build comprehensive datasets for healthcare quality studies. Track patient sentiment, rating distributions, and feedback themes over time.

Provider Reputation Monitoring

Monitor physician reputation and patient satisfaction metrics. Identify trends in feedback and areas for service improvement.

Market Intelligence

Track patient preferences and treatment outcomes across providers. Support competitive analysis and service positioning strategies.

Sentiment Analysis

Extract review text for natural language processing and sentiment analysis. Build models to understand patient emotions and treatment experiences.


Input Parameters

ParameterTypeRequiredDefaultDescription
doctorUrlStringYesRateMDs physician profile URL to scrape reviews from.
startUrlStringNoAlternative way to provide physician profile URL.
results_wantedIntegerNo20Target number of reviews to collect. Minimum is 20.
max_pagesIntegerNo10Maximum review pages to process per run.
proxyConfigurationObjectNoResidential proxy presetProxy settings for higher reliability at scale.

Output Data

Each dataset item includes:

FieldTypeDescription
review_idIntegerUnique review identifier.
doctor_idIntegerPhysician identifier.
doctor_nameStringPhysician full name.
doctor_specialtyStringPhysician specialty.
doctor_slugStringPhysician URL slug.
doctor_urlStringPhysician profile URL.
overall_ratingNumberOverall rating (1-5).
staff_ratingNumberStaff rating (1-5).
punctuality_ratingNumberPunctuality rating (1-5).
helpfulness_ratingNumberHelpfulness rating (1-5).
knowledge_ratingNumberKnowledge rating (1-5).
review_textStringPatient review comment.
review_dateStringReview submission date.
helpful_countIntegerNumber of helpful votes.
flaggedBooleanWhether review is flagged.
verified_patientBooleanWhether reviewer is verified patient.
visibleBooleanWhether review is visible.
featuredBooleanWhether review is featured.
appointment_typeStringType of appointment (In-person, Virtual, etc.).
pageIntegerReview page number.
page_rankIntegerPosition on the page.
total_pagesIntegerTotal review pages available.
total_reviewsIntegerTotal reviews for the physician.
profile_urlStringPhysician profile URL.
scraped_atStringISO timestamp of data extraction.

Usage Examples

Basic Review Extraction

Extract all reviews from a specific physician profile.

{
"doctorUrl": "https://www.ratemds.com/doctor-ratings/zahra-mazanderani-vancouver-bc-ca/",
"maxConcurrency": 2,
"maxRequestsPerCrawl": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Advanced Configuration

Configure timeouts and concurrency for reliable extraction.

{
"doctorUrl": "https://www.ratemds.com/doctor-ratings/dr-john-doe-new-york-ny-us/",
"maxConcurrency": 1,
"maxRequestsPerCrawl": 50,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
},
"navigationTimeout": 90000,
"requestHandlerTimeout": 120000
}

Command Line Usage

# Run locally
apify run
# Deploy to Apify platform
apify push
# Run on Apify platform
apify call ratemds-physician-review-scraper --input input.json

Sample Output

{
"review_id": 1234567,
"doctor_id": 987654,
"doctor_name": "Zahra Mazanderani",
"doctor_specialty": "Family Medicine",
"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": "Dr. Mazanderani is an excellent physician. She takes the time to listen to her patients and provides thorough care. Highly recommend!",
"review_date": "2024-01-15",
"helpful_count": 12,
"flagged": false,
"verified_patient": true,
"visible": true,
"featured": false,
"appointment_type": "In-person",
"page": 1,
"page_rank": 1,
"total_pages": 2,
"total_reviews": 20,
"profile_url": "https://www.ratemds.com/doctor-ratings/zahra-mazanderani-vancouver-bc-ca/",
"scraped_at": "2024-01-20T10:30:00.000Z"
}

"profile_url": "https://www.ratemds.com/doctor-ratings/dr-zach-olesinski-toronto-on-ca/", "verified": true, "accepting_patients": true, "location": "Toronto, Ontario", "address": "637 College Street West, Toronto ON M6G1B7", "phone": "(416) 402-9217", "website": "https://mahayahealth.com/", "clinic_locations_count": 2, "clinic_hours_count": 5, "page": 1, "page_rank": 2, "total_pages": 2518, "total_results": 25177, "list_page_url": "https://www.ratemds.com/best-doctors/?specialty=acupuncturist", "scraped_at": "2026-02-09T09:29:55.510Z" }

---
## Tips for Best Results
### Start with Focused Physician URLs
- Use specific physician profile URLs from RateMDs.
- Test with physicians who have multiple reviews first.
- Validate extraction quality before scaling up.
### Optimize Review Collection
- Use residential proxies for reliable extraction.
- Reduce `maxConcurrency` to 1-2 for stable runs.
- Increase timeouts for slower connections.
### Improve Reliability
- Use proxy settings for consistent results.
- Monitor for rate limiting and adjust delays.
- Split large review extractions into multiple runs if needed.
### Proxy Configuration
For reliable review extraction:
```json
{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Integrations

Connect your review dataset with:

  • Google Sheets — Analyze patient sentiment and rating trends.
  • Airtable — Build searchable review databases and dashboards.
  • Make — Automate review analysis and alerting workflows.
  • Zapier — Trigger notifications for new reviews or rating changes.
  • Webhooks — Send review data directly to CRM or analytics systems.
  • BI tools — Power sentiment analysis and physician performance dashboards.

Export Formats

  • JSON — For APIs and developer workflows.
  • CSV — For spreadsheet-based sentiment analysis.
  • Excel — For business reporting and review management.
  • XML — For legacy or enterprise review systems.

Frequently Asked Questions

How many reviews can I extract per physician?

You can extract all available reviews for a physician. The actor automatically handles pagination across review pages until all reviews are collected.

Does the actor handle review pagination automatically?

Yes. It continues through review pages until all reviews for the specified physician are extracted.

Why are some review fields empty?

Some reviews may not include all rating categories or metadata. Missing values are returned as null or appropriate defaults.

Can I extract reviews from multiple physicians?

Each run extracts reviews from one physician profile. Run multiple instances with different doctorUrl values for multiple physicians.

What if a physician has no reviews?

The actor will return an empty dataset. Check the physician's profile to confirm they have reviews before running.

How do I handle rate limiting?

Use residential proxies and reduce maxConcurrency to 1-2 for reliable extraction. The actor includes built-in delays between requests.

Can I collect data for multiple specialties or cities?

Yes. Run separate tasks for each specialty-location pair or provide dedicated start URLs per run.

Is review text included?

No. The output keeps review_count and rating metrics while avoiding verbose review text details.

What is included for clinic schedules?

You get structured, deduplicated clinic hours with day/time/timezone information.

Does the actor visit every profile page?

No. It focuses on listing data collection for speed and efficiency.


Support

For issues, improvements, or feature requests, use the Actor issue tracker or Apify Console support channels.

Resources


This actor is designed for legitimate data collection and analysis use cases. You are responsible for complying with RateMDs terms, local laws, and applicable data-use regulations.