Healthcare Provider Payments Scraper - NPI & CMS Payments avatar

Healthcare Provider Payments Scraper - NPI & CMS Payments

Pricing

from $10.00 / 1,000 provider records

Go to Apify Store
Healthcare Provider Payments Scraper - NPI & CMS Payments

Healthcare Provider Payments Scraper - NPI & CMS Payments

Scrape U.S. healthcare provider profiles from the NPPES NPI Registry and match each to CMS Open Payments: general, research and ownership/investment records across 7 program years (2019-2025). Filter by name, organization or state. Export CSV, Excel, JSON. No login or API key.

Pricing

from $10.00 / 1,000 provider records

Rating

0.0

(0)

Developer

RecordsData

RecordsData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Share

PunkRecordsData

Healthcare Provider Payments Scraper looks up any U.S. provider or organization in the NPPES NPI Registry and matches it to CMS Open Payments: general payments, research payments and ownership interests across program years 2019-2025. Export CSV, Excel, JSON or API. No login, no API key. Verified 2026-10-03. $10 per 1,000 providers.

Healthcare Provider Payments Scraper turns a name into a provider profile plus the money that drug and device companies reported paying that provider. It reads the government's own NPI Registry (npiregistry.cms.hhs.gov) and the CMS Open Payments "Sunshine Act" database (openpaymentsdata.cms.gov), and it checks all seven program years CMS publishes (2019-2025), not only the latest. Built for compliance teams, pharma and medtech analysts, due-diligence researchers and journalists.

๐Ÿฉบ What does the Healthcare Provider Payments Scraper do?

  • Search the NPI Registry by provider name ("John Smith"), organization name ("Mayo Clinic") and optional U.S. state.
  • Return one row per NPI record: name, credential, status, enumeration dates, taxonomies (specialties and licenses), addresses, practice locations, other names and identifiers.
  • Optionally attach general payments (food, travel, consulting, speaking, gifts), research payments (tied to a research agreement or protocol) and ownership or investment interests to each provider row.
  • Sweep every available Open Payments program year per category, newest first, up to a per-provider cap you set.
  • Skip duplicate NPIs and rows without an NPI, so you are never billed for them.

๐Ÿ“Š What data can you extract from the NPI Registry and CMS Open Payments?

FieldDescription
npi, enumerationTypeNPI number and type (NPI-1 individual, NPI-2 organization)
firstName, lastName, organizationNameProvider or organization name
credential, statusCredential (for example MD) and registry status
enumerationDate, lastUpdatedWhen the NPI was issued and last changed
taxonomiesSpecialty code, description, license number, state, primary flag
addresses, practiceLocationsLocation and mailing addresses with phone
otherNames, identifiersAlternate names and other issued identifiers
generalPaymentsYear, date, amount, form, nature, paying company, product
researchPaymentsSame fields plus study name
ownershipInterestsYear, total invested, value of interest, terms, held by, company
scrapedAtUTC timestamp of the run

๐Ÿงพ Sample output from a real run

Real row from a cloud run (input John Smith, general payments on, trimmed to one payment for length):

{
"recordType": "provider",
"npi": "1871538041",
"enumerationType": "NPI-1",
"firstName": "JACK",
"lastName": "SMITH",
"credential": "MD",
"status": "A",
"enumerationDate": "2006-06-19",
"lastUpdated": "2023-05-04",
"taxonomies": [{ "code": "207R00000X", "description": "Internal Medicine", "license": "L3131", "state": "TX", "primary": true }],
"addresses": [{ "purpose": "LOCATION", "address": "409 COTTAGE RD", "city": "CARTHAGE", "state": "TX", "zip": "756331466", "phone": "903-694-4824" }],
"generalPayments": [{ "programYear": "2025", "recipientType": "Covered Recipient Physician", "date": "05/21/2025", "amount": 25.02, "numberOfPayments": 1, "formOfPayment": "In-kind items and services", "natureOfPayment": "Food and Beverage", "payingCompany": "Viatris Specialty LLC", "productName": "YUPELRI" }],
"scrapedAt": "2026-10-04T04:44:48.579Z"
}

A second real run (Gregg Stone, NY, research and ownership on) returned research payments of $22,500 from ZOLL Circulation Inc (program year 2025) and an ownership interest valued at $1,467,539.19 in SpectraWAVE, Inc.

Keys with no data are left out of the row instead of being filled with placeholders: generalPayments, researchPayments and ownershipInterests appear only when you switched the category on and the provider has records, and organizationName, practiceLocations, otherNames and identifiers appear only when the registry has them.

๐Ÿ’ฐ How much does it cost to scrape NPI and Open Payments data?

Pay per event. You are charged only for rows that were saved to the dataset, never for a failed or empty run, and never for a search that matches nothing.

EventPrice (per 1,000, Free tier)When it is charged
Provider record$10.00One per provider row delivered
General payment record$15.00One per general payment attached to a delivered provider
Research payment record$18.00One per research payment attached
Ownership interest record$20.00One per ownership interest attached

