Microproduct data guideintermediate

CMS Open Payments

Manufacturer payments to clinicians and teaching hospitals for building bounded transparency lookups and conflict-check tools.

At a glance

Difficulty
Intermediate — some data preparation helps
Size
Medium · ≤5 GB
Formats
JSON, CSV
Access
API or Download
API key
Not required
Provider
Centers for Medicare & Medicaid Services
Updates
Annual

From source to product signal

Test a product idea in four steps

Open Payments publishes manufacturer payments to covered recipients through a no-key datastore API. Start with one program-year general-payment distribution and a 20-row limit. A payment is not evidence of improper influence, and dataset IDs change with each publication.

1

Check the setup

  • Python 3.10 or newer
  • A notebook environment such as Jupyter or Google Colab
  • An internet connection
2

Access the data

  1. 1.Open the Open Payments API page and note that dataset IDs are listed in the metastore.
  2. 2.Query one general-payment distribution with a small limit and one recipient state filter.
  3. 3.Preserve recipient, payer, amount, and nature-of-payment fields with the retrieval timestamp.
Open official source
3

Run the Python example

Install the packages, then run the notebook cell.

python -m pip install pandas requests

import pandas as pd
import requests

response = requests.get(
    "https://openpaymentsdata.cms.gov/api/1/datastore/query/e6b17c6a-2534-4207-a4a1-6746a14911ff/0",
    params={
        "limit": 20,
        "conditions[0][property]": "recipient_state",
        "conditions[0][value]": "CO",
        "conditions[0][operator]": "=",
    },
    timeout=30,
)
response.raise_for_status()
payments = pd.DataFrame(response.json()["results"])
payments["retrieved_at_utc"] = pd.Timestamp.now(tz="UTC")
print(payments.head(20))
4

Test a useful signal

Profile general payments in one state

Test whether a 20-row Open Payments extract can support a bounded physician-payment lookup.

  1. 01Confirm the query returned Colorado rows and keep recipient, manufacturer, amount, and nature fields.
  2. 02Sum amounts by nature of payment and flag missing NPIs.
  3. 03State that a reported payment is not a finding of improper influence and that dataset IDs change each publication.

Dataset details

Centers for Medicare & Medicaid Services is a government source. Last verified 2026-08-17. Temporal coverage: annual program years with periodic publications.

Theme

Health, Food & Safety

Domains

Health CareHealth ServicesRegulation

Data types

Transaction DataTabular

Tasks

Provider ComparisonSearchMarket Research

Geography

United States

Formats

JSONCSV

Provider

Centers for Medicare & Medicaid Services

Data terms

CMS public-data principles