Primary source provider credential data.

Delivered via API, flat files, and MCP server.

Embed primary source credential data into your credentialing platform, automate verification workflows, power AI assistants with trusted provider data, or receive structured flat file exports on your schedule. Baton's API is backed by direct connections to 200+ primary sources across all 50 states.

The API

One query. Primary-source-verified provider profiles.

Query by NPI, name, state, or specialty. Every result is sourced directly from state boards, DEA, OIG, and SAM, not from a third-party aggregator. Paginated, filterable, and production-ready.

Request
query FindPractitioners {
  findPractitioners(input: {
    firstName: "Sarah"
    lastName: "Chen"
    licenseStates: ["CA", "NY"]
    practitionerTypes: ["MD"]
    pagination: { take: 25, skip: 0 }
  }) {
    items {
      id
      npi
      fullName
      practitionerType
      licenses {
        licenseNumber
        licenseState
        status
        expirationDate
      }
    }
    hasNextPage
  }
}
Response
{
  "data": {
    "findPractitioners": {
      "items": [
        {
          "id": "a1b2c3d4-...",
          "npi": "1234567890",
          "fullName": "Sarah J. Chen",
          "practitionerType": "MD",
          "licenses": [
            {
              "licenseNumber": "A-123456",
              "licenseState": "CA",
              "status": "active",
              "expirationDate": "2026-06-30"
            },
            {
              "licenseNumber": "MD-789012",
              "licenseState": "NY",
              "status": "active",
              "expirationDate": "2027-01-15"
            }
          ]
        }
      ],
      "hasNextPage": true
    }
  }
}

Endpoints

Available endpoints

Full CRUD operations for practitioners, licenses, rosters, and verifications.

QUERY
findPractitioners Metered

Search practitioners by name, NPI, specialty, state, and provider type. Returns full license profiles.

QUERY
findLicenses Metered

Search licenses by NPI, license number, or state. Returns status, expiration, board actions, and more.

QUERY
getRosters

List all rosters in your organization. Returns roster names, creation dates, and item counts.

QUERY
getRosterItems

Paginate through practitioners and licenses in a roster. Supports pagination up to 100 items per page.

MUTATION
createRoster

Create a new roster to organize monitored providers.

MUTATION
createRosterItem

Add a practitioner-license pair to a roster for ongoing monitoring.

MUTATION
createPractitionerVerification Metered

Generate a point-in-time credential verification with downloadable PDF.

QUERY
getPractitionerVerifications

Retrieve verification history for a practitioner with date filtering and pagination.

Authentication

Bearer token authentication via AWS Cognito. API credentials are provisioned per-organization with the PUBLIC_API billing plan.

Authorization: Bearer <token>

Rate Limits

Generous limits designed for production integrations. Need higher throughput? Contact us.

Short 3 req/sec
Medium 20 req/10s
Long 100 req/min

Usage-based Billing

Pay for what you use. Search queries and verifications are metered. Roster operations are free.

Practitioner search Metered
License search Metered
Verification Metered
Roster operations Free

Integration

Works with your stack and your existing credentialing systems

Standard GraphQL over HTTPS. Works alongside existing credentialing platforms, CVOs, and outsourced workflows. Use any language or framework, or receive data as a scheduled flat file if your team doesn't use an API.

Node.js
import { GraphQLClient } from 'graphql-request'

const client = new GraphQLClient(
  'https://api.batonhealth.com/graphql',
  { headers: { authorization: `Bearer ${token}` } }
)

const data = await client.request(
  FIND_PRACTITIONERS,
  { input: { npi: '1234567890' } }
)
Python
import requests

resp = requests.post(
  'https://api.batonhealth.com/graphql',
  json={
    'query': FIND_PRACTITIONERS,
    'variables': {
      'input': { 'npi': '1234567890' }
    }
  },
  headers={
    'Authorization': f'Bearer {token}'
  }
)
data = resp.json()

Access Modes

Access Baton Your Way

Web App

Search, monitor, verify, and export directly from the Baton platform.

GraphQL API

Programmatic access for credentialing platforms, product teams, and custom integrations.

Flat Files

Scheduled structured exports for payer data operations, data warehouses, and batch-processing workflows.

MCP Server

Model Context Protocol support for AI assistants and agentic credentialing workflows, with Baton providing the trusted, normalized primary source data layer.

Get Started

Ready to integrate, or just want to see the data?

Start with a demo or request API credentials. Our team supports enterprise integrations, custom delivery formats, and production onboarding. Dedicated integration support included for enterprise partners.