CMS Open Payments Crawler - Physician Pharma Payment Data avatar

CMS Open Payments Crawler - Physician Pharma Payment Data

Pricing

Pay per event

Go to Apify Store
CMS Open Payments Crawler - Physician Pharma Payment Data

CMS Open Payments Crawler - Physician Pharma Payment Data

Crawl physician payment records from the CMS Open Payments database (Sunshine Act). Extract payments from pharma and device companies to physicians. Filter by state, specialty, payer, payment type, year, and minimum amount.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract physician payment records from the CMS Open Payments database (Sunshine Act). Collect payments from pharmaceutical and medical device companies to physicians — including dollar amounts, payment types, payer companies, associated products, and physician details across all 50 U.S. states.

CMS Open Payments Crawler Features

  • Query three datasets: General Payments (consulting, food, travel, speaking fees), Research Payments (research funding), and Physician Ownership (ownership/investment interests)
  • Filter by state, physician specialty, payer company name, payment type, and minimum dollar amount
  • Covers program years 2018 through 2024 — over 15 million General Payment records per year
  • Reads the official CMS DKAN API directly — structured JSON, no HTML parsing, no proxy required
  • Normalizes field names across all three dataset types into a unified output schema
  • Pay-per-event pricing at roughly $0.001 per record

Who Uses CMS Open Payments Data?

  • Healthcare compliance teams — monitor pharma payments to physicians for conflict-of-interest audits and Sunshine Act reporting
  • Pharmaceutical market researchers — analyze payment patterns by specialty, state, or company to understand industry spending trends
  • Journalists and watchdog organizations — investigate financial relationships between drug makers and prescribing physicians
  • Medical device sales teams — identify which physicians receive consulting fees, speaking engagements, or research funding from competitors
  • Academic researchers — study the correlation between industry payments and prescribing behavior at scale
  • Legal professionals — gather payment evidence for litigation involving pharmaceutical marketing practices

How CMS Open Payments Crawler Works

  1. You select a dataset type (General, Research, or Ownership) and a program year.
  2. The crawler queries the CMS DKAN API with your filters — state, specialty, payer name, payment type — using server-side conditions where possible.
  3. Results are paginated at 500 records per request, transformed into a clean unified schema, and filtered client-side for minimum payment amount.
  4. Each record includes the physician name, NPI, specialty, payer company, dollar amount, payment type, associated product, and a unique CMS record ID.

Input

Basic: Get general payments for a state

{
"datasetType": "general",
"programYear": "2024",
"states": ["CA"],
"maxItems": 100
}

Filter by payer company

{
"datasetType": "general",
"programYear": "2023",
"payerName": "Pfizer",
"states": ["NY"],
"maxItems": 50
}

Research payments by specialty

{
"datasetType": "research",
"programYear": "2023",
"physicianSpecialty": "Allopathic & Osteopathic Physicians|Internal Medicine",
"maxItems": 200
}

High-value consulting fees

{
"datasetType": "general",
"programYear": "2024",
"paymentType": "Consulting Fee",
"minPaymentAmount": 1000,
"maxItems": 50
}

Input Parameters

FieldTypeDefaultDescription
programYearstring"2024"Program year: 2018 through 2024
datasetTypestring"general"Dataset: general (payments), research (funding), or ownership (investment interests)
statesstring[][]Filter by recipient state (two-letter codes). Leave empty for all states.
paymentTypestring""Filter by payment type: Consulting Fee, Food and Beverage, Travel and Lodging, Education, Gift, Honoraria, Grant, and others
payerNamestring""Search by pharmaceutical or device company name. Supports partial match.
physicianNamestring""Search by physician last name. Supports partial match.
physicianSpecialtystring""Filter by specialty: Internal Medicine, Orthopedic Surgery, Dermatology, Family Medicine, and 11 others
minPaymentAmountnumber0Return only payments at or above this dollar amount
maxItemsinteger100Maximum number of records to return
proxyConfigurationobject{}Proxy settings. Not required — this is a government API with no geo-restrictions.

CMS Open Payments Crawler Output Fields

Example Output

{
"physician_name": "JOHN A SMITH MD",
"physician_npi": "1234567890",
"physician_specialty": "Allopathic & Osteopathic Physicians|Internal Medicine",
"recipient_city": "LOS ANGELES",
"recipient_state": "CA",
"payer_name": "Pfizer Inc.",
"payment_amount": 2450.00,
"payment_type": "Consulting Fee",
"payment_date": "06/15/2024",
"product_name": "ELIQUIS",
"product_type": "Drug",
"teaching_hospital_name": "",
"program_year": 2024,
"payment_count": 1,
"record_id": "1058723"
}

Field Reference

FieldTypeDescription
physician_namestringFull name of the physician or covered recipient
physician_npistringNational Provider Identifier (10-digit unique physician ID)
physician_specialtystringMedical specialty (e.g., Internal Medicine, Orthopedic Surgery)
recipient_citystringCity of the covered recipient
recipient_statestringState abbreviation of the covered recipient
payer_namestringPharmaceutical or medical device company making the payment
payment_amountnumberDollar amount of the payment or transfer of value
payment_typestringNature of payment: consulting, food/beverage, travel, research, royalty, ownership, etc.
payment_datestringDate the payment was made (MM/DD/YYYY)
product_namestringAssociated drug, device, or biological product name
product_typestringProduct category: Drug, Device, Biological, or Medical Supply
teaching_hospital_namestringTeaching hospital name, if the payment was made to one
program_yearnumberReporting year of the payment disclosure
payment_countnumberNumber of individual payments aggregated in this record
record_idstringUnique record identifier from CMS

CMS Open Payments Data Coverage

Dataset2024 Records2023 RecordsDescription
General Payments15.4M14.7MFood, travel, consulting, speaking, gifts, royalties
Research Payments757K~750KResearch funding from pharma/device companies
Physician Ownership4.6K~4KOwnership and investment interests

Data is published annually by CMS for the previous reporting period. The crawler covers 2018 through 2024.

FAQ

What is the CMS Open Payments database? The CMS Open Payments database tracks payments from pharmaceutical and medical device companies to physicians and teaching hospitals, as mandated by the Physician Payments Sunshine Act (part of the Affordable Care Act). CMS publishes this data annually at openpaymentsdata.cms.gov.

How much does CMS Open Payments Crawler cost to run? Roughly $0.001 per record on pay-per-event pricing. Extracting 10,000 records costs about $10. The actor runs on 256 MB of memory by default and processes approximately 10,000 records per minute.

Do I need proxies? No. The CMS Open Payments API is a public government service with no authentication, no CAPTCHA, and no geo-restrictions. Proxy support is disabled by default.

What is the difference between the three dataset types? General Payments cover direct transfers of value — consulting fees, food, travel, speaking engagements, gifts, and royalties. Research Payments cover funding for clinical research. Physician Ownership covers ownership stakes and investment interests that physicians hold in pharmaceutical or device companies.

Can I search by company name? Yes. The payerName field supports partial match, so searching "Pfizer" returns payments from any entity with "Pfizer" in the name. Combine with state and specialty filters to narrow results.

How current is the data? CMS publishes Open Payments data annually, typically in January for the previous reporting year. Program year 2024 is the most recent available dataset.

Can I get data for a specific physician? Use the physicianName field to search by last name (partial match). Combine with states or physicianSpecialty to narrow results when the name is common.

Need More Features?

Need custom fields, filters, or a different healthcare data source? File an issue or get in touch.