πŸ’Š CMS Open Payments Scraper β€” Pharma-to-Doctor avatar

πŸ’Š CMS Open Payments Scraper β€” Pharma-to-Doctor

Pricing

from $8.00 / 1,000 payment records

Go to Apify Store
πŸ’Š CMS Open Payments Scraper β€” Pharma-to-Doctor

πŸ’Š 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

Stephan Corbeil

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

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

FieldTypeNotes
physician_npistring10-digit NPI
physician_first_name / physician_last_name / physician_middle_namestringRecipient name
physician_specialtystringSpecialty taxonomy text
physician_primary_typestring"Medical Doctor" / "Doctor of Osteopathy" / etc.
physician_license_statestringLicense jurisdiction
physician_city / physician_state / physician_zipstringPractice address
teaching_hospital_name / teaching_hospital_ccn / teaching_hospital_idstringWhen recipient is an institution
noncovered_recipient_entity_namestringNon-covered entity recipient
manufacturer_namestringPaying manufacturer or GPO
manufacturer_idstringCMS-assigned manufacturer ID
manufacturer_state / manufacturer_countrystringManufacturer address
payment_amountnumberUSD
payment_datestringISO date
payment_formstringCash / Stock / In-kind / etc.
payment_naturestring"Compensation for services other than consulting", "Food and Beverage", "Travel and Lodging", "Royalty or License", "Honoraria", "Education", etc.
payment_countintegerNumber of distinct payments aggregated into this row
name_of_drug_or_biological_or_device_or_medical_supply_1stringSpecific product associated with the payment
ndc_of_drug_1stringNational Drug Code (when applicable)
program_yearintegerReporting year
payment_publication_datestringDate CMS published the row
change_typestringNEW / CHANGED / UNCHANGED
record_idstringCMS 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 ApifyClient
client = 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 = 0
for 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:

RecordsApprox. 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.

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.