CMS Medicare Provider Payments & Utilization Scraper
Pricing
from $1.50 / 1,000 results
CMS Medicare Provider Payments & Utilization Scraper
Export 1.29M+ CMS Medicare provider payment and utilization records by NPI, specialty, state, beneficiaries, services and reimbursement. Built for healthcare sales, pharma, payer analytics and market intelligence.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
Export more than 1.29 million current CMS Medicare provider profiles with NPI, specialty, address, beneficiary volume, services, submitted charges, allowed amounts, Medicare payments and patient-population indicators. The Actor converts the official CMS provider-summary release into clean records for healthcare sales, market sizing, provider intelligence and payer analysis.
No CMS API key is required. The Actor uses the dataset's stable CMS identifier, which resolves to the current official release rather than depending on a fragile download-page URL.
What can you do with this Actor?
- Build national or state-level lists of physicians, groups and healthcare organizations.
- Rank providers by Medicare beneficiaries, service volume or reimbursement.
- Segment territories by specialty, geography and Medicare participation.
- Support pharma, medical-device, payer, healthcare staffing and market-research workflows.
- Enrich NPI-based databases with aggregate utilization and payment signals.
- Export optional beneficiary condition profiles for population-health analysis.
Input
All filters are optional. Empty input exports provider records from the current release.
| Field | Type | Description |
|---|---|---|
states | string[] | Exact two-letter provider state abbreviations. |
specialties | string[] | Exact CMS specialty names such as Cardiology. |
countries | string[] | Provider country codes; US records generally use US. |
nameKeyword | string | Provider organization, last-name or first-name search. |
medicareParticipatingOnly | boolean | Keep only providers with participating indicator Y. |
minBeneficiaries | integer | Minimum distinct Medicare beneficiaries. |
minServices | number | Minimum total Medicare services. |
minMedicarePayment | number | Minimum aggregate Medicare payment in USD. |
includeConditionProfile | boolean | Include aggregate condition percentages when present. |
maxResults | integer | Maximum unique NPIs to save, up to 500,000. |
Example for high-volume California cardiology providers:
{"states": ["CA"],"specialties": ["Cardiology"],"medicareParticipatingOnly": true,"minMedicarePayment": 50000,"includeConditionProfile": true,"maxResults": 10000}
Output
Each dataset item is one provider-level profile keyed by NPI.
| Field group | Included data |
|---|---|
| Identity | npi, provider name components, organization name, credentials, entity type, gender. |
| Classification | specialty, Medicare participation indicator. |
| Location | Address lines, city, state, ZIP, country and rural/urban code. |
| Volume | Total beneficiaries, services, unique HCPCS codes and beneficiary-day services. |
| Financial | Submitted charges, Medicare allowed amount, Medicare payment and standardized payment. |
| Population | Average age, risk score, female/male percentages, race indicators and dual/Medicare-only shares. |
| Conditions | Optional aggregate percentages for major chronic conditions available in the CMS release. |
| Lineage | Data year, official source URL and scrape timestamp. |
{"npi": "1234567890","providerName": "EXAMPLE CARDIOLOGY GROUP","entityType": "O","specialty": "Cardiology","city": "LOS ANGELES","state": "CA","medicareParticipating": true,"totalBeneficiaries": 742,"totalServices": 5180,"totalSubmittedCharges": 2145000.75,"totalMedicarePayment": 387420.18,"dataYear": 2024}
CMS suppresses some values to protect beneficiary privacy. Those values remain null; the Actor does not estimate or reconstruct them. Payment and utilization metrics are aggregate historical measures, not a statement about current provider availability or quality.
High-volume workflow tips
Use exact state and specialty filters to build focused territories quickly. For national market sizing, increase maxResults and let the Actor paginate the CMS API automatically. Multiple states and specialties are handled as independent source segments and NPIs are deduplicated across them. Join output to other NPI datasets using the normalized npi string.
minBeneficiaries, minServices and minMedicarePayment are applied to the normalized numeric values. Use them to prioritize commercially meaningful accounts without downloading irrelevant rows into your final dataset.
Integrations and API
Results are available through Apify datasets as JSON, JSONL, CSV, Excel, XML or RSS. Runs can be scheduled and connected to webhooks, Google Sheets, Make, Zapier, databases or your own ETL. JavaScript and Python Apify clients are supported.
curl -X POST "https://api.apify.com/v2/acts/logiover~cms-medicare-provider-payments-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"states":["TX"],"specialties":["Internal Medicine"],"maxResults":5000}'
Through Apify MCP, AI agents can also call the Actor as a structured provider-research tool.
FAQ
Which CMS dataset is used? The official Medicare Physician & Other Practitioners provider-level summary dataset.
How many records are available? The current release contains roughly 1.29 million provider records; availability varies as CMS updates releases.
Does it include individual claims? No. It provides privacy-protected provider-level aggregates.
Does it need an API key? No external CMS key is required.
Are all values populated? No. CMS suppression and source completeness can produce nulls.
Can I filter by multiple specialties? Yes. Use exact CMS specialty labels.
Is NPI preserved safely? Yes. It is returned as a string to avoid numeric formatting loss.
Can the Actor prove provider quality? No. Utilization and payment aggregates should not be interpreted as quality ratings.
Can I schedule annual refreshes? Yes. The stable source identifier follows the current CMS release; schedule runs to refresh your downstream index.
Responsible use
This Actor is not affiliated with or endorsed by CMS. Use the records for lawful research and business intelligence. Verify material healthcare decisions against authoritative sources and do not infer sensitive individual-patient information from aggregate data.
How much CMS Medicare Provider Payments & Utilization data can you extract in one run?
A single run returned 1,000 rows in 3 seconds on the example input, and it was still going when the measurement stopped — raise the result limit and it keeps paginating. That is roughly 10,000 rows a minute.
There is no hard ceiling built into this Actor. What bounds a run is the result limit you set, the breadth of the input you give it, and how much CMS Medicare Provider Payments & Utilization itself publishes. Because billing is per result, a wider run costs proportionally more and a narrow one costs almost nothing — so it is worth starting small and scaling once the output looks right.
CMS Medicare Provider Payments & Utilization scraping — frequently asked questions
Do I need a CMS Medicare Provider Payments & Utilization API key, account or login?
No. This Actor reads publicly available pages and feeds, so there is nothing to register for and no credentials to manage.
How do I export CMS Medicare Provider Payments & Utilization data to CSV, Excel, JSON or Google Sheets?
Open the Storage tab after a run and pick the format you want — CSV, Excel, JSON, XML or an HTML table. For Google Sheets, Airtable or a database, use the dataset URL or the Apify API so the sheet refreshes itself on every run.
Can I schedule this CMS Medicare Provider Payments & Utilization scraper to run daily or hourly?
Yes. Use the Schedules tab and pick a cadence. Daily is enough for most tracking work; pick hourly only if the rows you care about really do change that fast.
How many rows can I get, and what does it cost?
See the volume section above for a measured figure. Billing is per result, so you pay for the rows you actually receive and a run that finds nothing costs nothing.
Is scraping CMS Medicare Provider Payments & Utilization legal?
This Actor collects only information that CMS Medicare Provider Payments & Utilization publishes publicly. It does not log in, does not defeat access controls and does not touch private data. You remain responsible for how you use the output, including under GDPR and similar rules where personal data is involved.
What happens if CMS Medicare Provider Payments & Utilization blocks the run or changes its layout?
A refused exit IP is swapped for a fresh one within a quarter of a second and retried, and rate limiting is waited out rather than fought. If nothing gets through, the run fails with the reason instead of reporting success with zero rows — so an empty result always means "no matches", never "the source would not answer".
Can I use this with an AI agent, LangChain or an MCP client?
Yes. The Actor is callable over the Apify API and through Apify's MCP server, so an agent can run it and read the dataset back as a tool call.
How to scrape CMS Medicare Provider Payments & Utilization without an API
CMS Medicare Provider Payments & Utilization has no public bulk export for this data, which normally leaves copy-and-paste or a custom crawler. This Actor is the second one, already built and maintained: it reads the public pages, follows the pagination, and hands back clean rows.
- Fill in the input below — the example is prefilled, so Start works straight away.
- Watch the log name each page it walks and how many rows each one returned.
- Export from Storage, or pull the dataset over the API into your own pipeline.
No API key, no account, no browser extension, no manual copying.
Changelog
2026-08-04
- Initial provider-level CMS Medicare payments and utilization release.
- Added state, specialty, country, name, participation, volume and payment filters.
- Added stable NPI deduplication and optional beneficiary condition fields.
- Validated numeric payment, volume, identity and location output against the live CMS API.
*Maintained: last verified 2026-09-01 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).
Use cases
- Export car listings in bulk and analyse them in a spreadsheet or database.
- Track how the data changes over time by scheduling repeat runs.
- Feed car listings into a dashboard, CRM or internal tool through the Apify API.
- Build a research dataset without writing or maintaining a scraper.
- Monitor CMS Medicare Provider Payments & Utilization for new entries and alert your team when they appear.
Pricing
This Actor is pay per result: you are charged for the rows it writes to your dataset, not for the time it spends running. There are no platform fees to calculate on top, and higher Apify plans pay a lower rate per result. A run that returns nothing costs nothing.
Is it legal?
This Actor collects only publicly available data — the same content any visitor to CMS Medicare Provider Payments & Utilization can see without logging in. It does not bypass authentication and does not gather private information. How you use the output is your responsibility: respect the source's terms, applicable copyright, and data-protection law such as GDPR where personal data is involved.
Related scrapers
Other Actors from the same collection: