Supergood | Kareo API

Supergood | Kareo API

Programmatically access patients, appointments, eligibility checks, claim submission, and ERA remittance workflows in Kareo (by Tebra) with a stable REST API. Supergood builds and operates production-grade, unofficial Kareo integrations so your team can automate billing and practice management without heavy custom engineering.

In plain English: Kareo is software that helps independent medical practices run their day-to-day operations—scheduling, charting, billing, insurance claims, and payments. An unofficial API lets you create/update patient records, schedule appointments, verify insurance eligibility, assemble professional claims (837P), and reconcile payments from ERAs—all from code.

If you're a healthcare tech startup building for providers, billing teams, or practice management, integrating with Kareo unlocks practical data flows and features. You can pull patient demographics, appointments, encounters and charges, payer/plan details, claim statuses, and remittance summaries; push new patients and scheduled visits, eligibility requests, charges/superbills, and claim submissions; and build automation like eligibility-aware scheduling, claim generation, submission tracking, and revenue reconciliation.

  • Pull: Patient profiles, insurance policies, appointment calendars, superbills/encounters, claim statuses, ERAs/835 remittances, payer plans and service codes
  • Push: New/updated patients from your EHR, scheduled appointments, eligibility requests, charge capture/superbills, professional claims, patient statement flags
  • Build: Eligibility-aware scheduling, automated claim assembly (837P) from encounters, payment posting and reconciliation dashboards driven by ERA data

What is Kareo?

Kareo (now part of Tebra) provides cloud-based practice management, EHR, and billing/RCM solutions for independent medical practices and billing companies. Its workflows span patient intake, appointment scheduling, encounter documentation and charge capture, claims submission to clearinghouses, ERA payment posting, and patient billing.

Core product areas include:

  • Practice management (patients, providers, appointments, locations)
  • EHR and encounters (diagnoses, procedures, superbills)
  • Billing and claims (837P, payer routing, claim status tracking)
  • Clearinghouse and remittances (ERA/835 payment posting, adjustments)
  • Insurance eligibility and verification
  • Patient payments and statements

Common data entities:

  • Patients and guarantors
  • Providers and locations
  • Appointments and schedules
  • Encounters/Superbills (diagnosis and procedure codes)
  • Claims (837P professional, service lines)
  • Payers and insurance policies
  • ERAs/835 remittances and payment postings
  • Tasks, notes, and attachments (documents)

The Kareo Integration Challenge

Organizations rely on Kareo daily, but turning portal-based PM/RCM workflows into automated pipelines is hard:

  • Clearinghouse nuances: Eligibility queries, 837 submissions, and 835/ERA ingestion have payer-specific rules and timing windows
  • Strong enterprise security: SSO/MFA and network controls complicate headless automation
  • Portal-first delivery: Many claim and payment artifacts live behind web apps or batch files rather than unified public APIs
  • Coding and compliance: Accurate ICD-10/CPT coding, POS, modifiers, and NPI data are essential to avoid denials; edits must preserve audit trails
  • Data silos across modules: Patients, appointments, encounters, claims, and ERAs are interdependent but surfaced in separate UI flows

How Supergood Creates Kareo APIs

Supergood reverse-engineers authenticated browser flows, batch interfaces, and network interactions to deliver a resilient API endpoint layer.

  • Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
  • Maintains session continuity with automated refresh and change detection
  • Normalizes patient, appointment, encounter, claim, and ERA objects so you can integrate once across practices and payers
  • Aligns with customer entitlements and licensing constraints to ensure compliant access
  • Bridges clearinghouse submissions and ERA retrieval with signed URL delivery where applicable

Use Cases

EHR-to-PM Synchronization

  • Push patient demographics from your EHR into Kareo and keep insurance policies current
  • Create appointments automatically from your scheduling system with provider/location context
  • Maintain a single source of truth for patient and guarantor data

Eligibility-Aware Scheduling and Intake

  • Trigger real-time eligibility checks during appointment creation
  • Surface copay, coinsurance, and plan limits to front-desk staff
  • Prevent scheduling for inactive policies and reduce downstream denials

Claim Generation and Submission

  • Assemble professional claims (837P) from encounters/superbills with correct ICD-10/CPT, modifiers, POS, and NPIs
  • Route submissions to your configured clearinghouse
  • Track claim acknowledgments and status changes

Payments and ERA Reconciliation

  • Pull ERA/835 summaries and post payments/adjustments
  • Identify patient responsibility and secondary billing needs
  • Reconcile provider-level performance and aging with real payment data

Available Endpoints

Authentication

POST /sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/sessions \
  --header 'Authorization: Basic <Base64 encoded token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "username": "[email protected]",
    "password": "<password>",
    "mfa": {
      "type": "totp",
      "code": "123456"
    }
  }'

Example response

{
  "authToken": "eyJhbGciOi...",
  "expiresIn": 3600,
  "user": {
    "id": "u_102ab9",
    "name": "PM Admin",
    "entitlements": ["practice_management", "billing", "claims"]
  }
}

Patients

GET /patients: Retrieve patient records with insurance and guarantor details. Use filters for precise roster sync.

Query parameters

  • mrn: string
  • lastName: string
  • dateOfBirth: ISO 8601 date
  • payerId: string
  • activeOn: ISO 8601 date

Example response

