Engineering
11 min readJanuary 26, 2026

DrChrono REST API: Scheduling and Patient Automation

DrChrono's REST API grants small-to-mid practices direct access to scheduling, patient demographics, and limited billing data -- but scattered documentation and inconsistent capability depth create...

Manav Gupta
Jan 26, 2026
On This Page

DrChrono's REST API grants small-to-mid practices direct access to scheduling, patient demographics, and limited billing data -- but scattered documentation and inconsistent capability depth create confusion. This guide maps exactly what automates, where limitations exist, and how to architect integration workflows. For more on this topic, see our guide on EHR integration for practice operations.

DrChrono's Position in the EHR Market

DrChrono captures approximately 2.3% of the U.S. EHR market, concentrated in independent practices, urgent care, and telehealth operations (MGMA 2024 EHR Survey). Unlike enterprise vendors who restrict third-party access, DrChrono positions its REST API as a competitive differentiator for independent providers seeking workflow automation. However, API maturity varies across modules -- scheduling is strong; clinical documentation access remains read-only and fragmented.

DrChrono REST API: Architecture and Access Model

Authentication and Developer Credentials

DrChrono uses OAuth 2.0 with bearer token authentication. Practice managers or IT teams request API credentials through the DrChrono developer portal, generating a client ID, client secret, and redirect URI. Tokens expire after 3600 seconds (1 hour); implement refresh token logic for sustained integrations. Rate limiting applies at 1,000 requests per minute per API key -- sufficient for most small practices but requires batching for bulk operations.

Rate Limits and Pagination

Endpoint CategoryRequests/MinuteBatch LimitPagination
Scheduling1,00050 appointments/callCursor-based (next_token)
Patient Demographics1,000100 patients/callOffset-based
Insurance50025 records/callOffset-based
Clinical Documents30010 documents/callCursor-based
Billing/Claims2005 claims/callOffset-based

When building integrations, account for these thresholds. A bulk patient import of 5,000 records requires 50 API calls to the demographics endpoint -- achievable in 4 seconds at full rate but best spread over 5-10 minutes to avoid transient failures.

What DrChrono's API Can Automate

1. Appointment Scheduling (Yes, with Caveats)

Capability: Create, read, update, and cancel appointments via the `/appointments/` endpoint. Query by provider, date range, appointment type, and status.

Real-world uses:

  • Sync appointments from external schedulers (Calendly, practice website booking)
  • Bulk reschedule when providers block time
  • Trigger downstream workflows (send pre-visit questionnaires)
  • Query no-show data for retention campaigns

Limitations:

  • Cannot programmatically create recurring appointment blocks (e.g., provider templates). Use the UI.
  • Appointment type and reason codes are hardcoded in your instance; creating new types requires manual configuration.
  • No direct integration with insurance pre-authorization status; you must query separately.
  • Availability query doesn't return real-time slot counts -- only existing appointments. Availability logic must live in your integration.

Code example: Create a POST request to `/appointments/` with payload:

json { "patient": 12345, "provider": 67890, "appointment_type": 1, "appointment_reason": "Follow-up", "start_time": "2026-04-15T14:00:00Z", "end_time": "2026-04-15T14:30:00Z", "notes": "Pre-visit questionnaire sent" }

2. Patient Demographics and Contact (Yes, Mostly Complete)

Capability: Full CRUD on patient records via `/patients/` endpoint. Fields include:

  • Name, date of birth, gender, address, phone, email
  • Social security number (read only for compliance)
  • Emergency contacts
  • Preferred language and communication method
  • Custom fields (if configured in your instance)

Real-world uses:

  • Bulk import patient rosters from legacy EMRs during migration
  • Sync patient contact updates from external CRM platforms
  • Trigger engagement workflows when contact info changes
  • Export patient lists for HIPAA-compliant population health analysis

Limitations:

  • Patient photos/documents cannot be uploaded via API (UI upload only).
  • Custom fields supported but must be pre-configured in DrChrono; API cannot create new field definitions.
  • No batch delete; each patient deletion requires individual API call (rare use case).

Data integrity note: DrChrono enforces field validation (email format, phone format). Invalid requests return 400 Bad Request. Implement request validation on your side to avoid failed batch imports.

