opendentalsupport.com is an independent community resource. We are NOT affiliated with, endorsed by, or sponsored by Open Dental Software, Inc. Open Dental® is a registered trademark of Open Dental Software, Inc.

Reading Patient Data via Open Dental API

API & Integrations3 min read4/18/2026

You need to pull patient information into an external dashboard, custom reporting tool, or a third-party application to streamline your practice workflows. Using the open dental API read patient data functionality allows you to securely access records like names, contact details, and balances without manually exporting reports or risking database corruption.

Prerequisites

Before you can begin, you must ensure your environment is configured correctly.

  1. Developer Portal Access: You must have a developer account with Open Dental. Contact vendor.relations@opendental.com to request access.
  2. API Keys: You need two keys: a Developer API Key (provided by the portal) and a Customer API Key (generated in the portal and added to the practice's Open Dental software).
  3. eConnector: For remote access, the practice must have the eConnector service installed and running on their server.
  4. API Setup: In the practice's Open Dental software, go to Setup > Advanced Setup > API. Ensure the "Enabled" checkbox is checked and your Customer API Key is added here.
  5. Permissions: Ensure your API key has the necessary permissions (e.g., Patients read access) granted in the Developer Portal.

Implementation

The Open Dental API uses standard HTTP requests. You will need to include your keys in the Authorization header.

Authentication Header Format

The header must be formatted as: Authorization: ODFHIR {DeveloperKey}/{CustomerKey}.

Example: Fetching a List of Patients (Node.js)

This example uses the fetch API to retrieve a list of patients.

const developerKey = 'YOUR_DEVELOPER_KEY';
const customerKey = 'YOUR_CUSTOMER_KEY';
const baseUrl = 'https://api.opendental.com/api/v1';

async function getPatients() {
  const response = await fetch(`${baseUrl}/patients`, {
    method: 'GET',
    headers: {
      'Authorization': `ODFHIR ${developerKey}/${customerKey}`,
      'Content-Type': 'application/json'
    }
  });

  if (!response.ok) {
    throw new Error(`Error: ${response.status}`);
  }

  const data = await response.json();
  console.log(data);
}

getPatients();

Common Errors

Limitations

Don't want to build your own dashboard? DentalCanvas already connects to your Open Dental data and shows you everything in a visual interface.


This article is provided by opendentalsupport.com, an independent community resource. We are not affiliated with Open Dental Software, Inc.

Skip the API. Get a Dashboard.

Why build a custom integration when DentalCanvas already reads your Open Dental data and shows you everything in a visual dashboard?

Try DentalCanvas

Was this article helpful?

Related Articles

opendentalsupport.com is an independent community resource. We are NOT affiliated with, endorsed by, or sponsored by Open Dental Software, Inc. Open Dental® is a registered trademark of Open Dental Software, Inc.