ToolAssay

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

CategoryCompany and compliance
Provider hostapi.findmydirectdoctor.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
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

This page as JSON