Skip to main content
POST
Search Person Prospects
Searches for person prospects using data providers with extensive filtering capabilities. Results are automatically mapped to domain objects and persisted to the global database (companies and persons are upserted), returning enriched lead objects with associated company data.

Authentication

This endpoint requires authentication. The user must be signed in to access prospect search functionality.
This endpoint performs a search against the Lance database of 400+ million professional profiles. Results are automatically saved to Lance’s database, deduplicating and merging with existing records.

Request

The request body allows filtering by both account (company) criteria and contact (person) criteria. All filters are optional and can be combined.

Pagination

integer
default:"0"
Page number for pagination (0-indexed)
integer
default:"10"
Number of results per page. Must be between 0 and 100.

Contact Filters

object
Filters for the individual/person being searched

Account Filters

object
Filters for the company/account associated with the person

Response

Returns a paginated response containing leads (persons with associated company data).
Lead[]
Array of lead objects matching the search criteria
integer
Total number of matching results across all pages. Can be null.
integer
Total number of pages available. Can be null.
integer
Current page number (0-indexed). Can be null.
integer
Number of results per page. Can be null.
boolean
Whether this is the first page. Can be null.
boolean
Whether this is the last page. Can be null.
integer
Number of elements on the current page. Can be null.
boolean
Whether the result set is empty. Can be null.

Response Examples

Request Examples

Basic Search - CTOs in Software Industry

Search by Company Size and Location

Search by Skills and Funding Stage

Search by Keywords Across Profile Sources

Search by Experience Duration

Search People Open to Work

How It Works

  1. Authentication: The endpoint authenticates the user via Clerk
  2. Validation: Request body is validated against the PeopleSearch_Body schema
  3. Search: Queries the Lance database with the provided filters
  4. Mapping: Maps external provider response data to Lance domain objects (Person and Company)
  5. Persistence: Companies and persons are upserted to the global database using merge logic to preserve existing data
  6. Response: Returns the enriched leads with associated company data
Results are automatically deduplicated during the upsert process. If a person or company already exists in the database (matched by external IDs or other identifiers), the records are merged rather than duplicated.

Notes

  • Search results are persisted to the database, making subsequent searches faster for the same prospects
  • The external provider integration uses rate limiting (5 requests per second) to avoid overwhelming the external service
  • Company data is extracted from the person’s current position or position groups if available
  • The companyId field in the response links each person to their saved company record
  • External provider IDs (baseProviderId) are preserved to enable future enrichment and deduplication