---
title: "Search CMS Open Payments"
method: GET
path: "/v1/sources/open-payments/search"
tags: ["CMS Open Payments"]
---

# Search CMS Open Payments

`GET /v1/sources/open-payments/search`

## Request

- Base URL: `https://api.assyro.com`
- URL: `https://api.assyro.com/v1/sources/open-payments/search`
- Auth: none declared

Search CMS Open Payments (the Sunshine Act data): what drug and device manufacturers and GPOs reported paying US physicians, practitioners and teaching hospitals, summed by Assyro per paying company, per company and product, and per company and research study, for each program year CMS publishes (the latest seven). Find by company (name or CMS id), product named on payments, study name or ClinicalTrials.gov id, words, kind and program year; with no words the largest totals come first. Each result gives general and research payment totals and counts and the largest natures of payment (consulting, speaker fees, food and beverage, travel...). Payments to named physicians are not in this copy. A payment naming several products counts in full for each. CMS: the data is open to individual interpretation; a payment is not by itself a conflict of interest.

## Query parameters

- `company` string: A paying company's name, e.g. "Novo Nordisk", or its CMS id, e.g. "100000000186".
- `product` string: A drug, biologic or device named on payments, e.g. "Ozempic" or "Watchman".
- `study` string: Words of a research study's name, e.g. "semaglutide cardiovascular outcomes".
- `nctId` string: A ClinicalTrials.gov id named on research payments, e.g. "NCT03574597".
- `query` string: Words across company, product, study, therapeutic area and research context, e.g. "obesity".
- `kind` 'company' | 'product' | 'study': Only company totals, company-product totals or company-study totals.
- `year` integer: One program year, e.g. 2024.
- `yearFrom` integer: Program years from this one.
- `yearTo` integer: Program years up to this one.
- `limit` integer: Results to return, default 8.
- `offset` integer: Skip this many results (for paging), default 0.

## Response `200`

Matching records.

- SearchResponse
  - `version` unknown, required
  - `source` SourceRef, required
    - `id` string, required
    - `label` string, required
    - `authority` string, required
  - `total` integer, nullable, required: Total matches the source reports, when it says.
  - `records` Record[], required
    - `id` string, required: The source's own identifier for the record.
    - `title` string, required
    - `url` string, required: The record's page at the source, to verify it.
    - `authority` string, required: Who published the record.
    - `snippet` string, nullable, required: The part of the record that matched; null where the licence allows only a link.
    - `publishedDate` string, nullable, required
    - `version` string, nullable, required: The edition or revision read.
    - `fields` object, nullable, required: The source's own fields; null where the licence allows only a link.
    - `asOf` string, nullable, required: The day Assyro's copy of the source was read (YYYY-MM-DD).
    - `attribution` string: The attribution the source's licence requires, on sources that require one.
  - `note` string
  - `summary` string[]

## Other responses

- `400`: The request is not valid: an unknown parameter or an argument the source refuses.
- `404`: No such source or record.
- `429`: Rate limited; retry after the Retry-After header.
- `503`: The source cannot answer from Assyro's copy right now.

---

[API](https://skmtc.dev/assyro/apis/assyro-public-data-api.md) - [All operations](https://skmtc.dev/assyro/apis/assyro-public-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/assyro/apis/assyro-public-data-api/revisions/c861290c9f47?raw)
