π CMS Open Payments Scraper β Pharma-to-Doctor
Pricing
from $8.00 / 1,000 payment records
π CMS Open Payments Scraper β Pharma-to-Doctor
Scrape CMS Open Payments (Sunshine Act) records β physician name, NPI, payment amount, payment type, manufacturer, drug or device, date. Filter by physician, NPI, manufacturer, year. ProPublica Dollars-for-Docs alternative for pharma compliance officers, healthcare journalists, academic researchers.
Pricing
from $8.00 / 1,000 payment records
Rating
0.0
(0)
Developer
Stephan Corbeil
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Share
CMS Open Payments Scraper
Pull every payment a drug or medical-device manufacturer made to a US physician or teaching hospital β directly from the federal Open Payments / Sunshine Act dataset published by CMS. Filter by physician NPI, last name, manufacturer, or year. Returns physician name, NPI, specialty, payment amount, payment date, payment nature (consulting / royalty / meals / travel / etc.), manufacturer, and the specific drug or device tied to each payment.
Built for pharma compliance officers (Sunshine Act audit), healthcare journalists (ProPublica's Dollars-for-Docs cohort), academic researchers studying physician-industry relationships, healthcare M&A, and payer integrity teams. ProPublica's alternative without the JS-rendered front-end.
Runs against CMS's official datastore query API β no auth, no rate limit ceiling for normal volume.
What you get
| Field | Type | Notes |
|---|---|---|
physician_npi | string | 10-digit NPI |
physician_first_name / physician_last_name / physician_middle_name | string | Recipient name |
physician_specialty | string | Specialty taxonomy text |
physician_primary_type | string | "Medical Doctor" / "Doctor of Osteopathy" / etc. |
physician_license_state | string | License jurisdiction |
physician_city / physician_state / physician_zip | string | Practice address |
teaching_hospital_name / teaching_hospital_ccn / teaching_hospital_id | string | When recipient is an institution |
noncovered_recipient_entity_name | string | Non-covered entity recipient |
manufacturer_name | string | Paying manufacturer or GPO |
manufacturer_id | string | CMS-assigned manufacturer ID |
manufacturer_state / manufacturer_country | string | Manufacturer address |
payment_amount | number | USD |
payment_date | string | ISO date |
payment_form | string | Cash / Stock / In-kind / etc. |
payment_nature | string | "Compensation for services other than consulting", "Food and Beverage", "Travel and Lodging", "Royalty or License", "Honoraria", "Education", etc. |
payment_count | integer | Number of distinct payments aggregated into this row |
name_of_drug_or_biological_or_device_or_medical_supply_1 | string | Specific product associated with the payment |
ndc_of_drug_1 | string | National Drug Code (when applicable) |
program_year | integer | Reporting year |
payment_publication_date | string | Date CMS published the row |
change_type | string | NEW / CHANGED / UNCHANGED |
record_id | string | CMS internal ID |
Use cases
- Sunshine Act compliance audit β pull all of
Pfizer's 2023 payments, reconcile against your internal HCP-payment ledger, surface mismatches. - Investigative journalism β find every physician earning >$100K/yr from a single manufacturer, surface conflicts of interest in clinical guidelines.
- Academic conflict-of-interest review β every faculty member's industry payment history in one query for promotion / tenure committees.
- Healthcare M&A diligence β surface industry-payment exposure of acquired physician practices before deal close.
- KOL mapping β identify top-paid Key Opinion Leaders by therapeutic area to inform medical-affairs strategy.
- Payer integrity β flag prescribers with unusual industry-payment patterns alongside prescribing volume for further review.
Quick start
Input JSON (search by physician last name):
{"year": 2023,"payment_type": "general","physician_last_name": "SMITH","max_results": 100}
Sample output item:
{"physician_npi": "1234567890","physician_first_name": "JANE","physician_last_name": "SMITH","physician_specialty": "Allopathic & Osteopathic Physicians/Internal Medicine/Cardiovascular Disease","physician_state": "NY","manufacturer_name": "MEDTRONIC USA, INC.","payment_amount": 12450.00,"payment_date": "2023-08-14","payment_form": "Cash or cash equivalent","payment_nature": "Consulting Fee","name_of_drug_or_biological_or_device_or_medical_supply_1": "MICRA AV TRANSCATHETER PACING SYSTEM","program_year": 2023}
Python SDK example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("nexgendata/cms-open-payments-scraper").call(run_input={"year": 2023,"payment_type": "general","manufacturer_name": "Pfizer","max_results": 500,})total = 0for p in client.dataset(run["defaultDatasetId"]).iterate_items():total += float(p.get("payment_amount") or 0)print(p["payment_date"], p["physician_last_name"], "->", p["payment_amount"])print(f"Total: ${total:,.2f}")
cURL example
curl -X POST "https://api.apify.com/v2/acts/nexgendata~cms-open-payments-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"year":2023,"payment_type":"research","physician_npi":"1234567890","max_results":100}'
Integrations
- Zapier / Make.com / n8n β schedule monthly runs after CMS publishes the new year, push to your compliance ticketing system.
- Postgres / Snowflake / BigQuery β sync the dataset for joins against your prescribing-data, claims-data, or contracts-data warehouse.
- Salesforce Health Cloud β auto-refresh HCP records with industry-payment exposure for medical-affairs and compliance teams.
Pricing
Pay-per-event:
- Actor start: $0.00005 (one-time per run)
- Per payment record: $0.008
Cost calculator:
| Records | Approx. cost |
|---|---|
| 50 | $0.40 |
| 100 | $0.80 |
| 500 | $4.00 |
| 1,000 | $8.00 |
| 5,000 | $40.00 |
Premium pricing reflects the compliance / Sunshine Act audit value β buyers in this niche typically pay 4-figure subscriptions for HCP industry-payment data products.
FAQ
Q: How fresh is the data?
A: CMS publishes once a year, typically in late June, covering the prior calendar year (e.g. June 2024 = 2023 data). The actor always picks the dataset matching your year input.
Q: What's NOT included?
A: Aggregated state-level industry-payment data (Open Payments releases line-item only). Devices that fall below the de-minimis reporting threshold ($10/payment, $100/year aggregate). Payments to non-physician prescribers (NPs, PAs) β currently outside Open Payments scope, though CMS proposed expanding this.
Q: How do I find a physician's NPI?
A: Use NPPES (https://npiregistry.cms.hhs.gov/) β or pair this actor with our NPI-lookup actor in the related list below.
Q: What years are available?
A: 2013-present (rolls forward annually). Earlier years have less complete reporting because the Sunshine Act phased in.
Q: Can I query multiple physicians at once?
A: This run = one filter. To process multiple NPIs, loop your code over the actor invocation, or contact us about a bulk variant.
Q: Are the payment amounts net of returns/refunds?
A: They are the as-reported total per the Open Payments record. CMS does not net out post-publication corrections; the change_type field flags revised rows.
Related actors from nexgendata
- Court Records Search β pair Open Payments with FCA / Sunshine Act litigation tracking.
- SEC EDGAR Search β cross-reference manufacturer disclosures with public-company filings.
- Government Contracts Search β federal contract awards alongside HCP payment exposure for life-sciences vendor diligence.
About nexgendata
Built and maintained by nexgendata β a portfolio of 160+ specialized scrapers and MCP servers covering compliance, healthcare data, civic data, lead gen, and developer tools. Need higher volume, custom output, or a private fork? Email steve_corbeil@hotmail.com.