CMS Open Payments

CMS Open Payments is the U.S. federal transparency program (run by the Centers for Medicare and Medicaid Services) that publishes payments and transfers of value made by drug and medical device manufacturers and group purchasing organizations to physicians, non-physician practitioners, and teaching hospitals. The public data site at openpaymentsdata.cms.gov exposes a free, open, no-authentication REST API (a DKAN-style data catalog under /api/1) that lets developers query general payments, research payments, and ownership and investment records by program year. The API offers a structured datastore query interface (filter, select, sort, paginate), a SQL query endpoint, CSV and JSON downloads, and a metastore catalog for dataset discovery and metadata. Reads are completely free and require no API key. Program Year 2025 alone contains roughly 17 million published records totaling about 14.67 billion dollars in payments.

CMS Open Payments publishes 5 APIs on the APIs.io network, including Datastore Query API, Datastore SQL API, Download API, and 2 more. Tagged areas include Government Data, Healthcare, Open Data, Transparency, and Payments.

CMS Open Payments’ developer surface includes authentication, documentation, signup flow, and 6 more developer resources.

34.3/100 thin ▬ flat Agent 48/100 agent ready Full breakdown ↓
scored 2026-07-23 · rubric v0.5
AccessFreeOpen⚡ Free to try
5 APIs
Government DataHealthcareOpen DataTransparencyPaymentsClinical DataPhysiciansOpen GovernmentPublic Sector

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-23 · rubric v0.5
Composite quality — 34.3/100 · thin
Contract Quality 12.5 / 25
Developer Ergonomics 3.9 / 20
Commercial Clarity 8.4 / 20
Operational Transparency 4.1 / 13
Governance 0.0 / 12
Discoverability 6.8 / 10
Agent readiness — 48/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/open-payments: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 5

Individual APIs this provider publishes, each with its own machine-readable definition.

CMS Open Payments Datastore Query API

Structured query over a dataset distribution.

CMS Open Payments Datastore SQL API

SQL query over a datastore resource.

CMS Open Payments Download API

Bulk CSV or JSON download of query results.

CMS Open Payments Metastore API

DCAT-US dataset catalog and metadata.

CMS Open Payments Search API

Full-text and faceted dataset discovery.

Open Collections 1

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

CMS Open Payments API

OPEN COLLECTION

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Open Payments Rate Limits

3 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Open Payments Authentication

none · 1 scheme

SECURITY

Open Payments Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Open Payments Agentic Access

8 operations · 2 acting

8 operations · 2 acting

AGENTIC

Resources

Get Started 1

Portal, sign-up, and the first successful call

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Access & Security 2

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
opencollection: 1.0.0
info:
  name: CMS Open Payments API
  version: '1.0'
items:
- info:
    name: Metastore
    type: folder
  items:
  - info:
      name: List all datasets.
      type: http
    http:
      method: GET
      url: https://openpaymentsdata.cms.gov/api/1/metastore/schemas/dataset/items?page-size=10
    docs: Lists DCAT-US metadata for every Open Payments dataset. No authentication required.
  - info:
      name: Get a dataset with reference ids.
      type: http
    http:
      method: GET
      url: https://openpaymentsdata.cms.gov/api/1/metastore/schemas/dataset/items/:datasetId?show-reference-ids
      params:
      - name: datasetId
        value: 0380bbeb-aea1-58b6-b708-829f92a48202
        type: path
        description: The dataset UUID.
    docs: Returns one dataset's metadata; show-reference-ids resolves the distribution identifier used to query the data.
- info:
    name: Search
    type: folder
  items:
  - info:
      name: Search datasets.
      type: http
    http:
      method: GET
      url: https://openpaymentsdata.cms.gov/api/1/search?fulltext=general&keyword=2021&page-size=10
      params:
      - name: fulltext
        value: general
        type: query
        description: Free-text search string.
      - name: keyword
        value: '2021'
        type: query
        description: Keyword facet, such as a program year.
      - name: page-size
        value: '10'
        type: query
        description: Results per page, max 100.
    docs: Full-text and faceted search across all Open Payments datasets.
- info:
    name: Datastore Query
    type: folder
  items:
  - info:
      name: Query a dataset distribution (GET).
      type: http
    http:
      method: GET
      url: https://openpaymentsdata.cms.gov/api/1/datastore/query/:datasetId/:index?limit=10&offset=0
      params:
      - name: datasetId
        value: 0380bbeb-aea1-58b6-b708-829f92a48202
        type: path
        description: The dataset UUID (2021 General Payment Data).
      - name: index
        value: '0'
        type: path
        description: The zero-based distribution index.
      - name: limit
        value: '10'
        type: query
        description: Maximum rows to return.
      - name: offset
        value: '0'
        type: query
        description: Rows to skip for pagination.
    docs: Returns a page of payment rows plus the total count, column schema, and echoed query.
  - info:
      name: Query a dataset distribution (POST).
      type: http
    http:
      method: POST
      url: https://openpaymentsdata.cms.gov/api/1/datastore/query/:datasetId/:index
      params:
      - name: datasetId
        value: 0380bbeb-aea1-58b6-b708-829f92a48202
        type: path
        description: The dataset UUID.
      - name: index
        value: '0'
        type: path
        description: The zero-based distribution index.
      body:
        type: json
        data: "{\n  \"conditions\": [\n    { \"property\": \"recipient_state\", \"value\": \"CA\", \"operator\": \"=\" }\n\
          \  ],\n  \"properties\": [\"covered_recipient_npi\", \"total_amount_of_payment_usdollars\"],\n  \"sorts\": [ { \"\
          property\": \"total_amount_of_payment_usdollars\", \"order\": \"desc\" } ],\n  \"limit\": 25,\n  \"offset\": 0\n\
          }"
    docs: Structured JSON query with conditions, column selection, sorting, and pagination.
  - info:
      name: Download query results as CSV.
      type: http
    http:
      method: GET
      url: https://openpaymentsdata.cms.gov/api/1/datastore/query/:datasetId/:index/download?format=csv
      params:
      - name: datasetId
        value: 0380bbeb-aea1-58b6-b708-829f92a48202
        type: path
        description: The dataset UUID.
      - name: index
        value: '0'
        type: path
        description: The zero-based distribution index.
      - name: format
        value: csv
        type: query
        description: 'Output format: csv or json.'
    docs: Streams the query results as a downloadable CSV or JSON file.
- info:
    name: Datastore SQL
    type: folder
  items:
  - info:
      name: Run a SQL query.
      type: http
    http:
      method: GET
      url: https://openpaymentsdata.cms.gov/api/1/datastore/sql?query=[SELECT * FROM resource-id][LIMIT 10];
      params:
      - name: query
        value: '[SELECT * FROM resource-id][LIMIT 10];'
        type: query
        description: SQL query referencing a datastore resource by id.
    docs: Runs a SQL-style query against a datastore resource. Returns HTTP 400 if the query parameter is missing.
bundled: true