FindDoc
Sign in with Google — first sign-in creates your free FindDoc account. Get an API key

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://finddoc-ten.vercel.app/api/v1/doctors/search \
  -G \
  -H "Authorization: Bearer fd_test_xxxx…" \
  -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).
specialtystringSingle specialty to match, e.g. Family Medicine. Singular and exact — unlike /clinics, this is not comma-separated.
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.
limitintegerPage size. Defaults to 25, maximum 100.
offsetintegerZero-based offset for pagination. Defaults to 0.

Try it

Live request
Sign in with Google — first sign-in creates your free FindDoc account to run live requests against your account's rate limit.