{
  "items": [
    {
      "patientId": "pt_8f31c2",
      "mrn": "MRN-20491",
      "firstName": "Ariana",
      "lastName": "Lopez",
      "dateOfBirth": "1990-05-18",
      "sex": "F",
      "phone": "+1-310-555-0191",
      "email": "[email protected]",
      "address": {
        "line1": "210 Ocean Ave",
        "city": "Santa Monica",
        "region": "CA",
        "postalCode": "90401"
      },
      "primaryInsurance": {
        "payerId": "payer_blueshield_ca",
        "planName": "Blue Shield PPO",
        "memberId": "BSCA1234567",
        "groupNumber": "G-77821",
        "copay": 30.0,
        "deductibleRemaining": 450.0,
        "status": "active"
      },
      "secondaryInsurance": null,
      "guarantor": {
        "name": "Ariana Lopez",
        "relationship": "self",
        "phone": "+1-310-555-0191"
      },
      "status": "active",
      "createdAt": "2026-01-15T17:42:10Z"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

Appointments

POST /appointments: Create or update an appointment. Optionally trigger an eligibility check for the selected policy.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/appointments \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "patientId": "pt_8f31c2",
    "providerId": "prv_22c91e",
    "locationId": "loc_westla",
    "appointmentType": "Established Patient Visit",
    "start": "2026-01-28T17:00:00Z",
    "end": "2026-01-28T17:20:00Z",
    "reason": "Follow-up hypertension",
    "insurancePolicyId": "pol_9d22ac",
    "verifyEligibility": true,
    "referenceId": "scheduler-evt-44121"
  }'

Example response

{
  "appointmentId": "appt_58d3e0",
  "status": "scheduled",
  "eligibility": {
    "verified": true,
    "copay": 30.0,
    "coinsurance": 0.2,
    "planLimitations": ["Annual physical not covered"]
  },
  "createdAt": "2026-01-24T09:05:11Z",
  "referenceId": "scheduler-evt-44121"
}

Claims

POST /claims: Assemble an 837P professional claim from encounters/superbills. Supergood normalizes service lines and can route the generated file to the configured clearinghouse.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/claims \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "claimType": "837P",
    "payerId": "payer_blueshield_ca",
    "billingProvider": {
      "npi": "1234567890",
      "taxId": "94-1234567",
      "name": "West LA Family Clinic",
      "billingAddress": {
        "line1": "100 Main St",
        "city": "Los Angeles",
        "region": "CA",
        "postalCode": "90024"
      }
    },
    "renderingProvider": {"npi": "1098765432"},
    "patient": {"patientId": "pt_8f31c2"},
    "insurancePolicyId": "pol_9d22ac",
    "diagnosisCodes": ["I10", "E78.5"],
    "serviceLines": [
      {
        "cptCode": "99213",
        "modifiers": ["25"],
        "units": 1,
        "chargeAmount": 125.00,
        "pos": "11",
        "dosStart": "2026-01-28",
        "dosEnd": "2026-01-28",
        "diagnosisPointers": [1]
      }
    ],
    "submissionChannel": "clearinghouse",
    "referenceId": "claim-batch-jan28"
  }'

Example response

{
  "claimId": "clm_71af2b",
  "status": "queued",
  "edi": {"format": "837P", "size": 48721},
  "submissionChannel": "clearinghouse",
  "createdAt": "2026-01-28T18:05:42Z",
  "reviewUrl": "https://download.kareo.example/signed/abc123...",
  "referenceId": "claim-batch-jan28"
}

Remittances (ERA)

GET /remittances: Retrieve ERA/835 remittance summaries and claim-level payments/adjustments. Use this to post payments and reconcile A/R.

Query parameters

  • payerId: string
  • claimId: string
  • checkDateFrom: ISO 8601 date
  • checkDateTo: ISO 8601 date

Example response

{
  "items": [
    {
      "eraId": "era_33aa91",
      "payerId": "payer_blueshield_ca",
      "checkNumber": "101992",
      "checkDate": "2026-02-02",
      "totalPaid": 92.00,
      "claims": [
        {
          "claimId": "clm_71af2b",
          "patientId": "pt_8f31c2",
          "status": "paid",
          "totalBilled": 125.00,
          "totalPaid": 92.00,
          "patientResponsibility": 33.00,
          "adjustments": [
            {"reasonCode": "CO-45", "amount": 33.00, "remarkCode": "N620"}
          ],
          "lineItems": [
            {"cptCode": "99213", "paidAmount": 92.00, "units": 1}
          ]
        }
      ]
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

Get full API Specs →


Technical Specifications

  • Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
  • Response format: JSON with consistent resource schemas and pagination
  • Rate limits: Tuned for enterprise throughput while honoring licensing and usage controls
  • Session management: Automatic reauth and cookie/session rotation with health checks
  • Data freshness: Near real-time retrieval of patients, appointments, claims, and ERA artifacts
  • Security: Encrypted transport, scoped tokens, and audit logging; respects Kareo/Tebra entitlements and compliance requirements
  • Webhooks: Optional asynchronous delivery for eligibility, claim submission, and remittance updates

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load
  • Throughput: Designed for high-volume scheduling, eligibility, and claims pipelines
  • Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
  • Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates

Getting Started

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your Kareo product mix, licensing, and authentication model.

  1. Supergood Builds and Validates Your API

We deliver a hardened Kareo adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as Kareo evolves.

Schedule Integration Call →


Frequently Asked Questions

Q: Which Kareo products can this integration cover?

Supergood supports workflows across commonly used Kareo/Tebra practice management, EHR, and billing modules, subject to your licensing and entitlements. We scope coverage (e.g., patients, appointments, encounters/superbills, claims, ERAs) during integration assessment.

Q: How are MFA, SSO, and clearinghouse interfaces handled for automation?

We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth when enabled. For clearinghouse flows, we generate 837P files, manage submission timing windows, and retrieve ERA signed URLs or artifacts programmatically.

Q: Can I generate claims directly from encounters/superbills?

Yes. You can assemble 837P from encounters with accurate ICD-10/CPT, modifiers, POS, and NPIs. We route submissions via your configured channel and return statuses and artifacts for reconciliation.



Ready to automate your Kareo workflows?

Supergood can have your Kareo integration live in days with no ongoing engineering maintenance.

Get Started →

Read more