Skip to main content
GET
Search for people (contacts/employees) at a specific company using the Lance database. Results are automatically mapped and upserted to the database for future reference.

Authentication

This endpoint requires authentication. The user must be logged in.
The search prioritizes company matching in this order: LinkedIn URL, domain, then company name. Companies must have at least one of these identifiers to be searchable.

Request

Path Parameters

string
required
The unique identifier (UUID) of the company to search people for.

Query Parameters

integer
default:0
Page number for pagination (0-indexed). Values less than 0 are normalized to 0.
integer
default:25
Number of results per page. Must be between 1 and 100. Values outside this range are clamped to the nearest valid value.

Response

Person[]
Array of person objects found at the company.
integer
Total number of people matching the search criteria across all pages.
integer
Total number of pages available based on size parameter.
integer
Current page number (0-indexed).
integer
Number of results per page.

Examples

Error Responses

Returned when the specified company does not exist in the database.
Returned when the company exists but lacks sufficient data for searching (missing LinkedIn URL, domain, and company name).

Search Strategy

The endpoint uses a prioritized search strategy to find people at a company:
  1. LinkedIn URL (most reliable): If the company has a LinkedIn company page URL, it is used as the primary filter.
  2. Domain (good fallback): If no LinkedIn URL is available, the company’s domain is used to match people.
  3. Company Name (last resort): If neither LinkedIn URL nor domain is available, the company name is used. This may have more false positives as company names are not unique.
Results are automatically upserted to the database. Existing person records are updated with new data, and new persons are created with fresh UUIDs.

Performance Notes

This endpoint is optimized for performance:
  • Batch fetches existing persons in a single database query
  • Uses synchronous mapping instead of N+1 database lookups
  • Bulk upserts all persons in one operation
For large result sets, use pagination to avoid memory issues and improve response times.