CMS Open Payments Scraper avatar

CMS Open Payments Scraper

Pricing

Pay per usage

Go to Apify Store
CMS Open Payments Scraper

CMS Open Payments Scraper

Query the official CMS Open Payments (Sunshine Act) API for general, research, and ownership payments to physicians and teaching hospitals. Filter by state, NPI, manufacturer, nature, and amount. No login. Free.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Theta Tech

Theta Tech

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

What does CMS Open Payments Scraper do?

CMS Open Payments Scraper queries the official CMS Open Payments (Sunshine Act) public API and returns structured general, research, and ownership payment records made by drug and device manufacturers to physicians, non-physician practitioners, and teaching hospitals.

This Actor does not scrape HTML pages. It calls the documented CMS datastore query API and maps each row into a clean JSON dataset — no CMS login and no multi-gigabyte CSV downloads.

CMS Open Payments API alternative

Looking for a CMS Open Payments API without downloading multi-GB CSVs? This Actor wraps the official Open Payments datastore query endpoints and returns filtered JSON ready for compliance, Sunshine Act research, and AI pipelines.

Why use this Actor?

Use cases for compliance teams, health-systems analysts, journalists, and competitive-intelligence researchers:

  • Look up payments to providers in a specific state, city, or by NPI
  • Filter by manufacturer / GPO, nature of payment, and dollar amount
  • Pull General, Research, or Ownership datasets for program years 2019–2025
  • Export to JSON, CSV, Excel, or HTML from Apify dataset storage
  • Schedule recurring pulls and integrate via the Apify API

What data can it extract?

FieldTypeDescription
recipientNpistringNational Provider Identifier
recipientLastName / recipientFirstNamestringCovered recipient name
recipientState / recipientCitystringBusiness address location
manufacturerMakingPaymentNamestringManufacturer or GPO that made the payment
totalAmountUsdnumberPayment amount in USD
dateOfPaymentstringPayment date as published by CMS
natureOfPaymentstringe.g. Food and Beverage, Consulting Fee
productName1stringRelated drug / device / supply name
programYearintegerOpen Payments program year
paymentTypestringgeneral, research, or ownership

How to query CMS Open Payments

  1. Open this Actor in Apify Console and go to the Input tab.
  2. Choose payment type and program year.
  3. Add filters (state, NPI, manufacturer, nature, amount) as needed.
  4. Set Maximum records (start small, e.g. 100).
  5. Click Start and download results from the Dataset tab (JSON, CSV, Excel, or HTML).

Example input

{
"paymentType": "general",
"year": 2024,
"recipientState": "RI",
"natureOfPayment": "Consulting Fee",
"maxItems": 100,
"pageSize": 100,
"delayMs": 250
}

How much does it cost?

This Actor is currently free to use (no pay-per-result charge from the publisher). You only pay Apify platform usage for the run. It uses lightweight HTTP calls only (no browser), so compute cost per 1,000 rows is typically a fraction of a cent on the free plan.

Tip: set maxItems and at least one geographic or manufacturer filter so you only process the rows you need.

Input

See the Input tab for the full form. Important fields:

  • paymentType — general (default), research, or ownership
  • year — 2019–2025 (default 2024)
  • recipientState — two-letter USPS code (e.g. RI)
  • recipientNpi, recipientLastName, recipientCity
  • manufacturerName — substring match
  • natureOfPayment — exact CMS nature string
  • minAmount / maxAmount — USD filters (applied client-side; CMS stores amounts as text)
  • maxItems — hard stop (default 1000, max 50,000)

Output

You can download the dataset in JSON, HTML, CSV, or Excel. Example item:

{
"programYear": 2024,
"paymentType": "general",
"recordId": "1000000001",
"recipientNpi": "1234567890",
"recipientFirstName": "Jordan",
"recipientLastName": "Example",
"recipientCity": "Providence",
"recipientState": "RI",
"manufacturerMakingPaymentName": "Example Pharma Inc",
"totalAmountUsd": 32.0,
"dateOfPayment": "09/03/2024",
"natureOfPayment": "Food and Beverage",
"productName1": "EXAMPLEDRUG",
"sourceUrl": "https://openpaymentsdata.cms.gov/dataset/e6b17c6a-2534-4207-a4a1-6746a14911ff"
}

Tips

  • Always set recipientState or manufacturerName for large years — unfiltered 2024 general payments are tens of millions of rows.
  • Use pageSize 100–200 and keep delayMs ≥ 250 to stay polite to the CMS API.
  • Prefer combining minAmount / maxAmount with state, nature, or NPI filters so the Actor does not scan too many pages.
  • Research and ownership datasets use the same filters where those columns exist.

FAQ and disclaimer

Is this official CMS data?
Yes. Records come from the public CMS Open Payments datastore API. Government works published by CMS are generally usable under U.S. government works rules; review CMS Open Payments and applicable law for your use case.

Does this Actor collect private data?
It only returns fields CMS already publishes for transparency. Results can include provider names, NPIs, and business addresses. Personal data is protected by GDPR and other regulations — scrape or process it only with a legitimate purpose.

Why are some fields empty?
CMS leaves many columns blank when not applicable (e.g. travel fields on a food-and-beverage payment).

Support
Open an issue on the Actor's Issues tab, or contact the publisher (thetatech-data). For programmatic runs, see the API tab.