Paid Apify plans get lower per-event prices at higher tiers (Bronze to Diamond). Example from a real run: 10 providers with up to 3 general payments each returned 10 provider records and 11 general payment records, which is 10 x $0.01 + 11 x $0.015 = $0.265 at the Free tier. The Actor respects your max total charge setting and stops cleanly with the message "Stopped at your max charge limit". Free-plan users are limited to 10 providers per run.

๐Ÿš€ How to scrape the NPI Registry and Open Payments (3 steps)

  1. Open the Actor and enter a Provider name (for example John Smith) or an Organization name. Optionally add a 2-letter State.
  2. Switch on the payment categories you need (general, research, ownership interests) and set a per-provider cap for each.
  3. Click Start, then download the dataset as CSV, Excel, JSON or XML, or read it through the API.

โš™๏ธ Input

FieldTypeDefaultNotes
providerNamestringnoneFirst and last name; a single word is treated as a last name
organizationNamestringnoneFacility or organization name; set this or providerName
statestringnone2-letter U.S. state code
maxItemsinteger10Provider rows to return (free plan: 10)
includeGeneralPaymentsbooleanfalseAdds generalPayments to each row
maxGeneralPaymentsinteger50Per provider, up to 5000
includeResearchPaymentsbooleanfalseAdds researchPayments
maxResearchPaymentsinteger50Per provider, up to 5000
includeOwnershipInterestsbooleanfalseAdds ownershipInterests
maxOwnershipInterestsinteger20Per provider, up to 1000

Example input:

{
"providerName": "John Smith",
"maxItems": 10,
"includeGeneralPayments": true,
"maxGeneralPayments": 3
}

๐Ÿ“ฆ Output

One dataset row per matched NPI record. The dataset has an Overview view (name, NPI, credential, status) and a full view with every nested payment. The run ends with a status message: how many providers were delivered, "No providers matched this search (nothing charged)", or "Stopped at your max charge limit".

โš–๏ธ Healthcare provider payments scraper vs alternatives

Prices below were read from the public Apify Store listings on 2026-10-03 (Free tier, per result).

Actor typeTypical price per 1,000What you get
NPI-only scrapers (several)$2.00NPI profile only
Open Payments-only scrapers (several)$0.90 to $50.00Payments only, usually one query at a time
This Actor$10.00 provider, $15.00 to $20.00 per payment recordNPI profile and all three payment categories matched in one run, all program years

If you only need NPI profiles, a $2 per 1,000 NPI-only scraper is cheaper and is the better choice. The extra price here buys the match: one run joins identity to payments across seven program years, which otherwise means running two Actors and joining by NPI yourself.

๐ŸŽฏ Use cases

  • Compliance and conflict-of-interest review: check a provider's industry payment history before a partnership, hire or committee appointment.
  • Pharma and medtech intelligence: see which providers a competitor pays and in which categories.
  • Investment due diligence: screen a physician's ownership stakes in device and drug companies.
  • Journalism and research: cross-reference public statements with reported payments.

๐Ÿ”Œ Run it by API, schedule it, connect it

Call the Actor from any language with the Apify API or client libraries:

curl -X POST "https://api.apify.com/v2/acts/recordsdata~healthcare-provider-payments-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"providerName":"John Smith","maxItems":10,"includeGeneralPayments":true}'

Schedule runs after CMS publishes a new program year, push results to Google Sheets, Make, Zapier, n8n or Airbyte, or call the Actor as a tool from an AI agent through the Apify MCP server.

Both sources are public U.S. government datasets published for transparency and require no login. The Actor reads their public APIs only. You are responsible for how you use the data, including applicable privacy and marketing rules in your jurisdiction. This is an independent tool, not affiliated with CMS, HHS or NPPES.

โ“ Frequently asked questions

Do I need an API key for NPPES or CMS Open Payments? No. Both are public and need no registration.

Why did my run return 0 results? The search matched no NPI record. Try a more exact name, remove the state filter, or search by organization. A search with no matches finishes successfully and charges nothing.

Why did my run fail? It fails with a clear message, and charges nothing, when no name is given, the state is not a 2-letter code, or the NPI Registry or the Open Payments catalog cannot be reached.

Why is researchPayments or ownershipInterests missing from a row? The key is left out when the provider has no such records in any program year. In a real run of 10 providers named John Smith, none had research payments or ownership interests, and 4 of 10 had general payments.

How far back do payments go? Every program year CMS lists in its public catalog: 2019 to 2025 at the time of writing.

How fresh is the data? As fresh as NPPES and Open Payments themselves. NPPES updates frequently; Open Payments publishes once per program year.

Can I search by NPI number? Not in this version. Search by provider name, organization name and state.

Does it match research payments where the doctor is only the principal investigator? Only payments where the provider is the covered recipient are matched.

How long does a run take? A real run of 10 providers with general, research and ownership checks across all seven years took about 292 seconds. Without payments, a run takes seconds.

๐Ÿ”— Want more public-record data? Other PunkRecordsData scrapers

๐Ÿ†˜ Support

Open an issue on the Actor's Issues tab or write to contact.punkrecordsdata@gmail.com.

Last updated: 2026-10-03