Telehealth-first and telehealth-included doctors, found near a place or by the s
Telehealth-first and telehealth-included doctors, found near a place or by the state the patient is in (patient_state, matched to licenses on the NPI registry). Separates telehealth included in the membership, telehealth only, and in-person plus telehealth. Each result carries the practice's own wording, source page and grade. Statements are practice-level and do not prove a doctor may treat a patient in another state.
Answeringour last check, 2026-10-31
2 of 2checks answered this week
37 msmedian answer time
$0.02listed price per call
$0.02price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://api.findmydirectdoctor.com/v1/doctors/telehealth
| Category | Company and compliance |
|---|---|
| Provider host | api.findmydirectdoctor.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-31 | valid payment request | 402 | $0.02 | 29 ms |
| 2026-10-29 | valid payment request | 402 | $0.02 | 45 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"patient_state": "OH",
"telehealth_mode": "included_in_membership"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"city": {
"description": "City name. Used together with state; resolves only for cities that have listed doctors.",
"maxLength": 80,
"type": "string"
},
"credential": {
"description": "Clinician type: MD, DO, NP (nurse practitioner), PA (physician assistant), other (for example naturopathic or counselor) or physician (MD or DO).",
"enum": [
"MD",
"DO",
"NP",
"PA",
"other",
"physician"
],
"type": "string"
},
"cursor": {
"description": "Opaque next_cursor value from the previous response, to fetch the next page with the same other parameters.",
"maxLength": 40,
"type": "string"
},
"format": {
"default": "concise",
"description": "concise = key fields. detailed = every field we hold.",
"enum": [
"concise",
"detailed"
],
"type": "string"
},
"insurance": {
"description": "What the practice states about insurance: does_not_bill, bills_some_services, accepts_hsa_fsa, keep_insurance_for_emergencies, bills_insurance or any.",
"enum": [
"does_not_bill",
"bills_some_services",
"accepts_hsa_fsa",
"keep_insurance_for_emergencies",
"bills_insurance",
"any"
],
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees. Used together with lng.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"limit": {
"default": 10,
"description": "Results per page (maximum 25).",
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"lng": {
"description": "Longitude in decimal degrees. Used together with lat.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"model": {
"default": "any",
"description": "Practice model: dpc, concierge, cash_specialist or any.",
"enum": [
"dpc",
"concierge",
"cash_specialist",
"any"
],
"type": "string"
},
"patient_state": {
"description": "2-letter state where the patient is. Keeps clinicians whose NPI registry record lists a license in that state. Can be used instead of a location.",
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
"radius_miles": {
"default": 25,
"description": "Search radius in miles (maximum 100). Used with a location.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"specialty": {
"description": "Specialty label or group, for example family-medicine, psychiatry, dermatology, mental-health, womens-health. Matched against the FindMyDirectDoctor directory label.",
"maxLength": 80,
"type": "string"
},
"state": {
"description": "2-letter US state code. With city it names the city's state. On its own it limits results to that state (up to 5 codes separated by commas).",
"maxLength": 14,
"pattern": "^[A-Za-z]{2}(,[A-Za-z]{2}){0,4}$",
"type": "string"
},
"telehealth_mode": {
"default": "any",
"description": "any (default), included_in_membership, telehealth_only or in_person_plus_telehealth.",
"enum": [
"any",
"included_in_membership",
"telehealth_only",
"in_person_plus_telehealth"
],
"type": "string"
},
"verified_only": {
"description": "true keeps only matches whose supporting fact is graded A or B (registry, board, hospital bio, or a second source). Default false.",
"enum": [
"true",
"false"
],
"type": "string"
},
"zip": {
"description": "5-digit US ZIP code. A location is zip, or lat with lng, or city with state.",
"maxLength": 5,
"pattern": "^\\d{5}$",
"type": "string"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"count": {
"type": "integer"
},
"coverage_note": {
"type": "string"
},
"data_as_of": {
"type": "string"
},
"disclaimer": {
"type": "string"
},
"next_cursor": {
"type": [
"string",
"null"
]
},
"query": {
"description": "The filt