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
}
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
- Schedule Integration Assessment
Book a 30-minute session to confirm your Kareo product mix, licensing, and authentication model.
- Supergood Builds and Validates Your API
We deliver a hardened Kareo adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as Kareo evolves.
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.
Related Integrations
Intralinks API - Programmatically access the Intralinks VDR with Supergood
Ready to automate your Kareo workflows?
Supergood can have your Kareo integration live in days with no ongoing engineering maintenance.