Humans
A Human is the result of a search_humans call. It represents a real person found on the web, with their social network profiles, bio, location, and a confidence score indicating how reliably the profiles were matched.
Your agent finds the person first. Everything else — the event, the meeting, the relationship — starts here.
Overview
When your AI agent needs to find a person — whether for outbound sales, meeting preparation, or lead enrichment — it calls search_humans with a name and optional company or location info. HumanConnection searches across the open web using SearXNG (meta-search), crawls Linktree pages for handle discovery via Crawl4AI, and returns a structured result with the best matching profiles, optionally including email and company domain.
The Human type
Example response
search_humans parameters
search_humans supports two modes of operation. Provide either name OR (location + title_filters), not both.
Person lookup mode
Search for a specific person by name, with optional company and location context.
People search mode
Find professionals matching specific criteria by location and title.
How search works under the hood
Phase 1: Discover
Parallel SearXNG queries are fired for:
"Name" company_name(general search)Name company_name site:linkedin.com/in(LinkedIn)Name site:instagram.com(Instagram)Name site:x.com OR site:twitter.com(X/Twitter)Name site:tiktok.com(TikTok)"company_name" site:linktr.ee(Linktree, if company info provided)
All results are deduplicated. LinkedIn post URLs are parsed to extract profile slugs for additional searches.
Phase 2: Scrape
Linktree pages found in results are crawled using Crawl4AI to discover non-obvious social handles. For example, searching for a person with their brand name discovers Linktree links to handles that would never be found by name alone.
Linktree-discovered handles are verified by checking if the linked Instagram account exists and matches the company context.
Phase 3: Compare
Candidates are scored per platform using:
- Handle matching: Does the LinkedIn slug match the person’s name? (e.g.
linkedin.com/in/briancheskyfor “Brian Chesky”) - Keyword similarity: How much overlap is there between the candidate’s bio keywords and the company/location keywords?
- Context verification: Does the candidate’s bio mention the company name, domain, or location?
The best candidate per platform is selected. A minimum keyword intersection threshold prevents false positives.
Confidence scoring
Confidence is capped at 1.0. A score of 0.85 means three platforms were matched.
How humans relate to other resources
- Services: After finding a person with
search_humans, create a service request to arrange a face-to-face meeting with them. Pass the discoveredlinkedin_profile_urlin the guest info for better targeting. - Events: Use search_events to find conferences and meetups near the person’s location — the most natural context for a first meeting.
- Meetings: A confirmed meeting links a human representative to the discovered person at an event or place.
Best practices
- Always provide company context. Common names like “John Smith” will produce unreliable results without
company_nameorcompany_domain. - Prefer
company_domainovercompany_name. Domains are unique identifiers —company_domain: "airbnb.com"is more precise thancompany_name: "Airbnb". - Use
locationto disambiguate. When a company has offices in multiple cities, addinglocationnarrows results to the right person. - Use people search mode to find reps. Combine
locationandtitle_filterswith boolean syntax (AND/OR/NOT) to find sales reps or other professionals near a lead. - Use
provide_emailwhen you need contact info. Setprovide_email: trueto include email addresses in results — useful for sending meeting invites. - Check confidence. Results with confidence below 0.4 (only one platform found) should be treated as low-certainty matches.
- Feed LinkedIn URL into search_interests. After finding a person, pass their
linkedin_profile_urlandx_profile_urltosearch_interestsfor meeting personalization.