---
title: "Returns CMS Open Payments records — the Sunshine Act database of every payment / transfer of value from drug + device manufacturers and GPOs to US physicians, non-physician practitioners, and teaching hospitals (~15M records per program year, 2019→present)"
method: GET
path: "/v1/open-payments"
---

# Returns CMS Open Payments records — the Sunshine Act database of every payment / transfer of value from drug + device manufacturers and GPOs to US physicians, non-physician practitioners, and teaching hospitals (~15M records per program year, 2019→present)

`GET /v1/open-payments`

## Request

- Base URL: `https://api.keyvex.com`
- URL: `https://api.keyvex.com/v1/open-payments`
- Auth: API key in header `x-api-key`

Returns CMS Open Payments records — the Sunshine Act database of every payment / transfer of value from drug + device manufacturers and GPOs to US physicians, non-physician practitioners, and teaching hospitals (~15M records per program year, 2019→present). LIVE passthrough to CMS's own API: results reflect CMS's current data and `total_count` is CMS's authoritative count for the filtered query (the results array is just the requested page). Use this when the user asks about: pharma/device money to doctors, a company's physician-payment footprint, speaker-fee / consulting / royalty programs, industry funding of research (with ClinicalTrials.gov IDs), or physician ownership stakes in manufacturers.  payment_type selects the dataset (schemas differ; rows are CMS's fields verbatim):   general (default) — meals, travel, consulting, speaker fees,     royalties, honoraria. Fields incl. nature_of_payment_or_transfer     _of_value, name_of_drug_or_biological_or_device_or_medical     _supply_1, covered_recipient_specialty_1.   research — research payments incl. name_of_study,     clinicaltrials_gov_identifier, preclinical_research_indicator.   ownership — physician ownership/investment interests     (total_amount_invested_usdollars, value_of_interest,     terms_of_interest); recipient fields are physician_*.  summarize=true returns CMS's own pre-aggregated per-(company, nature) totals for the year — transaction counts + dollar totals per payment nature. The nature codes in that dataset ship without a public CMS legend; KeyVex labels the seven codes it has VERIFIED by exact count+total reconciliation against detail data (1=Consulting Fee, 2=Speaker/faculty compensation, 6=Food and Beverage, 7=Travel and Lodging, 9=Charitable Contribution, 10=Royalty or License, 14=Grant); unverified codes pass through with an empty label rather than a guess.  Matching: company is a substring (matches subsidiaries: 'pfizer' catches PFIZER INC.); recipient names are EXACT (CMS stores uppercase; we uppercase for you); npi is the exact National Provider Identifier — the precise join key to get_oig_exclusions. Payments are attributed to the manufacturer AS FILED — no ticker/CIK; try the operating-company name.  Program years: 2019 through the latest published year (CMS refreshes semiannually; year defaults to the latest). Pagination: limit ≤ 500 per page (CMS cap), use offset for more.  Pure-publisher posture: CMS's records as filed, parsed by KeyVex (the source record is authoritative) — no derived influence scores. Disclosure ≠ wrongdoing; these are lawful, statutorily-disclosed payments.

## Query parameters

- `year` integer
- `payment_type` 'general' | 'research' | 'ownership'
- `company` string
- `recipient_last_name` string
- `recipient_first_name` string
- `npi` string
- `state` string
- `nature` string
- `product` string
- `summarize` boolean
- `limit` integer
- `offset` integer

## Response `200`

JSON envelope: { results: [...], count, has_more }.

## Other responses

- `400`: Invalid parameter.
- `401`: Missing or invalid API key.
- `402`: This tool requires a higher plan (upgrade_required). Retrying will not help.
- `429`: Tier rate/quota limit reached (rate_limited). Retry-After points at the reset.

---

[API](https://skmtc.dev/keyvex/apis/keyvex-api.md) · [All operations](https://skmtc.dev/keyvex/apis/keyvex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/keyvex/apis/keyvex-api/revisions/01c0210c19cd?raw)
