finddoc
Try every endpoint against sandbox data, then a one-time $5 payment unlocks live access — no account needed. Get API access
← v1 API reference

Doctors

View .md

Endpoint

Search doctors

Free-text search across doctor names and CPSO numbers. Returns the same { doctors, total, count } envelope as /doctors, and every list filter composes with the q query.

GET/api/v1/doctors/search
curl https://www.finddoc.ca/api/v1/doctors/search \
  -G \
  -H "Authorization: Bearer fd_sandbox_public_key_2026" \
  -d q=Tremblay \
  -d accepting=true
Response200 OK
{
  "doctors": [
    {
      "id": "doctor_5h7m2k",
      "cpsoNumber": "90123",
      "name": "Dr. Amelie Tremblay",
      "gender": "female",
      "yearsOfPractice": 12,
      "specialties": ["Family Medicine"],
      "languages": ["English", "French"],
      "clinic": {
        "id": 92a39274-7f56-4d18-a93d-ba498508249e,
        "name": "Riverdale Family Health",
        "address": "123 Queen St E, Toronto, ON",
        "lat": 43.659,
        "lng": -79.358,
        "phone": "+1 416-555-0142",
        "acceptingNewPatients": true
      },
      "dataFreshness": "fresh",
      "syncedAt": "2026-05-01T09:30:00Z"
    }
  ],
  "total": 3,
  "count": 1
}

Parameters

ParameterTypeDescription
qrequiredstringSearch query, at least 2 characters. Matched against the doctor's name (case-insensitive) or an exact CPSO number. Returns 400 missing_param if omitted or shorter than 2 characters. All /doctors filters below compose with q (AND).
specialtiesstringComma-separated specialties to match, e.g. Cardiology,Pediatrics. A doctor matches if they hold any of them.
specialtystringSingle specialty to match, e.g. Family Medicine. Singular and exact. Kept for compatibility — specialties wins when both are sent.
acceptingbooleanWhen true, only return rows currently accepting new patients.
genderstringOne of "male", "female", or "non-binary".
languagesstringComma-separated list of languages spoken, e.g. English,French.
minYearsintegerMinimum years of practice for the doctor.
maxYearsintegerMaximum years of practice for the doctor.
eveningbooleanOnly include clinics with evening hours (after 5 PM).
weekendbooleanOnly include clinics open on Saturday or Sunday.
wheelchairbooleanOnly include wheelchair-accessible clinics.
virtualVisitsbooleanOnly include clinics offering virtual visits.
nearTTCbooleanOnly include clinics near a TTC subway station.
limitintegerPage size. Defaults to 25, maximum 100.
offsetintegerZero-based offset for pagination. Defaults to 0.

Try it

Sandbox · live request

Runs against the free sandbox key — no sign-in. Results are capped and rate-limited; pay once to unlock the full API.