CMS Open Payments Scraper avatar

CMS Open Payments Scraper

Pricing

$0.90 / 1,000 results

Go to Apify Store
CMS Open Payments Scraper

CMS Open Payments Scraper

Scrape public CMS Open Payments data for providers, teaching hospitals, and companies. Export entity results, profile details, and payment records with payer, recipient, amount, year, and source URLs.

Pricing

$0.90 / 1,000 results

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

🏥 CMS Open Payments scraper for payment records

CMS Open Payments Scraper collects public Open Payments data for individual providers, teaching hospitals, and companies. Use Open Payments URLs or search targets to export entity records, profile details, and payment records for General Payments, Research Payments, and Physician Ownership when available.

📦 What data you can collect

The actor returns one dataset row per successful Open Payments result. Depending on the target and public CMS data available, rows can include:

Result typeCommon fields
Entity resultrowType, entityId, entityType, name, classification, specialty, profileUrl, location, identifiers
Payment recordrowType, paymentId, paymentCategory, programYear, paymentDate, amountUsd, natureOfPayment, formOfPayment, sourceUrl, recipient, payer, teachingHospital, productNames, products, research, ownership

Unavailable source fields are omitted from the saved row instead of being filled with guessed values.

▶️ How to run it

  1. Choose one target method: Open Payments URLs, entity search terms, or payment search terms.
  2. Add optional filters such as program years, states, specialties, payment category, minimum payment amount, or maximum results.
  3. Start the actor and open the default dataset when the run finishes.
  4. Export results as JSON, CSV, Excel, XML, RSS, or HTML from Apify dataset tools.

⚙️ Input options

InputUse it for
sourceUrlsPublic CMS Open Payments search, profile, or detail URLs.
entitySearchTermsNames or organizations to collect matching entity search-result records.
paymentSearchTermsProviders, hospitals, or companies to collect matching payment records.
programYearsLimit results to selected Open Payments program years.
statesFilter by US state or territory abbreviation.
specialtiesFilter provider results by specialty terms when available.
paymentCategoryChoose all, General Payments, Research Payments, or Physician Ownership.
minPaymentAmountKeep payment records at or above a USD amount.
maxResultsStop after a selected number of successful records.

🧾 Output example

{
"rowType": "payment",
"paymentId": "123456789",
"paymentCategory": "general",
"programYear": 2025,
"paymentDate": "2025-03-14",
"amountUsd": 250.75,
"natureOfPayment": "Food and Beverage",
"formOfPayment": "Cash or cash equivalent",
"sourceUrl": "https://openpaymentsdata.cms.gov/payment/general/2025/123456789",
"recipient": {
"name": "Jane A Smith",
"entityId": "987654",
"entityType": "Covered Recipient Physician",
"specialty": "Internal Medicine",
"city": "Boston",
"state": "MA",
"country": "United States"
},
"payer": {
"name": "Example Medical LLC",
"entityId": "456789",
"state": "NJ",
"country": "United States"
},
"teachingHospital": {
"name": "Example Teaching Hospital",
"entityId": "112233",
"city": "Boston",
"state": "MA"
},
"productNames": ["Example Device"],
"products": [{ "name": "Example Device" }]
}

Entity rows use the same dataset and include rowType: "entity" with fields such as entityId, entityType, name, classification, specialty, profileUrl, location, and identifiers.

💳 Pricing

This actor uses pay-per-event pricing. You are charged only when the actor saves an accepted result to the dataset. Empty runs and setup checks should not be described as charged unless the pricing handoff says otherwise.

The current event is Result at $0.0009 per successful Open Payments result record.

🔌 Integrations

Use this actor with Apify integrations, API clients, webhooks, scheduled runs, and dataset exports. Send results to spreadsheets, BI tools, databases, or your own app after each run.

❓ FAQ

🔎 Can I search by provider, hospital, or company name?

Yes. Use entity search terms for Open Payments entity records, or payment search terms when you want detailed payment records for matching public targets.

💳 Which payment categories are supported?

The actor can collect public General Payments, Research Payments, and Physician Ownership records when those records are available from CMS Open Payments.

🧭 Can I filter by year, state, specialty, and amount?

Yes. The input supports program years, states, specialties, payment category, and minimum payment amount. Filters apply when the selected public Open Payments target supports the field.

🔗 Can I start from an Open Payments URL?

Yes. Add public CMS Open Payments search, profile, or detail URLs in sourceUrls to collect records from those pages.

🧑‍⚕️ Does it require a CMS account or uploaded files?

No. The standard workflow uses public CMS Open Payments data and does not require private CMS credentials or uploaded source files.

📭 What happens if no records match?

The run reports that no matching Open Payments records were found. No-result searches are not described as successful result records.

🧪 Does the actor infer or enrich data with AI?

No. It returns source-native CMS Open Payments facts and mechanical fields derived from the public source, without AI classification or scoring.

🧾 Is this the official CMS Open Payments API?

No. This is an Apify actor for collecting public CMS Open Payments data and exporting it through Apify datasets, API, schedules, and integrations.

📝 Changelog

  • 0.0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors