Simple, well-documented

A clean REST interface over the DDSINTEL provider graph — but access is restricted. If you're a developer or software vendor building for dental, request an evaluation key below.

BASE URL https://api.ddsintel.com

Authentication

All API requests must include a Bearer token in the Authorization header. Keys are issued per organization and scoped to specific endpoints. Sandbox keys begin with ddi_sandbox_ and production keys with ddi_live_.

Restricted access. API keys are provisioned manually after access review. Do not expose production keys in client-side code — always proxy through your own backend. Rotate keys if you suspect compromise.

Quickstart

Three ways to make your first request against the search endpoint.

curl -X POST https://api.ddsintel.com/v1/providers/search \
  -H "Authorization: Bearer ddi_live_••••" \
  -H "Content-Type: application/json" \
  -d '{"state":"FL","risk_min":60,"limit":50}'

Try it

Edit the request body and hit Send. Responses come from sandbox fixtures — no live calls are made. Select a different endpoint from the sidebar to switch the explorer.

POST /v1/providers/search

Search Providers

Query the provider graph by state, risk, tech stack, specialty, or freeform filters.

Parameters
Name Type Description
state string | string[] Two-letter state code, e.g. 'FL' or ['FL','GA'].
risk_min number Minimum composite risk score (0–100).
risk_max number Maximum composite risk score (0–100).
specialty string[] e.g. ['Endodontics','Pediatric'].
pms string[] Practice-management system, e.g. ['Dentrix','Open Dental'].
signals string[] Signal types to filter by, e.g. ['new_entity','permit'].
limit number Max results to return. Default 100, max 1000.
cursor string Pagination cursor from previous response.
Authentication
Sandbox mode • read-only demo key
Request Body
Responses are served from sandbox fixtures. No live calls.

Rate Limits

Limits apply per API key. When exceeded, the API returns 429 Too Many Requests with a Retry-After header. Contact us to discuss custom limits.

Tier Per Minute Per Day Concurrent Notes
Evaluation 60 5,000 2 Sandbox only, 30-day window.
Production 600 100,000 10 Default for new customers.
Scale 3,000 1,000,000 50 By contract, volume discounts available.
Enterprise Custom Custom Custom Dedicated edge shards, SLA.

Error Codes

The API uses conventional HTTP status codes. Error responses include a JSON body with error (machine-readable) and message (human-readable) fields.

400 Bad Request

Your request was malformed. See the response body for details.

401 Unauthorized

API key is missing or invalid.

403 Forbidden

The key is valid but lacks permission for this endpoint.

404 Not Found

The requested resource does not exist or you cannot access it.

409 Conflict

Idempotency key mismatch or resource version conflict.

422 Unprocessable

Request body was valid JSON but failed validation.

429 Too Many Requests

You have exceeded your rate limit. Check the Retry-After header.

500 Server Error

Something went wrong on our end. Retries with backoff are safe.

503 Service Unavailable

The service is temporarily unavailable. Retry with exponential backoff.

Request an evaluation key

Tell us what you're building and how you'd use the data. We review applications within 2 business days. Sandbox access is complimentary for 30 days.

[email protected]