drchrono.com
drchrono · Company
This document is intended as a detailed reference for the precise behavior of the drchrono API. If this is your first time using the API, start with our tutorial . If you are upgrading from a previous version, take a look at the changelog section. # Authorization ## Initial authorization There are three main steps in the OAuth 2.0 authentication workflow: 1. Redirect the provider to the authorization page. 2. The provider authorizes your application and is
Authentication
Sample Requests
Retrieve or search patient allergies
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/allergies?cursor=example&doctor=1&patient=1&page_size=10"
import requests
params = {
"cursor": "example",
"doctor": "1",
"patient": "1",
"page_size": "10"
}
response = requests.get(
"https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/allergies",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/allergies');
url.searchParams.set('cursor', 'example');
url.searchParams.set('doctor', '1');
url.searchParams.set('patient', '1');
url.searchParams.set('page_size', '10');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/allergies")
q := baseURL.Query()
q.Set("cursor", "example")
q.Set("doctor", "1")
q.Set("patient", "1")
q.Set("page_size", "10")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/allergies")
uri.query = URI.encode_www_form({
"cursor" => "example",
"doctor" => "1",
"patient" => "1",
"page_size" => "10"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/allergies?" . http_build_query([
"cursor" => "example",
"doctor" => "1",
"patient" => "1",
"page_size" => "10"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Retrieve or search patient amendments. You can only interact with amendments created by your API application
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/amendments?cursor=example&doctor=1&patient=1&page_size=10&appointment=1"
import requests
params = {
"cursor": "example",
"doctor": "1",
"patient": "1",
"page_size": "10",
"appointment": "1"
}
response = requests.get(
"https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/amendments",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/amendments');
url.searchParams.set('cursor', 'example');
url.searchParams.set('doctor', '1');
url.searchParams.set('patient', '1');
url.searchParams.set('page_size', '10');
url.searchParams.set('appointment', '1');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/amendments")
q := baseURL.Query()
q.Set("cursor", "example")
q.Set("doctor", "1")
q.Set("patient", "1")
q.Set("page_size", "10")
q.Set("appointment", "1")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/amendments")
uri.query = URI.encode_www_form({
"cursor" => "example",
"doctor" => "1",
"patient" => "1",
"page_size" => "10",
"appointment" => "1"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/amendments?" . http_build_query([
"cursor" => "example",
"doctor" => "1",
"patient" => "1",
"page_size" => "10",
"appointment" => "1"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Retrieve or search appointment profiles for a doctor's calendar
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/appointment_profiles?cursor=example&doctor=1&page_size=10"
import requests
params = {
"cursor": "example",
"doctor": "1",
"page_size": "10"
}
response = requests.get(
"https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/appointment_profiles",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/appointment_profiles');
url.searchParams.set('cursor', 'example');
url.searchParams.set('doctor', '1');
url.searchParams.set('page_size', '10');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/appointment_profiles")
q := baseURL.Query()
q.Set("cursor", "example")
q.Set("doctor", "1")
q.Set("page_size", "10")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/appointment_profiles")
uri.query = URI.encode_www_form({
"cursor" => "example",
"doctor" => "1",
"page_size" => "10"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/drchrono.com/v4 (Hunt Valley)/api/appointment_profiles?" . http_build_query([
"cursor" => "example",
"doctor" => "1",
"page_size" => "10"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with drchrono.com?
drchrono.com is a Company API. Developers commonly use company APIs for:
- enriching CRM records with company firmographics
- building lead-generation and prospecting tools
- verifying business identity and registration details
- monitoring competitors and market intelligence
- powering B2B data enrichment pipelines
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. drchrono.com is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?