API reference

    Professionals

    List everyone licensed within a radius of a location, a page at a time.


    GET /v2/professionals

    Returns the licensed population inside a radius: everyone the board has on record there, not only people who are looking for work, nearest first. A search lists its nearest 500; follow the pages to get them. The call is read-only and is priced as Nearby.

    Request

    bash
    curl -G https://api.zuse.live/v2/professionals \
      -H "Authorization: Bearer $ZUSE_KEY" \
      -d postal_code=90013 \
      -d radius_miles=10 \
      -d profession=veterinarian \
      -d sort=distance \
      -d limit=100

    Give the center either as a ZIP code or as coordinates.

    ParameterTypeDescription
    postal_codestringUS ZIP code. Used when coordinates are omitted.
    latitude, longitudenumberCenter point. Takes precedence over postal_code.
    radius_milesnumberSearch radius, up to 250. Default 25.
    professionstringveterinarian, vet_tech, or vet_assistant, or a specific role a board licenses: euthanasia_technician, reproductive_technician (artificial insemination, embryo transfer), equine_dental_technician, animal_chiropractor, animal_physical_therapist, vet_professional_associate. Omit for veterinary staff (veterinarians, technicians, assistants).
    specialty_typestringA value from GET /v2/specialty-types, such as emergency_critical_care. See Specialty type.
    jurisdictionstringOnly licenses issued by this state: a code from GET /v2/jurisdictions, such as NJ. Omit for every state in the index. A person living in New Jersey may hold only a California license, so this is the licensing state, not where they live. Arizona, Nevada, Oregon and Washington licenses carry no location and never appear here; nor do most of Idaho's.
    certificationstringOnly people a veterinary specialty body lists as board-certified. any, vts (any Veterinary Technician Specialist), or a specialty from GET /v2/certifications, such as Avian. See Certifications.
    min_years_licensedintegerOnly licenses issued at least this many years ago.
    max_years_licensedintegerOnly licenses issued less than this many years ago.
    statusstringactive (default) for currently active licenses, or any.
    sortstringdistance (default), years_licensed, -years_licensed, or name. A leading - means descending.
    limitintegerPeople per page, 1 to 100. Default 50.
    cursorstringpagination.next_cursor from the previous page. Keep every other parameter the same.

    Response

    json
    {
      "data": [
        {
          "id": 48211,
          "person_id": 30412,
          "name": "JANE DOE",
          "profession": "veterinarian",
          "credential": "DVM",
          "jurisdiction": "CA",
          "license_number": "16364",
          "license_type": "Veterinarian",
          "status": "active",
          "is_active": true,
          "issued_on": "2018-07-06",
          "expires_on": "2027-08-31",
          "years_licensed": 8,
          "city": "LOS ANGELES",
          "state": "CA",
          "red_flags": [],
          "verify_url": "https://search.dca.ca.gov/",
          "distance_miles": 0.4,
          "latitude": 34.0448,
          "longitude": -118.2434,
          "practice": {
            "id": 51877,
            "name": "EXAMPLE PET EMERGENCY CLINIC",
            "license_number": "5123",
            "specialty_types": ["emergency_critical_care"]
          }
        }
      ],
      "pagination": { "limit": 100, "has_more": true, "next_cursor": "eyJvIjoxMDAsInEiOiI0ZjJhIn0", "total": 598 },
      "meta": { "center": { "latitude": 34.0453, "longitude": -118.2413 }, "radius_miles": 10, "sort": "distance" },
      "billing": { "operation": "source", "cost_usd": 0.1, "credit_remaining_usd": 9.9 }
    }

    Each item is a license, plus:

    FieldDescription
    distance_milesDistance from the center point.
    latitude, longitudeThe point the record is geocoded to.
    open_to_moveWhat the person said on Zuse about a move, if they claimed their record: actively_looking, open (open to the right fit), relief (relief or per diem only) or happy (happy where they are). null when they have not claimed it. Those looking come first in a nearest-first list.
    zuse_profile_urlPresent only for a person who claimed their record on Zuse Talent, had the claim checked by Zuse, and made their profile public: their page, https://my.zuse.live/<their link>. Absent otherwise.
    practiceThe registered practice at the person's address on record, or null when that address is not a registered practice. practice.id is the id of that practice in /v2/practices.

    A licensed professional can ask to be left out of location searches; they are then absent from the results, the total and the map alike. Looking up a license by name or number is not affected.

    pagination.total is how many people match. Keep requesting with cursor set to the previous pagination.next_cursor until has_more is false. A search lists its nearest 500, the way a board's own look-up shows a page at a time: past them has_more is false, and a cursor beyond them is refused with 400 search_too_deep. To see others, narrow the search: a smaller radius, one profession, or one jurisdiction. Ten miles around downtown Los Angeles holds about 600 veterinarians; the nearest 500 are ten requests of 50, $0.20 in all.

    Each request is charged by the number of people it returns: $0.20 with the first 10 included, then $0.02 for each person after those. See Pricing and metering.

    Experience

    min_years_licensed and max_years_licensed filter on the board's issue date for the license, which every record has. max_years_licensed=3 returns people licensed in the last three years; min_years_licensed=10 returns people licensed for a decade or more. This is time since this license was issued in this jurisdiction, not total career length: someone who moved from another state looks newer than they are.

    Specialty type

    specialty_type means the type of patients a practice sees, or its specialty. The values are:

    ValueLabel
    general_practiceGeneral Practice
    education_teachingEducation/teaching
    large_animalLarge Animal
    exotic_animalsExotic Animals
    pocket_petsPocket Pets
    production_food_animalsProduction/food animals
    animal_shelterAnimal Shelter
    avianSpecialty- Avian
    behaviorSpecialty- Behavior
    canine_felineSpecialty- Canine/feline
    dentistrySpecialty- Dentistry
    dermatologySpecialty- Dermatology
    emergency_critical_careSpecialty- Emergency/Critical Care
    felineSpecialty- Feline
    internal_medicineSpecialty- Internal Medicine
    cardiologySpecialty- Cardiology
    neurologySpecialty- Neurology
    oncologySpecialty- Oncology
    ophthalmologySpecialty- Ophthalmology
    pathologySpecialty- Pathology
    preventive_medicineSpecialty- Preventive Medicine
    radiologySpecialty- Radiology
    surgerySpecialty- Surgery
    theriogenologySpecialty- Theriogenologists
    house_call_mobileHouse call/mobile practice
    specialty_referralSpecialty- Referral center (discipline not stated)

    Where the type comes from

    Licensing boards do not record what kind of practice a premises is, and they do not record anyone's board certification. Zuse does not invent either. The type is derived from two things a board does record:

    • A practice's registered name. "Bay Area Equine Hospital" is large_animal; "Veterinary Cancer Group" is oncology; "Pet Emergency and Specialty Center" is emergency_critical_care and specialty_referral. In California, about one practice in five states a type this way.
    • General Practice is inferred. A practice with an ordinary clinic name ("San Dimas Animal Hospital") that states no other type is classed general_practice. This is the least certain type. A practice whose name fits nothing has no type at all.
    • A university license places its holder in education_teaching directly.

    A person is tied to a practice only when their address on record is that practice's address. Many licensees register a home or mailing address, so the link exists for a minority of people (roughly one veterinarian in six in California).

    So specialty_type behaves differently depending on what you ask for:

    RequestReturnsCompleteness
    GET /v2/practices?specialty_type=large_animalPractices classed as large animal.As complete as the names allow.
    GET /v2/professionals?profession=veterinarian&specialty_type=emergency_critical_careVeterinarians whose address on record is such a practice.Partial. The response includes meta.specialty_link, such as { "linked": 540, "total": 2293 }: how many people in the area have a practice address at all.

    This is not a board-certification check. A "Specialty-" type says the person's practice of record presents itself that way. It does not confirm that the person is a diplomate of a specialty college. Background returns stated credentials for one person from the public web, as a derived finding.

    Location precision

    Records are geocoded to the postal code of the address of record, not to a street address. Everyone in the same ZIP code shares one point, and distance_miles is the distance to that point. Treat distances as accurate to within a ZIP code, and do not treat the coordinates as a home or work location.

    Billing

    A page with one or more people on it is billed once at the Nearby price, whatever the limit. A page with nobody on it is free.

    Errors

    StatusCodeWhen
    400invalid_requestNeither coordinates nor postal_code was sent, the ZIP code is malformed, or a parameter has a value it does not accept. error.fields names it.
    400invalid_cursorThe cursor came from a request with different filters or sort.
    404not_foundThe ZIP code could not be located.
    429severalA rate limit was reached.

    Certifications

    Each person carries a certifications list: what a veterinary specialty body's own public directory says about them.

    json
    "certifications": [
      {
        "body": "American Board of Veterinary Practitioners",
        "title": "Diplomate ABVP",
        "specialty": "Avian",
        "practice": "Example Bird Hospital",
        "website": "https://example.org/",
        "seen_on": "2026-10-13",
        "source": "https://abvp.connect.prolydian.com/all-members"
      }
    ]

    Read it with three things in mind:

    • It comes from the specialty body, not the licensing board. source is the directory it was read from and seen_on is the day. It never changes a person's profession, which comes only from the license.
    • An empty list means none was found. It does not mean the person has none. Two bodies are covered today: the American Board of Veterinary Practitioners and the American College of Veterinary Anesthesia and Analgesia. A cardiologist, a surgeon or an oncologist will show an empty list, because those bodies are not covered yet. GET /v2/certifications lists exactly what is held.
    • A certification is attached only when the match is not in doubt: one veterinarian of that name licensed in the state the directory lists them in, or one in the listed city when several share the name. Otherwise it is left off.

    certification=any keeps people with at least one. certification=vts keeps technicians with any VTS. certification=Avian keeps people with that one. A value the index does not hold is a 400 that names the ones it does, never an empty result.