API reference
Web searches
Find people no licensing board covers (groomers, receptionists, kennel staff, practice managers) near a ZIP code.
POST /v2/web-searches
The board record only holds licensed people. A practice also hires groomers, front desk and client service staff, kennel and animal care attendants, and practice managers. A web search finds them on their own public LinkedIn profiles.
A person is listed only when:
- The page is one person's own profile. Businesses, company pages, lists, posts and job ads are never listed.
- Their own job title or headline shows the role, in animal care. "Dog Groomer at PetSmart" is a groomer; "Master Groomer at a men's grooming lounge" is a barber and is left out; "Receptionist at Smile Dental" is not a veterinary receptionist.
- The location on their profile is within the radius. A city ("Tempe, Arizona") or a metro area ("Greater Phoenix Area") is checked against the ZIP code's centre.
People with veterinary experience (an animal hospital, a clinic or a veterinary title anywhere in their history) come first, then people doing the job now, then the nearest.
This is the derived layer: reported from public profiles, not checked against any board. For licensed veterinarians, technicians and assistants, use professionals first.
Create a web search
curl https://api.zuse.live/v2/web-searches \
-H "Authorization: Bearer $ZUSE_KEY" \
-H "Content-Type: application/json" \
-d '{ "role": "groomer", "postal_code": "85281", "radius_miles": 25 }'| Field | Type | Description |
|---|---|---|
role | string | Required. The role as people write it: groomer, receptionist, kennel attendant, practice manager, office manager, client service, animal care, vet tech, veterinarian. |
postal_code | string | Required. A US ZIP code: the centre of the search. |
radius_miles | integer | 1 to 100. 25 if omitted. |
include_contacts | boolean | Also add up to five people from People Data Labs, whose records hold email and phone. Each is charged as a Contact. false if omitted. |
Response
{
"data": {
"role": "groomer",
"place": "Tempe, AZ 85281",
"center": { "latitude": 33.4148, "longitude": -111.9093 },
"radius_miles": 25,
"people": [
{
"name": "Andrea Laired",
"title": "Owner and Master Groomer",
"employer": "Green Bulldog",
"url": "https://www.linkedin.com/in/andrea-laired-51393371",
"headline": "Owner and Master Groomer at Green Bulldog",
"city": "Tempe",
"state": "AZ",
"postal_code": null,
"source": "web",
"pdl_id": null,
"has_contact": false
}
],
"pdl_records": 0,
"layer": "derived",
"error": null
},
"billing": { "operation": "web", "cost_usd": 0.2, "credit_remaining_usd": 9.8 }
}| Field | Description |
|---|---|
people[].url | The person's public profile. |
people[].city | The place on their profile. A metro area reads as one: Greater Phoenix Area. |
people[].source | web for a public profile, pdl for a person added from People Data Labs. |
people[].has_contact | true when your team already holds this person's People Data Labs record: a Contact for them is then free. |
pdl_records | How many People Data Labs records this search bought. |
To get someone's email and phone, send their name, place and url as linkedin_url to POST /v2/contacts.
Billing
$0.50 when at least one person is found; free when nobody is. With include_contacts, each person added from People Data Labs is also charged as one Contact ($0.60), and their details are kept for your team. Send an Idempotency-Key so a retry is not charged again. Up to 10 a minute and 100 a day. See Pricing and metering.
Also in
- MCP: the
find_people_on_webtool. See MCP server. - Slack:
@Zuse nearby 85281 groomers. See Zuse in Slack. - Workspace: People, then a role such as Groomers.