CMS Physician Compare Scraper avatar

CMS Physician Compare Scraper

Pricing

from $19.00 / 1,000 results

Go to Apify Store
CMS Physician Compare Scraper

CMS Physician Compare Scraper

Scrapes physician profiles from the CMS Physician Compare Medicare directory. Returns each doctor as a flat row with NPI, specialty, practice address, and quality program participation.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

ParseForge

CMS Physician Compare Scraper

Scrape physician profiles from the CMS Physician Compare directory, filtered by state, specialty, last name, or city. Each record includes NPI, group practice, quality scores, and Medicare participation details. Export to CSV, JSON, Excel, or XML.

The CMS Physician Compare website lets you search for Medicare-enrolled doctors, but manually browsing or copying data is slow and error-prone. This Actor reads the public directory directly, applies your filters on state, specialty, last name, or city, and returns structured physician profiles. No API key or registration is needed.

| Who uses it | What they scrape CMS Physician Compare Scraper | Medicare Doctors Directory for | |---|---| | Healthcare market analysts | Mapping Medicare provider density by specialty and region. | | Medical recruiters | Building lists of active physicians in a target state or city for outreach. | | Insurance network managers | Verifying which providers in a given area participate in Medicare quality programs. | | Academic researchers | Studying the distribution of physician specialties across different states. |

What it does

This Actor collects physician profiles from the CMS Physician Compare directory and returns each one as a flat row with NPI, practice address, specialty, and quality program participation.

  • πŸ—ΊοΈ State filter: Limit results to a single U.S. state or territory using its two-letter code.
  • 🏷️ Specialty filter: Search by primary specialty, such as CARDIOLOGY or FAMILY PRACTICE.
  • πŸ”€ Last name filter: Retrieve profiles for a specific provider by exact last name.
  • πŸ™οΈ City filter: Narrow the search to physicians practicing in a particular city or town.
  • πŸ“Š Structured output: Every physician is returned as a flat row with consistent fields for easy analysis.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with CMS Physician Compare Scraper | Medicare Doctors Directory data

πŸ—ΊοΈ Map Medicare provider coverage.

A health policy analyst sets the state filter to Texas and collects all physicians to visualize specialty shortages by county.

πŸ“‹ Build a recruitment list.

A medical recruiter filters by FAMILY PRACTICE in California and exports a clean CSV of names, NPIs, and practice addresses for cold outreach.

βœ… Verify quality program participation.

An insurance network manager pulls all cardiologists in Florida to check which ones report MIPS or APM quality data.

πŸ”¬ Support academic research.

A university researcher collects physician data across multiple states to study the correlation between specialty distribution and health outcomes.

Why choose this scraper

What you get
No API keyReads the public CMS Physician Compare directory with no registration or authentication.
Flexible filtersCombine state, specialty, last name, and city to target exactly the cohort you need.
Flat schemaEvery physician profile is returned in a single, predictable row ready for spreadsheets or databases.
Scalable runsCollect up to a million physician records per run by adjusting the maximum items setting.

How it compares

No other Store actor targets CMS Physician Compare Scraper | Medicare Doctors Directory the same way, so the honest comparison is with the alternatives teams actually weigh.

CMS Physician Compare ScraperBuild it in-houseBy hand
SetupRun it now, zero configDays of engineeringNone, but hours per pull
When CMS Physician Compare ScraperMedicare Doctors Directory changesMaintained for youYou fix it
Proxies, retries, anti-botBuilt inYour problemBrowser only
OutputFixed JSON schema, CSV/Excel exportWhatever you buildCopy-paste
CostPay per resultEngineering timeAnalyst hours

Configure the run

Drive the Actor with optional filters for state, primary specialty, provider last name, and city. Filters are applied as the directory is read so only matching physicians reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10
}

A larger pull:

{
"maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$2.10
1,000 results$21.00
10,000 results$210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the CMS Physician Compare Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to CMS Physician Compare Scraper | Medicare Doctors Directory through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/cms-physician-compare-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your filter values match the CMS directory format exactly. The specialty filter is case-sensitive and must be uppercase, like CARDIOLOGY. The state filter requires a valid two-letter code. Try running without filters first to confirm the directory is reachable.

The run stopped before reaching my maximum items setting.

The Actor stops when it has read all available physicians matching your filters. If fewer physicians exist in the directory for your criteria, the run will finish early with however many were found.

Some fields are empty in my results.

Not every physician profile on CMS Physician Compare includes all data points. Fields like quality scores or group practice affiliation are only populated when CMS has that information for the provider.

I received an error about the website being unavailable.

The CMS website may occasionally be slow or under maintenance. Wait a few minutes and retry the run. If the problem persists, check the CMS site directly in a browser to confirm it is online.

FAQ

QuestionAnswer
What is CMS Physician Compare?It is a public directory maintained by the Centers for Medicare & Medicaid Services that lists physicians and other healthcare professionals who participate in Medicare.
Do I need a CMS account or API key to use this Actor?No. This Actor reads the public-facing website directly, so no account, API key, or registration is required.
What data fields are included for each physician?Each row includes the provider's NPI, name, specialty, practice address, phone number, and Medicare quality program participation indicators.
Can I filter by multiple states at once?The state filter accepts a single two-letter code per run. To collect data for multiple states, run the Actor once per state or leave the filter blank to scrape all states.
How many physician records can I collect in one run?You can set the maximum up to 1,000,000 records. The actual number collected depends on how many physicians match your filters.
Is the specialty filter case-sensitive?Yes, enter the specialty in uppercase as it appears on the CMS site, for example CARDIOLOGY or FAMILY PRACTICE.
Can I export the results to Excel?Yes. Apify supports exporting your dataset to CSV, JSON, Excel, XML, and several other formats.
Does this Actor include non-physician providers like nurse practitioners?The CMS Physician Compare directory primarily lists physicians. Check the dataset for other provider types that may appear under the same search.
How often is the CMS data updated?CMS updates the Physician Compare data periodically. The Actor always scrapes the live directory, so you get the most current public data available.
Can I schedule this Actor to run automatically?Yes, you can set up a recurring schedule in Apify to run the Actor daily, weekly, or at any custom interval.

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Centers for Medicare & Medicaid Services. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.