3. Insurance Information (Partial)

Capability: Read insurance records, insurance types, and verification status via `/patient_insurances/` endpoint. Limited write capability.

Real-world uses:

  • Query insurance eligibility status before appointments
  • Pull insurance cards for prior authorization workflows
  • Export insurance data for revenue cycle audits
  • Sync insurance changes from patient portals or intake forms

Limitations:

  • Cannot write insurance information via API. Insurance must be entered in UI or imported via bulk file upload.
  • No real-time eligibility verification (no 270/271 EDI transaction support).
  • No direct integration with clearinghouses or third-party insurance verification services.
  • Insurance type and plan codes are limited to DrChrono's internal taxonomy.

Workaround: Many practices pair DrChrono API reads with dedicated insurance verification platforms (e.g., VeriFacts, Optum) to achieve real-time eligibility. Cevi's platform bridges this gap via integration adapters.

4. Clinical Documentation (Read-Only, Fragmented)

Capability: Read clinical notes, vital signs, and structured data via `/clinical_documents/`, `/vitals/`, and `/lab_results/` endpoints. Documentation retrieval is available but inconsistent.

Real-world uses:

  • Export clinical notes for archival or audit purposes
  • Pull vitals and lab results for chronic disease management programs
  • Trigger downstream alerts (e.g., "abnormal result notification")
  • Feed data into secondary analytics platforms

Limitations:

  • Write access is extremely limited. Cannot create or edit clinical notes programmatically. New documentation requires provider entry in UI.
  • Unstructured note text returned as plain text; no discrete data extraction (no structured allergies, medications parsed out).
  • Lab result imports require manual file upload or ELR integration (separate requirement).
  • No access to problem list, medication list, or allergy list as discrete API objects. Must scrape from note text.

Critical gap: DrChrono does not support FHIR R4 natively. You cannot request clinical data in FHIR ClinicalDocument or Observation format. This complicates healthcare data exchange workflows and creates friction with larger health systems requiring FHIR compliance. For more on this topic, see our guide on athenahealth API capabilities.

5. Billing and Claims (Limited)

Capability: Read encounter data, charges, and claim status via `/encounters/` and `/claims/` endpoints.

Real-world uses:

  • Monitor claim submission status
  • Query daily revenue reports by provider or service code
  • Export charge data for accounting system integration
  • Track denied claims for follow-up

Limitations:

  • Cannot create or modify charges via API. Charges must be posted in the clinical interface.
  • No write access to claim submissions. Claim submission requires manual UI action or third-party clearinghouse integration.
  • Claim status limited to basic codes (submitted, accepted, paid, denied, pending). Cannot access payer-specific adjudication details.
  • No API access to copay/coinsurance collection tracking.

Compliance note: 21st Century Cures Act (2020) mandates EHRs provide API access to structured clinical and claims data at no additional cost. DrChrono's billing API partially satisfies this -- read access is free, but limitations on write and granular status data require workarounds.

DrChrono API Endpoint Reference Table

EndpointHTTP MethodsCapability LevelRate LimitTypical Use Case
`/appointments/`GET, POST, PUT, DELETEHigh1,000/minSchedule management, no-show tracking
`/patients/`GET, POST, PUTHigh1,000/minRoster import, demographic sync
`/patient_insurances/`GETPartial500/minInsurance eligibility query
`/providers/`GETFull read1,000/minProvider list, availability
`/clinical_documents/`GETLow300/minNote export, audit trail
`/vitals/`GETLow300/minVital sign export, population health
`/lab_results/`GETLow300/minLab result tracking
`/encounters/`GETPartial500/minCharge capture, revenue reporting
`/claims/`GETPartial200/minClaim status, denial tracking
`/appointments/availability/`GETFull read1,000/minQuery open slots (with custom logic)

Common Integration Patterns

Pattern 1: Patient Portal to DrChrono Sync

Patient updates contact or insurance info in your portal. Webhook triggers API call to DrChrono `/patients/` PUT endpoint. Demographics in real-time without manual UI entry.

Best practice: Implement idempotent writes using patient ID as unique key. Retry failed calls with exponential backoff (1s, 2s, 4s).

Pattern 2: External Calendar to DrChrono

Practice wants to sync Calendly or ZoomSchedule appointments to DrChrono. Polling integration queries external calendar every 60 seconds, compares to DrChrono appointments via `/appointments/` GET, and creates missing appointments via POST.

Best practice: Use appointment external ID field to track source system records and prevent duplicates.

Pattern 3: Claim Status Dashboard

Automated job queries `/claims/` endpoint daily, pulls status changes, and publishes to practice's internal revenue dashboard.

Best practice: Store last query timestamp to only fetch updated claims (use `updated_after` parameter if available).

What DrChrono's API Cannot Do

Clinical Data Writes

You cannot programmatically create diagnoses, medications, or problem list entries. EHR liability and compliance concerns restrict clinical documentation to provider UI. Third-party clinical data must be manually reviewed and entered. For more on this topic, see our guide on eClinicalWorks integration approaches.

Real-Time Eligibility Verification

DrChrono offers no 270/271 EDI transaction support. Insurance verification requires external platforms. API returns only stored insurance records.

FHIR Compliance

No native FHIR R4 endpoint. Custom transformation logic required for health systems or payers expecting FHIR-formatted data. This is a significant limitation compared to Epic, Cerner, and newer EHRs.

Advanced Scheduling Rules

No support for double-booking, overbooking algorithms, or provider preference weighting. Complex scheduling logic must live in external systems.

Interoperability with Clearinghouses

No direct API for EDI claim submission or claims management. Your clearinghouse integration lives in the UI layer, not the API.

Building Secure Integrations: Authentication and Data Handling

OAuth 2.0 Token Management

Store client credentials in environment variables or secret management (never in code). Implement token refresh before expiry:

POST /oauth/token/ Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token&refresh_token=YOUR_REFRESH_TOKEN&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET

Rate Limit Handling

Monitor response headers for `X-RateLimit-Remaining` and `X-RateLimit-Reset`. When approaching limits, implement exponential backoff and request queuing.

HIPAA Compliance in API Usage

DrChrono encrypts data in transit (TLS 1.2+) and at rest. Your integration must:

  • Log API calls with minimal PII (hash patient IDs, redact full SSNs).
  • Implement role-based access control (RBAC) so users access only relevant data.
  • Audit all data exports; maintain audit logs for 6 years (CMS requirement).
  • Use VPCs or private endpoints if available.

Comparing DrChrono API to Competitors

vs. Epic FHIR

Epic provides complete FHIR R4 endpoints and broader clinical write capability. DrChrono's REST API is simpler but more limited. Epic suits large health systems; DrChrono suits small practices prioritizing scheduling and demographics.

vs. Cerner CareAware

Cerner offers deeper EHI exchange but requires extensive onboarding. DrChrono's API is self-service and faster to implement for basic workflows. For more on this topic, see our guide on FHIR APIs for prior authorization.

vs. Athenahealth Cloud API

Athenhealth's API is more mature and includes real-time eligibility. DrChrono is more transparent about limitations but requires external insurance verification.

Best Practices for DrChrono API Integration

  1. Map out integration scope first. Not all DrChrono features are API-enabled. Use this guide to identify gaps and plan workarounds before development.
  1. Test rate limits in staging. Batch sizes matter. Small practices rarely hit limits; multi-location groups do. Simulate peak loads.
  1. Implement full error handling. DrChrono returns standard HTTP status codes. 400 errors indicate invalid data (fix on your side); 429 errors indicate rate limit (back off); 500 errors indicate service issues (retry with backoff).
  1. Use webhooks where available. Real-time event triggers (appointment created, claim status updated) reduce polling overhead and improve latency.
  1. Version your integration code. DrChrono may deprecate endpoints. Pin API versions in your client library and monitor deprecation notices.
  1. Document custom fields. If your practice uses DrChrono custom fields, document them in your integration spec. Custom field IDs vary per instance.

Getting API Access

DrChrono does not publicly list API documentation. To request credentials:

  1. Log in to your DrChrono account.
  2. Handle to Settings > API & Integrations.
  3. Request API access. DrChrono may require account verification (active subscription, no compliance issues).
  4. Receive client ID, client secret, and endpoint URL (may be instance-specific).
  5. Use OAuth 2.0 to authenticate and start making requests.

