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.

Open Dental API Getting Started

API & Integrations3 min read4/19/2026

The Open Dental API allows third-party software to securely read from and write to your practice's database. Whether you are looking to sync patient information with a specialized marketing tool, automate appointment reminders, or pull custom reports, the API provides the bridge between your practice management software and external applications.

Prerequisites

Before you can begin, you must ensure your office meets the technical requirements for secure data communication:

  1. eConnector: Your office must have the Open Dental eConnector service installed and running on the server. This service acts as the secure gateway for all API traffic.
  2. API Access: You must enable the API within your software. Go to Setup > Advanced Setup > API and check the Enabled box.
  3. Developer Portal Access: If you are a developer, you must obtain a Developer API Key by contacting vendor.relations@opendental.com. You will use this key to access the Open Dental Developer Portal, where you can generate and manage Customer API Keys for specific offices.
  4. Pricing Tiers: Depending on the data you need to access (such as insurance, documents, or custom queries), you may need to subscribe to a specific API pricing tier.

Implementation

The Open Dental API uses standard RESTful principles. All requests require an Authorization header containing your Developer Key and the specific Customer Key.

The base URL for all requests is: https://{serverIP}:{port}/api/v1/

Here is a simple example using Node.js to fetch a list of patients:

const axios = require('axios');

// Replace with your actual keys and server details
const developerKey = 'YOUR_DEVELOPER_KEY';
const customerKey = 'YOUR_CUSTOMER_KEY';
const baseUrl = 'https://api.opendental.com/api/v1/'; 

async function getPatients() {
  try {
    const response = await axios.get(`${baseUrl}patients`, {
      headers: {
        'Authorization': `ODFHIR ${developerKey}/${customerKey}`,
        'Content-Type': 'application/json'
      }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error fetching patients:', error.response ? error.response.data : error.message);
  }
}

getPatients();

Common Errors

When working with the API, you may encounter standard HTTP status codes. Here is how to interpret the most common ones:

Limitations

To maintain system stability and security, the API has specific constraints:

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.