# Search Companies Look up companies by identifier. Returns a preview of each company profile. Accepted identifiers (at least one required per company): - Lusha company id - name - domain Up to 100 companies per request. Each result includes a has field listing the data available via Enrich Companies. Pass a signals filter to narrow results to companies showing specific activity (e.g. headcount growth, hiring surge). > Billing: Charged per successful result via the api_search action. Endpoint: POST /v3/companies/search Security: ApiKeyAuth ## Request fields (application/json): - `companies` (array, required) - `companies.clientReferenceId` (string) Example: "comp-ref-1" - `companies.id` (string) Example: "16303253" - `companies.name` (string) Example: "Lusha" - `companies.domain` (string) Example: "lusha.com" - `options` (object) Additional options for search requests - `options.includePartialProfiles` (boolean) Include partial profiles in results Example: true - `signals` (object) - `signals.types` (array, required) Enum: "allSignals", "websiteTrafficDecrease", "websiteTrafficIncrease", "itSpendIncrease", "itSpendDecrease", "surgeInHiring", "headcountIncrease1m", "headcountIncrease3m", "headcountIncrease6m", "headcountIncrease12m", "headcountDecrease1m", "headcountDecrease3m", "headcountDecrease6m", "headcountDecrease12m", "surgeInHiringByDepartment", "surgeInHiringByLocation", "riskNews", "commercialActivityNews", "corporateStrategyNews", "financialEventsNews", "peopleNews", "marketIntelligenceNews", "productActivityNews" - `signals.startDate` (string) Example: "2025-01-01" - `signals.maxResultsPerSignal` (integer) Example: 10 ## Response 200 fields (application/json): - `requestId` (string) - `results` (array) - `results.clientReferenceId` (string) Example: "comp-ref-1" - `results.id` (string) Example: "16303253" - `results.name` (string) Example: "Lusha" - `results.domain` (string) Example: "www.lusha.com" - `results.employeeCount` (object) - `results.employeeCount.exact` (integer) Example: 364 - `results.employeeCount.min` (integer) Example: 201 - `results.employeeCount.max` (integer) Example: 500 - `results.industry` (string) Example: "Technology, Information & Media" - `results.location` (object) - `results.location.city` (string) Example: "London" - `results.location.state` (string) Example: "England" - `results.location.country` (string) Example: "United Kingdom" - `results.location.countryIso2` (string) Example: "GB" - `results.location.continent` (string) Example: "Europe" - `results.socialLinks` (object) - `results.socialLinks.linkedin` (string) Example: "https://www.linkedin.com/company/lushadata" - `results.has` (array) Available data points that can be revealed via Enrich Companies. Includes base firmographic fields plus new revealable fields: employeesByDepartment, employeesByLocation, employeesBySeniority, competitors, businessModel, phones, emails, keywords, socialLinks. Example: ["alternativeName","alternativeDomains","description","companyType","yearFounded","subIndustry","specialities","sicCodes","naicsCodes","additionalLocations","linkedinFollowers","popularityTier","logoUrl","employeesByDepartment","employeesByLocation","employeesBySeniority","competitors","businessModel","phones","emails","keywords","socialLinks"] - `results.canReveal` (array) Data fields that can be revealed via Enrich Companies, with the credit cost per field. A cost of 0 means the field has already been revealed for this account. Example: [{"field":"employeesByDepartment","credits":1},{"field":"employeesByLocation","credits":1},{"field":"employeesBySeniority","credits":1},{"field":"competitors","credits":1},{"field":"intent","credits":0}] - `results.canReveal.field` (string) Enum: "emails", "phones" - `results.canReveal.credits` (integer) Credit cost (0 when already revealed for this account) Example: 1 - `results.signalTypes` (array) Example: ["headcountIncrease3m"] - `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" - `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"]