CMS Open Payments Scraper
Pricing
Pay per usage
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
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?
| Field | Type | Description |
|---|---|---|
recipientNpi | string | National Provider Identifier |
recipientLastName / recipientFirstName | string | Covered recipient name |
recipientState / recipientCity | string | Business address location |
manufacturerMakingPaymentName | string | Manufacturer or GPO that made the payment |
totalAmountUsd | number | Payment amount in USD |
dateOfPayment | string | Payment date as published by CMS |
natureOfPayment | string | e.g. Food and Beverage, Consulting Fee |
productName1 | string | Related drug / device / supply name |
programYear | integer | Open Payments program year |
paymentType | string | general, research, or ownership |
How to query CMS Open Payments
- Open this Actor in Apify Console and go to the Input tab.
- Choose payment type and program year.
- Add filters (state, NPI, manufacturer, nature, amount) as needed.
- Set Maximum records (start small, e.g. 100).
- 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, orownershipyear— 2019–2025 (default 2024)recipientState— two-letter USPS code (e.g.RI)recipientNpi,recipientLastName,recipientCitymanufacturerName— substring matchnatureOfPayment— exact CMS nature stringminAmount/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
recipientStateormanufacturerNamefor large years — unfiltered 2024 general payments are tens of millions of rows. - Use
pageSize100–200 and keepdelayMs≥ 250 to stay polite to the CMS API. - Prefer combining
minAmount/maxAmountwith 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.