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

Endpoint

List doctors

Return doctors filtered by specialty, languages, gender, and years of practice. Each item embeds the doctor's primary clinic and a dataFreshness marker.

GET/api/v1/doctors
curl https://finddoc-ten.vercel.app/api/v1/doctors \
  -G \
  -H "Authorization: Bearer fd_test_xxxx…" \
  --data-urlencode "specialty=Family Medicine" \
  -d accepting=true \
  -d languages=French \
  -d limit=10
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": 318,
  "count": 1
}

Parameters

ParameterTypeDescription
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.