For enterprise or high-volume integrations, contact DrChrono's business development team. Standard API access is free; high-volume rate limit increases may incur fees.

FAQ Section

Is DrChrono's API truly "open"?

Partially. DrChrono allows third-party integrations without requiring certified integration partners (unlike Epic). However, limited clinical write capability, lack of FHIR support, and scattered documentation mean "open" is relative. For scheduling and demographics automation, yes; for clinical data exchange, no.

Can I automate appointment scheduling end-to-end?

Yes, if your workflow involves transferring appointments from external calendars or bulk rescheduling. However, you cannot programmatically create new appointment types or provider availability blocks. Initial configuration requires UI access. Appointment type codes are fixed and must be known in advance.

Is patient data fully accessible via API?

Demographics, yes. Clinical data, partially (read-only). Billing data, partially (read-only with limitations). Insurance data, read-only with no write capability. No direct access to problem list or medication list as discrete objects -- you must parse clinical notes.

Does DrChrono API support FHIR R4?

No. DrChrono's REST API is proprietary JSON. No FHIR endpoints exist. If your practice needs FHIR-compliant data exchange (e.g., for health information exchange with other systems), you'll need custom transformation logic or a third-party adapter.

How do I get API access and what does it cost?

Request credentials through Settings > API & Integrations in your DrChrono account. Standard API access is included in DrChrono subscription at no additional cost. Rate limits are 1,000 requests/minute for most endpoints. Enterprise practices may negotiate higher limits.

Conclusion

DrChrono's REST API is a practical tool for automating scheduling, patient demographics, and basic revenue reporting in small-to-mid practices. Its self-service access model and straightforward OAuth authentication lower barriers to integration. However, gaps in clinical documentation, insurance verification, and FHIR compliance mean integrations often require supplementary platforms.

Before investing development resources, audit your practice's API needs against this guide. If your workflow is 80% scheduling + demographics + billing reads, DrChrono's API is sufficient. If you need clinical data exchange, real-time eligibility, or FHIR compliance, plan for external integrations or evaluate alternative EHRs.

Cevi's platform bridges many DrChrono API gaps through pre-built connectors for insurance verification, document management, and healthcare data exchange. Learn how to extend DrChrono's capabilities.

See how Cevi compares to Cevi vs Akasa, Cevi vs Infinitus, Cevi vs Zocdoc, Cevi vs Luma Health, Cevi vs Waystar, Cevi vs Cedar, Athenahealth and eClinicalWorks for prior authorization.

Frequently Asked

Common Questions

Is DrChrono's API truly open for third-party integrations?

DrChrono allows self-service API access without requiring certified integration partners, making it more open than Epic or Cerner. However, limited clinical write capability, no FHIR support, and scattered documentation qualify its openness. Scheduling and demographics automation are fully supported; clinical data exchange and real-time eligibility are not.

Can I automate appointment scheduling completely with the DrChrono API?

You can automate appointment creation, updates, and cancellation for existing appointment types and providers. However, you cannot programmatically create new appointment types, availability blocks, or provider schedules -- these require manual UI configuration. External calendar integration is fully supported via REST.

Is patient demographic and clinical data fully accessible via the API?

Demographics are fully accessible (read/write). Clinical data is read-only and fragmented -- notes export as plain text without structured extraction of diagnoses, medications, or allergies. Insurance data is read-only with no write capability. Billing data is read-only with limited claim adjudication detail.

Does the DrChrono API support FHIR R4 or healthcare interoperability standards?

No. DrChrono's API is proprietary JSON REST, not FHIR-compliant. If your practice requires FHIR data exchange for health information networks or payer integration, you'll need custom transformation logic or third-party adapters to convert DrChrono data to FHIR format.

How do I get DrChrono API access and what are the costs?

Request API credentials through Settings > API & Integrations in your DrChrono account. Standard API access is included in your subscription at no additional cost. Rate limits are 1,000 requests/minute for most endpoints. Enterprise accounts may negotiate higher limits for additional fees.

Ready to automate your practice?

BAA on all plans
SOC2 Type II security
HIPAA compliant
99.9% uptime SLA
HIPAACOMPLIANT
SOC 2TYPE II