# Search and Enrich Contacts Find contacts and reveal their full data in a single call. Combines Search and Enrich into one request. Provide contact identifiers the same way you would for Search Contacts. Use the reveal field to control what gets unlocked (emails, phones, or both). Up to 100 contacts per request. > Billing: Two charges apply — one for the search (api_search) and one per revealed field. The billing.creditsCharged in the response reflects the total. Endpoint: POST /v3/contacts/search-and-enrich Security: ApiKeyAuth ## Request fields (application/json): - `contacts` (array, required) - `contacts.clientReferenceId` (string) Example: "my-ref-1" - `contacts.id` (string) Example: "12345" - `contacts.linkedinUrl` (string) Example: "https://www.linkedin.com/in/orit-shilvock-6243bb5" - `contacts.email` (string) Example: "orit.shilvock@lusha.com" - `contacts.firstName` (string) Example: "Orit" - `contacts.lastName` (string) Example: "Shilvock" - `contacts.companyName` (string) Example: "Lusha" - `contacts.companyDomain` (string) Example: "lusha.com" - `reveal` (array) Enum: "emails", "phones" - `options` (object) Additional options for search requests - `options.includePartialProfiles` (boolean) Include partial profiles in results Example: true ## Response 200 fields (application/json): - `requestId` (string) - `results` (array) - `results.id` (string) Example: "4389064704" - `results.firstName` (string) Example: "Orit" - `results.lastName` (string) Example: "Shilvock" - `results.fullName` (string) Example: "Orit Shilvock" - `results.jobTitle` (object) - `results.jobTitle.title` (string) Example: "Vice President of Partnerships" - `results.jobTitle.departments` (array) Example: ["Business Development"] - `results.jobTitle.seniority` (string) Example: "Vice President" - `results.location` (object) - `results.location.country` (string) Example: "Israel" - `results.location.countryIso2` (string) Example: "IL" - `results.location.state` (string) Example: "Tel Aviv District" - `results.location.city` (string) Example: "Tel Aviv" - `results.location.continent` (string) Example: "Asia" - `results.location.coordinates` (array) Example: [34.78057098388672,32.08087921142578] - `results.location.isEuContact` (boolean) - `results.tags` (array) - `results.tags.name` (string) - `results.tags.color` (string) Example: "#FF5733" - `results.emails` (array) - `results.emails.email` (string) Example: "orit.shilvock@lusha.com" - `results.emails.type` (string) Enum: "work", "private", "unknown" - `results.emails.confidence` (string,null) Example: "A+" - `results.emails.updateDate` (string) Example: "2026-04-23" - `results.phones` (array) - `results.phones.number` (string) Example: "+14155551234" - `results.phones.doNotCall` (boolean) - `results.company` (object) - `results.company.domain` (string) Example: "www.lusha.com" - `results.company.industry` (string) Example: "Technology, Information & Media" - `results.socialLinks` (object) - `results.socialLinks.linkedin` (string) Example: "https://www.linkedin.com/in/orit-shilvock-6243bb5" - `results.socialLinks.xUrl` (string) Example: "https://twitter.com/lushaofficial" - `results.previousEmployment` (array) - `results.error` (object) Per-item error in a batch response - `results.error.code` (string) Enum: "NOT_FOUND", "COMPLIANCE_RESTRICTED", "ENRICH_FAILED" - `results.error.message` (string) Example: "Contact not found" - `results.clientReferenceId` (string) Example: "my-ref-1" - `billing` (object) Credit usage summary for a V3 API request - `billing.creditsCharged` (integer) Total credits charged for this request Example: 3 - `billing.resultsReturned` (integer) Number of successful results returned Example: 1 ## 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 402 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 403 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"]