# Search Contacts Search for contacts using various filters. This is step 2 of the prospecting process. Endpoint: (POST) https://api.lusha.com/prospecting/contact/search --- ##### Signal Filtering (Premium Feature) Filter contacts by signal types to find prospects at key career moments. > Note: This is a premium feature. Credits are charged for each signal type that returns results. Endpoint: POST /prospecting/contact/search Security: ApiKeyAuth ## Request fields (application/json): - `includePartialContact` (boolean) When set to true, includes contacts with partial information in the search results. Partial contacts may have incomplete data but can still be valuable prospects. - `pages` (object) - `pages.page` (number) Page number (0-1000) - `pages.size` (number) Page size (10-50) - `filters` (object, required) - `filters.contacts` (object) - `filters.contacts.include` (object) - `filters.contacts.include.departments` (array) Example: ["Engineering & Technical"] - `filters.contacts.include.seniority` (array) Example: ["4","5"] - `filters.contacts.include.existing_data_points` (array) Example: ["phone","work_email"] - `filters.contacts.include.locations` (array) - `filters.contacts.include.locations.continent` (string) Example: "North America" - `filters.contacts.include.locations.country` (string) Example: "United States" - `filters.contacts.include.locations.city` (string) Example: "New York" - `filters.contacts.include.locations.state` (string) Example: "New York" - `filters.contacts.include.locations.country_grouping` (string) Example: "na" - `filters.contacts.include.jobTitles` (array) Example: ["CTO","Chief Technology Officer","VP Engineering","Senior Developer"] - `filters.contacts.include.searchText` (string) Free-text search across contact fields Example: "Amit" - `filters.contacts.include.signal` (object) Filter contacts by signal types (premium filter - charges apply per signal type) - `filters.contacts.include.signal.names` (array) Signal types to filter by Enum: "allSignals", "promotion", "companyChange" - `filters.contacts.include.signal.startDate` (string) Start date for signal detection (YYYY-MM-DD format) Example: "2025-11-01" - `filters.companies` (object) - `filters.companies.exclude` (object) Same structure as include, for exclusion filters ## Response 200 fields (application/json): - `requestId` (string) The unique request ID used for subsequent enrichment requests - `currentPage` (number) The current page of the search results - `pageLength` (number) The number of results on the page - `totalResults` (number) The total number of search results - `contacts` (array) - `contacts.contactId` (string) A unique serial contact ID generated for each search response Example: "06de9b18-516d-5512-5cb5-6ec5pb215776" - `contacts.isShown` (boolean) Indicates whether the contact was already revealed by any of the account users - `contacts.name` (string) The full name of the contact Example: "Chris Karageorge" - `contacts.jobTitle` (string) The job title held by the person at their current company Example: "Senior Director of Technical Operations" - `contacts.companyId` (number) A unique identifier for a Lusha company Example: 28054532 - `contacts.companyName` (string) The name of the company where the person currently works Example: "Lusha" - `contacts.fqdn` (string) The fqdn of the company Example: "lusha.com" - `contacts.companyDescription` (string) A description of the company Example: "Lusha is the leader in Sales Streaming – a new sales paradigm that streams top leads straight to salespeople and handles all the outreach, so they can escape the lead grind and just sell.\\n\\nLusha’s Sales Streaming Platform is built around Sales Playlists that continuously fill up with their ideal prospects – think “Spotify for sales.” With AI doing the heavy lifting, Lusha uncovers great-fit leads salespeople never knew existed and executes tailored, perfectly timed cadences that get meetings booked. And the more you use Lusha, the smarter it gets.\\n\\nWith Sales Streaming, salespeople spend most of their time face-to-face with relevant prospects, driving 4-6X more business." - `contacts.logoUrl` (string) The URL of the company's logo Example: "https://logo.lusha.co/brightdata/year=2024/month=04/day=30/j_lvlvj2vh1yv1ee0hye.b098e8301e8d32c12d1c8949a0624ba44761f995.file_lvlwjpb62juzpfz0l2.logo_cached.jpg" - `contacts.hasCompanyEmployeesCount` (boolean) - `contacts.hasCompanyRevenue` (boolean) - `contacts.hasCompanyMainIndustry` (boolean) - `contacts.hasCompanySubIndustry` (boolean) - `contacts.hasCompanyFunding` (boolean) - `contacts.hasCompanyIntent` (boolean) - `contacts.hasCompanyTechnologies` (boolean) - `contacts.hasDepartment` (boolean) - `contacts.hasSeniority` (boolean) - `contacts.hasContactLocation` (boolean) - `contacts.hasSocialLink` (boolean) - `contacts.hasEmails` (boolean) - `contacts.hasWorkEmail` (boolean) - `contacts.hasPrivateEmail` (boolean) - `contacts.hasPhones` (boolean) - `contacts.hasMobilePhone` (boolean) - `contacts.hasDirectPhone` (boolean) - `contacts.hasCompanyCity` (boolean) - `contacts.hasCompanyCountry` (boolean) - `contacts.signalTypes` (array) Types of signals detected for this contact Example: ["companyChange","promotion"] ## Response 400 fields (application/json): - `statusCode` (integer, required) HTTP status code Example: 400 - `message` (string, required) Error message Example: "Validation failed" - `errors` (array) Detailed error messages (optional, only for validation errors) Example: ["entityType must be one of: contact, company"] ## Response 401 fields (application/json): - `statusCode` (integer, required) HTTP status code Example: 400 - `message` (string, required) Error message Example: "Validation failed" - `errors` (array) Detailed error messages (optional, only for validation errors) Example: ["entityType must be one of: contact, company"] ## Response 429 fields (application/json): - `statusCode` (integer, required) HTTP status code Example: 400 - `message` (string, required) Error message Example: "Validation failed" - `errors` (array) Detailed error messages (optional, only for validation errors) Example: ["entityType must be one of: contact, company"] ## Response 500 fields (application/json): - `statusCode` (integer, required) HTTP status code Example: 400 - `message` (string, required) Error message Example: "Validation failed" - `errors` (array) Detailed error messages (optional, only for validation errors) Example: ["entityType must be one of: contact, company"]