> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lusha.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Multiple Companies

> Search for multiple companies in a single request. Provide a list of companies with 
identifiers like domain names or company IDs.
>##### Endpoint:
  ```
POST https://api.lusha.com/bulk/company/v2
  ```


>##### Notes: 
  - At least one of `domain`, `company`, or `companyId` is required. 
  - You can process up to 100 companies per request.




## OpenAPI

````yaml /v2/openapi.json post /bulk/company/v2
openapi: 3.0.3
info:
  title: Lusha API Documentation
  version: 0.0.1
  x-logo:
    url: https://www.lusha.com/logo.png
  license:
    name: Proprietary
    url: https://lusha.com/legal/terms
  description: >
    Lusha provides a RESTful API that allows you to query a comprehensive
    dataset of business profiles and company information.

    It is designed for teams building prospecting, enrichment, automation, and
    analytics workflows that require accurate, continuously updated business
    data. The API supports both real-time and bulk use cases and is suitable for
    production environments.

    Use the Lusha API to search for new prospects, enrich existing records,
    react to real-world changes, and expand coverage using lookalike
    recommendations. 


    *All API requests should be made over HTTPS (SSL), and the response bodies
    are delivered in JSON format.*

    ---
        <style>
        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
            margin: 0;
            padding: 0;
            background: #ffffff;
        }
        
        .endpoint-link {
            color: #0969da;
            text-decoration: none;
            transition: all 0.2s ease;
        }
        
        .endpoint-link:hover {
            color: #0550ae;
            text-decoration: underline;
        }
        
        .endpoint-url {
            font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
            font-size: 9px;
            color: #6b7280;
            background: #f3f4f6;
            padding: 3px 6px;
            border-radius: 4px;
            margin-top: 8px;
            margin-bottom: 10px;
            display: inline-block;
        }
        
        /* Style for better hover effect */
        details summary:hover {
            color: #4b5563;
        }
    </style>

    <div style="max-width: 900px; margin: 0 auto; padding: 15px;">
        <div style="display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px;">
            
            <!-- Person Card -->
            <div style="background: #fafbfc; border: 1px solid #d1d5db; border-radius: 6px; padding: 14px; min-height: 160px;">
                <h3 style="margin: 0 0 8px 0; color: #1f2937; font-size: 14px; font-weight: 600; padding-bottom: 6px; border-bottom: 1px solid #e5e7eb;">
                    Person
                </h3>
                <ul style="font-size: 12px; line-height: 1.4; margin: 0; padding-left: 0; list-style: none;">
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/enrichment/searchsinglecontact" class="endpoint-link">Person Enrichment</a></li>
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/prospecting-search-and-enrich/searchprospectingcontacts" class="endpoint-link">Contact Search & Enrich</a></li>
                </ul>
                
                <div class="endpoint-url">https://api.lusha.com/v2/person</div>
                
                <details style="margin-top: 10px; padding-top: 8px; border-top: 1px solid #e5e7eb;">
                    <summary style="cursor: pointer; font-size: 10px; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 6px 0; list-style: none;">
                        ▶ Common Use Cases
                    </summary>
                    <ul style="font-size: 11px; line-height: 1.4; margin: 0; padding-left: 14px; list-style: none; color: #4b5563;">
                        <li style="padding: 1px 0;">• Form enrichment</li>
                        <li style="padding: 1px 0;">• CRM completion</li>
                        <li style="padding: 1px 0;">• Outbound personalization</li>
                    </ul>
                </details>
            </div>

            <!-- Company Card -->
            <div style="background: #fafbfc; border: 1px solid #d1d5db; border-radius: 6px; padding: 14px; min-height: 160px;">
                <h3 style="margin: 0 0 8px 0; color: #1f2937; font-size: 14px; font-weight: 600; padding-bottom: 6px; border-bottom: 1px solid #e5e7eb;">
                    Company
                </h3>
                <ul style="font-size: 12px; line-height: 1.4; margin: 0; padding-left: 0; list-style: none;">
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/enrichment/searchsinglecompanyv2" class="endpoint-link">Company Enrichment</a></li>
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/prospecting-search-and-enrich/searchprospectingcompanies" class="endpoint-link">Company Search & Enrich</a></li>
                </ul>
                
                <div class="endpoint-url">https://api.lusha.com/v2/company</div>
                
                <details style="margin-top: 10px; padding-top: 8px; border-top: 1px solid #e5e7eb;">
                    <summary style="cursor: pointer; font-size: 10px; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 6px 0; list-style: none;">
                        ▶ Common Use Cases
                    </summary>
                    <ul style="font-size: 11px; line-height: 1.4; margin: 0; padding-left: 14px; list-style: none; color: #4b5563;">
                        <li style="padding: 1px 0;">• Account enrichment</li>
                        <li style="padding: 1px 0;">• Routing, scoring, territory logic</li>
                        <li style="padding: 1px 0;">• Market analysis & segmentation</li>
                    </ul>
                </details>
            </div>

            <!-- Signals Card -->
            <div style="background: #fafbfc; border: 1px solid #d1d5db; border-radius: 6px; padding: 14px; min-height: 160px;">
                <h3 style="margin: 0 0 8px 0; color: #1f2937; font-size: 14px; font-weight: 600; padding-bottom: 6px; border-bottom: 1px solid #e5e7eb;">
                    Signals
                </h3>
                <ul style="font-size: 12px; line-height: 1.4; margin: 0; padding-left: 0; list-style: none;">
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/signals/getcontactsignalsbyid" class="endpoint-link">Contact Signals</a></li>
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/signals/getcompanysignalsbyid" class="endpoint-link">Company Signals</a></li>
                </ul>
                
                <div class="endpoint-url">https://api.lusha.com/v2/signals</div>
                
                <details style="margin-top: 10px; padding-top: 8px; border-top: 1px solid #e5e7eb;">
                    <summary style="cursor: pointer; font-size: 10px; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 6px 0; list-style: none;">
                        ▶ Common Use Cases
                    </summary>
                    <ul style="font-size: 11px; line-height: 1.4; margin: 0; padding-left: 14px; list-style: none; color: #4b5563;">
                        <li style="padding: 1px 0;">• Job change tracking</li>
                        <li style="padding: 1px 0;">• Company updates signals</li>
                        <li style="padding: 1px 0;">• News event alerts</li>
                    </ul>
                </details>
            </div>

            <!-- Lookalikes Card -->
            <div style="background: #fafbfc; border: 1px solid #d1d5db; border-radius: 6px; padding: 14px; min-height: 160px;">
                <h3 style="margin: 0 0 8px 0; color: #1f2937; font-size: 14px; font-weight: 600; padding-bottom: 6px; border-bottom: 1px solid #e5e7eb;">
                    Lookalikes
                </h3>
                <ul style="font-size: 12px; line-height: 1.4; margin: 0; padding-left: 0; list-style: none;">
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/lookalikes/getcontactlookalikes" class="endpoint-link">Similar Contacts</a></li>
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/lookalikes/getcompanylookalikes" class="endpoint-link">Similar Companies</a></li>
                </ul>
                
                <div class="endpoint-url">https://api.lusha.com/v3/lookalike</div>
                
                <details style="margin-top: 10px; padding-top: 8px; border-top: 1px solid #e5e7eb;">
                    <summary style="cursor: pointer; font-size: 10px; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 6px 0; list-style: none;">
                        ▶ Common Use Cases
                    </summary>
                    <ul style="font-size: 11px; line-height: 1.4; margin: 0; padding-left: 14px; list-style: none; color: #4b5563;">
                        <li style="padding: 1px 0;">• Market expansion</li>
                        <li style="padding: 1px 0;">• Similar account discovery</li>
                        <li style="padding: 1px 0;">• Prospect recommendations</li>
                    </ul>
                </details>
            </div>

            <!-- Filters Card -->
            <div style="background: #fafbfc; border: 1px solid #d1d5db; border-radius: 6px; padding: 14px; min-height: 160px;">
                <h3 style="margin: 0 0 8px 0; color: #1f2937; font-size: 14px; font-weight: 600; padding-bottom: 6px; border-bottom: 1px solid #e5e7eb;">
                    Filters
                </h3>
                <ul style="font-size: 12px; line-height: 1.4; margin: 0; padding-left: 0; list-style: none;">
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/signals/getsignaloptions" class="endpoint-link">Signal Options</a></li>
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/contact-filters" class="endpoint-link">Contact Filters</a></li>
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/company-filters" class="endpoint-link">Company Filters</a></li>
                </ul>
            </div>

            <!-- Account Card -->
            <div style="background: #fafbfc; border: 1px solid #d1d5db; border-radius: 6px; padding: 14px; min-height: 160px;">
                <h3 style="margin: 0 0 8px 0; color: #1f2937; font-size: 14px; font-weight: 600; padding-bottom: 6px; border-bottom: 1px solid #e5e7eb;">
                    Account
                </h3>
                <ul style="font-size: 12px; line-height: 1.4; margin: 0; padding-left: 0; list-style: none;">
                    <li style="padding: 2px 0;">• <a href="/guides" class="endpoint-link">Getting started</a></li>
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/account-management/getaccountusagestats" class="endpoint-link">Credit Usage</a></li>
                    <li style="padding: 2px 0;">• <a href="/apis/openapi/section/rate-limiting" class="endpoint-link">Rate Limits</a></li>
                </ul>
            </div>

        </div>
    </div>

      <!-- NEW WEBHOOKS FEATURED BANNER -->
      <div style="background: #f8f9fa; border: 1px solid #e5e7eb; padding: 18px 20px; border-radius: 8px; margin-top: 20px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);">
          <div style="display: flex; align-items: center; gap: 14px;">
              <div style="flex: 1;">
                  <div style="display: flex; align-items: center; gap: 8px; margin-bottom: 6px;">
                      <strong style="font-size: 16px; color: #1f2937;">Webhooks API</strong>
                      **NEW**
                  </div>
                  <p style="font-size: 13px; margin: 0 0 12px 0; color: #6b7280; line-height: 1.5;">
                      Subscribe to real-time notifications when contacts change jobs or companies experience key business events.
                  </p>
                  <a href="/apis/openapi/webhooks" style="background: #2563eb; color: white; padding: 8px 16px; border-radius: 6px; text-decoration: none; font-size: 12px; font-weight: 600; display: inline-block; transition: all 0.2s;">
                      View Documentation →
                  </a>
              </div>
          </div>
      </div>

    <script>
        // JavaScript to rotate the arrow when expanded
        document.addEventListener('DOMContentLoaded', function() {
            const details = document.querySelectorAll('details');
            details.forEach(detail => {
                detail.addEventListener('toggle', function() {
                    const summary = this.querySelector('summary');
                    if (summary) {
                        if (this.open) {
                            summary.innerHTML = '▼ Common Use Cases';
                        } else {
                            summary.innerHTML = '▶ Common Use Cases';
                        }
                    }
                });
            });
        });
    </script>



    ---

    **<strong style="font-size: 1.2em; display: block; margin: 20px 0 10px
    0;">Data Source and Privacy</strong>**


    Please note that **Lusha is a search platform**, meaning the data provided
    is not created or directly managed by us. Instead, it is retrieved from
    publicly available sources and through contributions from trusted business
    partners.


    For more information on how we collect, use, and handle business profiles,
    please refer to our [Privacy
    Policy](https://lusha.com/legal/privacy-notice/).

    ----

    ## Authentication

    API keys are required for all API and MCP requests and are tied to your
    Lusha account and plan. To access the Lusha API, you must authenticate your
    requests using your API key. This key is unique to your account and is used
    to identify your usage of the API.

    <strong style="font-size: 1.2em; display: block; margin: 20px 0 10px 0;">How
    to Authenticate:</strong>

     When making an API call, include your API key in the `api_key` header of the
    request.

    > You can generate and retrieve your API key
    [here](https://dashboard.lusha.com/api/manage-api-keys).

    API keys should be stored securely and used only in server-side
    environments.


    ---


    ### Rate Limiting

    Lusha API enforces rate limiting to ensure fair usage and protect against
    excessive load.


    - **General Rate Limit**: You can make up to 25 requests per second to each
    API endpoint

    - **Credit Usage API**: Has a specific rate limit of 5 requests per minute

    > **Note**: Rate limits may vary based on your account type and subscription
    plan. 
     If you're encountering rate limit issues frequently, please consult with your 
     account manager or Lusha support team to discuss your specific needs.


    **Rate Limit Headers**


    To monitor your current rate limit status, check the HTTP response headers
    in your API calls:


    | Header | Description |

    |--------|-------------|

    | `x-rate-limit-daily` | The total number of requests allowed per day under
    your current plan |

    | `x-daily-requests-left` | The number of requests remaining in your daily
    quota |

    | `x-daily-usage` | The number of requests you have made in the current
    daily period |

    | `x-rate-limit-hourly` | The total number of requests allowed per hour
    under your current plan |

    | `x-hourly-requests-left` | The number of requests remaining in your hourly
    quota |

    | `x-hourly-usage` | The number of requests you have made in the current
    hourly period |

    | `x-rate-limit-minute` | The total number of requests allowed per minute
    under your current plan |

    | `x-minute-requests-left` | The number of requests remaining in your
    current minute window |

    | `x-minute-usage` | The number of requests you have made in the current
    minute window |


    **Notes on API Rate Limiting**

    - If you exceed the rate limit, the API will return a 429 (Too Many
    Requests) error.

    - To ensure a smooth experience, respect the rate limits defined by your
    subscription tier.

    - Daily limits vary based on your billing plan — higher tiers have higher
    quotas.

    - You can programmatically track your usage through these response headers:
      - `X-RateLimit-Remaining-Daily`
      - `X-RateLimit-Reset-Daily`
    - It is strongly recommended to implement logic that:
      - Monitors these headers
      - Pauses or retries requests accordingly
      - Helps avoid hitting the limit and ensures reliable operation

    ---

    ## Error Codes

    Lusha API uses standard HTTP response codes to indicate the status of your
    request. These codes help you understand whether the request was successful
    or if there was an issue.


    | Status Code | Name | Description |

    |-------------|------|-------------|

    | **200** | OK | Successful request |

    | **400** | Bad Request | Badly formatted request |

    | **401** | Unauthorized | The API key is invalid |

    | **402** | Payment Required | Your account requires payment |

    | **403** | Forbidden | Your account is not active. Please reach out to
    support at *support@lusha.com* for assistance |

    | **403** | Forbidden | Your pricing version does not support requesting
    individual datapoints [revealEmails, revealPhones] |

    | **404** | Not Found | The requested endpoint was not found |

    | **412** | Precondition Failed | The request failed due to invalid syntax
    that was provided. Please make sure to send a full name field that contains
    a valid first & last name |

    | **429** | Too Many Requests | You've reached your trial limit, please
    contact support for upgrade |

    | **429** | Too Many Requests | Daily API quota limit exceeded. Limit X
    calls per day |

    | **429** | Too Many Requests | Hourly API rate limit exceeded. Limit: X
    calls per hour. Reset in X seconds |

    | **451** | Unavailable For Legal Reasons | We are unable to process this
    contact request due to our GDPR regulations |

    | **499** | Client Closed Request | Request failed due to request timeout |

    | **5XX** | Server Error | There's a problem on Lusha's end |



    **Error Response Format**


    In case of an error, the response body will contain details about the error:


    ```json

    {
      "error": {
        "code": 400,
        "message": "Invalid request parameters"
      }
    }

    ```


    <strong style="font-size: 1.2em; display: block; margin: 20px 0 10px
    0;">Handling errors</strong>


    - Always ensure your API key is correct and valid

    - Pay attention to the specific error message and code to troubleshoot
    issues efficiently

    - Implement proper error handling and retry logic in your application

    - For 5XX errors, implement exponential backoff before retrying

        ---
  contact:
    name: Lusha Support
    url: https://api.lusha.com
    email: support@lusha.com
  termsOfService: https://lusha.com/legal/terms
  x-privacy-policy:
    name: Privacy Policy
    url: https://lusha.com/legal/privacy-notice/
servers:
  - url: https://api.lusha.com
    description: Production server
security:
  - ApiKeyAuth: []
tags:
  - name: Enrichment
    description: >-
      **What is enrichment?**:


      Enrichment is the process of adding missing or updated data to existing
      contact or company records.


      Use enrichment to:

      - Complete CRM records

      - Improve outbound accuracy and deliverability

      - Keep records current as people and companies change


      > Enrichment can be performed in real time or in bulk, depending on the
      endpoint and use case.


      **Available enrichment APIs**


      Person enrichment:

      - [**Search single
      contact**](/apis/openapi/enrichment/searchsinglecontact) - Enrich one
      contact at a time

      - [**Search multiple
      contacts**](/apis/openapi/enrichment/searchmultiplecontacts) - Bulk enrich
      contacts


      Company enrichment:

      - [**Search a single
      company**](/apis/openapi/enrichment/searchsinglecompanyv2) - Enrich one
      company at a time

      - [**Search multiple
      companies**](/apis/openapi/enrichment/searchmultiplecompaniesv2) - Bulk
      enrich companies
  - name: Prospecting - Search & Enrich
    description: >
      With Lusha's Prospecting API, you can query Lusha's extensive database
      based on specific criteria (such as job title, seniority, location, and
      more) to retrieve detailed contact and company information.


      The Prospecting API is designed to help you generate new records (contacts
      or companies) for your CRM system, using filters that align with your
      Ideal Customer Profile (ICP).


      This process involves three main steps:


      | Step | API | Description |

      |------|-----|-------------|

      | 1 | **Filters API** | Apply filters to refine your search *(Check
      available filters under [Contact](/apis/openapi/contact-filters) and
      [Company](/apis/openapi/company-filters) Filters)*|

      | 2 | **Search API** | Query
      [Contacts](/apis/openapi/prospecting-search-and-enrich/searchprospectingcontacts)
      or
      [Companies](/apis/openapi/prospecting-search-and-enrich/searchprospectingcompanies)
      using the available filters |

      | 3 | **Enrich API** | Get full details of
      [Contacts](/apis/openapi/prospecting-search-and-enrich/enrichprospectingcontacts)
      and
      [Companies](/apis/openapi/prospecting-search-and-enrich/enrichprospectingcompanies)
      from the search results |
    x-tag-expanded: true
  - name: Contact Filters
    description: Available filters for contact searches
    x-parent-tag: Prospecting
  - name: Company Filters
    description: Available filters for company searches
    x-parent-tag: Prospecting
  - name: Signals
    description: >-
      With Lusha’s Signals API, you can enrich your contacts and companies with
      timely insights that highlight key account and prospect changes. Signals
      help you identify moments of opportunity - from job moves and promotions
      to company growth and new initiatives - so you can engage prospects and
      customers at exactly the right time. Easily integrate signal data into
      enrichment flows, CRM systems, or automation workflows to keep pipelines
      and customer records always up to date.
    x-tag-expanded: true
  - name: Lookalikes
    description: >-
      Lusha's Lookalikes API helps you discover similar contacts and companies
      based on your existing data. Get AI-powered suggestions for new prospects
      that match your ideal customer profile.


      [**Contact Lookalikes**](/apis/openapi/lookalikes/getcontactlookalikes) -
      Find similar contacts based on role, seniority, and industry patterns.


      [**Company Lookalikes**](/apis/openapi/lookalikes/getcompanylookalikes)-
      Discover companies with similar firmographics and characteristics.
    x-tag-expanded: true
  - name: Webhooks
    description: >
      Subscribe to real-time notifications when contacts change jobs or
      companies experience key business events.


      Webhooks deliver HTTP POST requests to your endpoints when signals occur -
      from promotions and job changes to company growth.


      > For a full list of available signals, refer to [**Signal
      Options**](https://docs.lusha.com/apis/openapi/signals/getsignaloptions).

      ---

      **Key Features:**

      - Real-time contact & company signal notifications

      - Bulk subscription management (up to 25 items per request)

      - Secure delivery with HMAC-SHA256 signatures

      - Delivery monitoring with audit logs

       **Available Endpoints:**

      | Method | Endpoint | Purpose |

      |--------|----------|---------|

      | POST | `/api/subscriptions` | Create subscriptions (bulk supported) |

      | GET | `/api/subscriptions` | List all subscriptions |

      | GET | `/api/subscriptions/{id}` | Get subscription by ID |

      | PATCH | `/api/subscriptions/{id}` | Update subscription |

      | POST | `/api/subscriptions/delete` | Delete subscriptions (bulk
      supported) |

      | POST | `/api/subscriptions/{id}/test` | Test subscription delivery |

      | GET | `/api/audit-logs` | Get webhook delivery logs |

      | GET | `/api/audit-logs/stats` | Get delivery statistics |

      | GET | `/api/account/secret` | Get account webhook secret |

      | POST | `/api/account/secret/regenerate` | Regenerate account secret |


      > **Webhook Delivery Acknowledgment:** When receiving webhook deliveries
      (POST requests), your endpoint must acknowledge with a specific response
      format. See the [Create Subscription](#operation/createSubscription)
      endpoint for the required acknowledgment structure.
            ---

      <details>

      <summary><strong>Rate Limits</strong></summary>


      | Operation | Limit |

      |-----------|-------|

      | API Requests | 100 requests/minute per account |

      | Create Subscriptions | 25 items per request |

      | Delete Subscriptions | 25 items per request |


      </details>


      ---


      <details>

      <summary><strong>Security & Verification</strong></summary>


      **HTTPS Requirement:**

      - Production webhook URLs **must** use HTTPS

      - HTTP URLs are not accepted


      **Signature Verification:**


      All webhook deliveries include an `X-Lusha-Signature` header containing an
      HMAC-SHA256 signature. Verify this signature to ensure the request is from
      Lusha:


      1. Extract the `X-Lusha-Signature` and `X-Lusha-Timestamp` headers

      2. Concatenate: `timestamp + "." + JSON.stringify(payload)`

      3. Compute HMAC-SHA256 using your webhook secret

      4. Compare the computed signature with the received signature


      **Example (Node.js):**

      ```javascript

      const crypto = require('crypto');


      function verifySignature(payload, signature, timestamp, secret) {
        const signedPayload = `${timestamp}.${JSON.stringify(payload)}`;
        const expectedSignature = crypto
          .createHmac('sha256', secret)
          .update(signedPayload)
          .digest('hex');
        
        return crypto.timingSafeEqual(
          Buffer.from(signature),
          Buffer.from(expectedSignature)
        );
      }

      ```


      > **Security Best Practice:** Always verify webhook signatures to prevent
      spoofed requests.


      </details>


      ---


      <details>

      <summary><strong>Credits & Billing</strong></summary>


      **Credit Charges:**

      - Credits are charged when signals are detected and delivered to your
      webhook

      - The `creditsCharged` field in the webhook payload indicates how many
      credits were used

      - Credits are deducted from your account balance per signal type


      **No Duplicate Charges:**

      - Each signal is delivered once and charged once

      - Webhook delivery retries do not incur additional charges


      </details>


      ---


      <details>

      <summary><strong>Error Response Format</strong></summary>


      All error responses follow this format:

      ```json

      {
        "statusCode": 400,
        "message": "Validation failed",
        "errors": ["entityType must be one of: contact, company"]
      }

      ```


      | Field | Type | Description |

      |-------|------|-------------|

      | `statusCode` | number | HTTP status code |

      | `message` | string | Error message |

      | `errors` | string[] | Detailed error messages (optional) |


      </details>
          
      ---
  - name: Account Management
    description: >
      Manage your account and monitor usage.


      Use this endpoint to:

      - Monitor credit usage

      - Understand consumption patterns

      - Align API usage with plan limits

      - Support governance and production operations


      Account-level insights are especially important for teams running Lusha at
      scale or across multiple systems.
paths:
  /bulk/company/v2:
    post:
      tags:
        - Enrichment
      summary: Search Multiple Companies
      description: >
        Search for multiple companies in a single request. Provide a list of
        companies with 

        identifiers like domain names or company IDs.

        >##### Endpoint:
          ```
        POST https://api.lusha.com/bulk/company/v2
          ```


        >##### Notes: 
          - At least one of `domain`, `company`, or `companyId` is required. 
          - You can process up to 100 companies per request.
      operationId: searchMultipleCompaniesV2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompaniesBulkRequest'
            example:
              companies:
                - id: '1'
                  name: Lusha
                - id: '2'
                  domain: google.com
      responses:
        '200':
          description: Bulk company search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompaniesBulkResponse'
              example:
                '1':
                  id: 33222678
                  lushaCompanyId: '16303253'
                  name: Lusha
                  companySize:
                    - 201
                    - 500
                  fqdn: www.lusha.com
                  founded: '2016'
                  description: >-
                    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.


                    Lusha'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.


                    With Sales Streaming, salespeople spend most of their time
                    face-to-face with relevant prospects, driving 4-6X more
                    business.
                  logoUrl: >-
                    https://logo.lusha.co/brightdata/year=2024/month=05/day=03/j_lvq47h0g13te1b3wpu.e7b0795e7affc9953dadd43e6fce99a2c5260043.file_lvq4cfwv17kcb9m4ej.logo_cached.jpg
                  industryPrimaryGroupDetails:
                    sics:
                      - sic: 7371
                        description: Custom computer programming services
                    naics:
                      - naics: 541511
                        description: Custom Computer Programming Services
                  linkedin: https://www.linkedin.com/company/lushadata
                  mainIndustry: Technology, Information & Media
                  subIndustry: Software Development
                  city: Boston
                  state: Massachusetts
                  country: United States
                  countryIso2: US
                  continent: North America
                  rawLocation: 800 Boylston St; Suite 1410; Boston, Massachusetts 02199, US
                  linkedinFollowers: 1950
                  emailDomain: lusha.com
                  alternativeName: lusha systems
                  companyType: Private company
                  lushaPopularityTier: 2
                  employeesInLinkedin: 320
                  companyLocations:
                    - city: Boston
                      continent: North America
                      country: United States
                      country_iso2: US
                      location_coordinates:
                        - -71.05976867675781
                        - 42.358428955078125
                      state: Massachusetts
                      state_code: MA
                    - city: Tel Aviv
                      continent: Asia
                      country: Israel
                      country_iso2: IL
                      location_coordinates:
                        - 34.781769
                        - 32.0853
                      state: null
                      state_code: null
                  crunchbase: https://www.crunchbase.com/organization/lusha
                  specialities:
                    - data accuracy
                    - data availability
                    - data enrichment
                    - inside sales
                    - lead capture
                    - lead gen
                    - lead generation
                    - lead generation software
                    - lead intelligence
                    - lead mining
                    - lead nurturing
                    - prospecting
                    - sales enablement
                    - sales intelligence
                  funding:
                    rounds:
                      - currency: USD
                        roundAmount: 205000000
                        roundType: Private Equity Round
                        roundDate: Nov 10, 2021
                      - currency: USD
                        roundAmount: 40000000
                        roundType: Private Equity Round
                        roundDate: Feb 10, 2021
                    totalRounds: 2
                    totalRoundsAmount: 245000000
                    currency: USD
                    isIpo: false
                    lastRoundType: Private Equity Round
                    lastRoundAmount: 205000000
                    lastRoundDate: Nov 10, 2021
                  intent:
                    detectedTopics:
                      - topicName: HIPAA Compliance
                        metadata:
                          topicScore: 78
                          topicTrend: '-3'
                      - topicName: Software Development Lifecycle
                        metadata:
                          topicScore: 74
                          topicTrend: '-1'
                      - topicName: Asana
                        metadata:
                          topicScore: 72
                          topicTrend: New
                      - topicName: Agile Transformation
                        metadata:
                          topicScore: 71
                          topicTrend: '+7'
                      - topicName: Rally Software
                        metadata:
                          topicScore: 70
                          topicTrend: '+8'
                      - topicName: VersionOne
                        metadata:
                          topicScore: 70
                          topicTrend: '-10'
                    topicCount: 6
                '2':
                  id: 1441
                  lushaCompanyId: '10117615'
                  name: Google
                  companySize:
                    - 100001
                    - 10000000
                  revenueRange:
                    - 1000000000
                    - 10000000000
                  fqdn: www.google.com
                  description: >-
                    A problem isn't truly solved until it's solved for all.
                    Googlers build products that help create opportunities for
                    everyone, whether down the street or across the globe. Bring
                    your insight, imagination and a healthy disregard for the
                    impossible. Bring everything that makes you unique.
                    Together, we can build for everyone.


                    Check out our career opportunities at goo.gle/3DLEokh
                  logoUrl: >-
                    https://logo.lusha.co/coresignal/202405/c/82/c822c1b63853ed273b89687ac505f9fa
                  industryPrimaryGroupDetails:
                    sics:
                      - sic: 7372
                        description: Prepackaged software
                    naics:
                      - naics: 513210
                        description: Software Publishers
                  linkedin: https://www.linkedin.com/company/google
                  mainIndustry: Technology, Information & Media
                  subIndustry: Software Development
                  city: Mountain View
                  state: California
                  country: United States
                  countryIso2: US
                  continent: North America
                  rawLocation: 1600 Amphitheatre Parkway; Mountain View, CA 94043, US
                  linkedinFollowers: 23500000
                  emailDomain: google.com
                  alternativeName: google llc
                  companyType: Public company
                  lushaPopularityTier: 1
                  employeesInLinkedin: 182000
                  companyLocations:
                    - city: Mountain View
                      continent: North America
                      country: United States
                      country_iso2: US
                      location_coordinates:
                        - -122.08415985107422
                        - 37.4219970703125
                      state: California
                      state_code: CA
                    - city: New York
                      continent: North America
                      country: United States
                      country_iso2: US
                      location_coordinates:
                        - -74.00597381591797
                        - 40.71272277832031
                      state: New York
                      state_code: NY
                  crunchbase: https://www.crunchbase.com/organization/g-pay
                  specialities:
                    - ads
                    - android
                    - apps
                    - artificial intelligence agents
                    - cloud
                    - hardware
                    - machine learning
                    - mobile
                    - online video
                    - search
                    - software
                    - virtual reality
                    - youtube channel
                  intent:
                    detectedTopics:
                      - topicName: Rally Software
                        metadata:
                          topicScore: 70
                          topicTrend: '-6'
                      - topicName: Deel, Inc.
                        metadata:
                          topicScore: 70
                          topicTrend: '-8'
                      - topicName: GitHub Enterprise
                        metadata:
                          topicScore: 70
                          topicTrend: '-3'
                    topicCount: 3
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    CompaniesBulkRequest:
      type: object
      properties:
        companies:
          description: The list of companies to search
          type: array
          items:
            $ref: '#/components/schemas/CompanyBulkRequest'
        signals:
          type: array
          description: >
            Array of signal types to retrieve for the companies.

            - `allSignals`: All available signal types


            > See [Signal
            Filters](https://docs.lusha.com/apis/openapi/signal-filters/getsignaloptions)
            for complete details on available signals and their categories
          items:
            type: string
            enum:
              - allSignals
              - websiteTrafficIncrease
              - websiteTrafficDecrease
              - itSpendIncrease
              - itSpendDecrease
              - headcountIncrease1m
              - headcountDecrease1m
              - headcountIncrease3m
              - headcountDecrease3m
              - headcountIncrease6m
              - headcountDecrease6m
              - headcountIncrease12m
              - headcountDecrease12m
              - surgeInHiring
              - surgeInHiringByDepartment
              - surgeInHiringByLocation
              - riskNews
              - commercialActivityNews
              - corporateStrategyNews
              - financialEventsNews
              - peopleNews
              - marketIntelligenceNews
              - productActivityNews
          example:
            - surgeInHiringByLocation
        signalsStartDate:
          type: string
          format: date
          description: >
            Start date for signal retrieval in YYYY-MM-DD format. Defaults to 6
            months ago if not specified.
          example: '2025-03-01'
        signalsFilters:
          type: object
          description: >
            Optional filters to narrow signal results within the requested
            signal types.

            - Multi-value filters use **OR** logic

            - Filter values are **not** case-sensitive

            - Unrecognized values are **silently ignored**

            - `state` without `country` in `hiringByLocations` returns HTTP
            **400**
          properties:
            include:
              $ref: '#/components/schemas/CompanySignalFiltersInclude'
        partialCompany:
          type: boolean
          description: |
            Expand coverage with partial company profiles
          default: true
          example: false
      required:
        - companies
    CompaniesBulkResponse:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/CompanyBulkResponse'
    CompanyBulkRequest:
      type: object
      properties:
        id:
          type: string
          description: >-
            A unique sequential ID associated with each company. This ID is used
            to correlate the provided company object with the API response
          example: '1'
        domain:
          type: string
          description: The domain name associated with the company
          example: lusha.com
        fqdn:
          type: string
          description: The Fully Qualified Domain Name (FQDN) of the company.
        name:
          type: string
          description: The name of the company
          example: Lusha
        companyId:
          type: string
          description: >-
            A unique identifier for a Lusha company. Note: Values may be removed
            or merged. No management system exists to log historical changes for
            companyId. This field is intended for deprecation in the future.
          example: '1234567890'
      required:
        - id
    CompanySignalFiltersInclude:
      type: object
      description: >
        Optional sub-filters to narrow results within a signal type.

        - Multi-value filters use **OR** logic

        - Filter values are **not** case-sensitive

        - `state` without `country` in `hiringByLocations` returns HTTP **400**


        > See [Signal Options](#operation/getSignalOptions) for available enum
        values.
      properties:
        newsEventTypes:
          type: array
          description: Filter news signals by specific event types.
          items:
            type: string
            enum:
              - Asset Investment
              - Asset Sale
              - Competitor Activity
              - Event Participation
              - Executive Departure
              - Executive Hire
              - Executive Promotion
              - Facilities Expansion
              - Facility Closure
              - Funding Round
              - Headcount Decrease
              - Headcount Increase
              - IPO
              - Lawsuit Faced
              - Lawsuit Filed
              - M&A
              - New Customer
              - New Location
              - New Vendor
              - Partnership
              - Product Development
              - Product Integration
              - Product Launch
              - Recognition
              - Security Issue
              - Strategic Investment
          example:
            - Partnership
            - New Customer
        hiringByDepartments:
          type: array
          description: Filter `surgeInHiringByDepartment` signals by department.
          items:
            type: string
            enum:
              - Business Development
              - Consulting
              - Customer Service
              - Engineering & Technical
              - Finance
              - General Management
              - Health Care & Medical
              - Human Resources
              - Information Technology
              - Legal
              - Marketing
              - Operations
              - Other
              - Product
              - Research & Analytics
              - Sales
          example:
            - Engineering & Technical
            - Sales
        hiringByLocations:
          type: array
          description: Filter `surgeInHiringByLocation` signals by country/state.
          items:
            $ref: '#/components/schemas/SignalFilterLocation'
          example:
            - country: United States
              state: California
            - country: Germany
    CompanyBulkResponse:
      type: object
      properties:
        id:
          type: number
          example: 33222678
          description: A unique identifier for the Lusha company.
        lushaCompanyId:
          type: string
          example: '16303253'
          description: Lusha's internal company identifier.
        name:
          type: string
          example: Lusha
          description: The name of the company.
        companySize:
          example:
            - 201
            - 500
          description: The size range of the company, based on number of employees.
          type: array
          items:
            type: number
        linkedinFollowers:
          type: integer
          description: LinkedIn followers count for the company
          example: 1950
        emailDomain:
          type: string
          description: Company email domain
          example: bitcoinromania.ro
        companyLocations:
          type: array
          description: >-
            All known company locations (not just HQ). Key difference from
            existing HQ location fields — this includes all company site
            locations.
          items:
            type: object
            properties:
              city:
                type: string
              continent:
                type: string
              country:
                type: string
              country_iso2:
                type: string
              location_coordinates:
                type: array
                items:
                  type: number
              state:
                type: string
                nullable: true
              state_code:
                type: string
                nullable: true
        alternativeName:
          type: string
          description: Normalized alternative company name
          example: bitcoin romania
        companyType:
          type: string
          description: Type of company
          example: Private company
        lushaPopularityTier:
          type: integer
          description: >-
            A proprietary ranking used by Lusha to categorize companies based on
            their popularity in the platform
          example: 1
        employeesInLinkedin:
          type: number
          description: Number of employees listed on LinkedIn
          example: 32
        revenueRange:
          example:
            - 10000000
            - 50000000
          description: The company's revenue range.
          type: array
          items:
            type: number
        fqdn:
          type: string
          example: www.lusha.com
          description: The Fully Qualified Domain Name (FQDN) of the company.
        founded:
          type: string
          example: '2016'
          description: The date the company was founded.
        description:
          type: string
          example: Lusha is the sales intelligence platform...
          description: A brief description of the company.
        logoUrl:
          type: string
          example: https://logo.lusha.co/logo.jpg
          description: The URL of the company's logo.
        industryPrimaryGroupDetails:
          $ref: '#/components/schemas/CompanyIndustryPrimaryGroupDetails'
          description: >-
            Primary industry classification details including SIC and NAICS
            codes.
        linkedin:
          type: string
          example: https://www.linkedin.com/company/lushadata
          description: The LinkedIn URL of the company.
        mainIndustry:
          type: string
          example: Technology, Information & Media
          description: The main industry category of the company.
        subIndustry:
          type: string
          example: Software Development
          description: The specific sub-industry of the company.
        city:
          type: string
          example: Boston
          description: The city where the company is located.
        state:
          type: string
          example: Massachusetts
          description: The state where the company is located.
        country:
          type: string
          example: United States
          description: The country where the company is located.
        countryIso2:
          type: string
          example: US
          description: The ISO 3166-1 alpha-2 country code.
        continent:
          type: string
          example: North America
          description: The continent where the company is located.
        rawLocation:
          type: string
          example: 800 Boylston St; Suite 1410; Boston, Massachusetts 02199, US
          description: The full address of the company.
        crunchbase:
          type: string
          example: https://www.crunchbase.com/organization/lusha
          description: The Crunchbase URL of the company.
        specialities:
          type: array
          items:
            type: string
          example:
            - data accuracy
            - sales intelligence
          description: Company specialties and focus areas.
        funding:
          $ref: '#/components/schemas/CompanyFunding'
          description: Company funding information.
        intent:
          $ref: '#/components/schemas/CompanyIntent'
          description: Company intent signals and topics.
        technologies:
          type: array
          items:
            $ref: '#/components/schemas/CompanyTechnology'
          description: Technologies used by the company.
        riskNews:
          type: array
          description: Litigations and security news signals
          items:
            $ref: '#/components/schemas/CompanyNewsSignal'
        commercialActivityNews:
          type: array
          description: Launches, partnerships, and go-to-market activity signals
          items:
            $ref: '#/components/schemas/CompanyNewsSignal'
        corporateStrategyNews:
          type: array
          description: M&A, restructuring, or strategic direction change signals
          items:
            $ref: '#/components/schemas/CompanyNewsSignal'
        financialEventsNews:
          type: array
          description: Funding, IPOs, and financial performance event signals
          items:
            $ref: '#/components/schemas/CompanyNewsSignal'
        peopleNews:
          type: array
          description: Hiring, layoffs, or leadership change signals
          items:
            $ref: '#/components/schemas/CompanyNewsSignal'
        marketIntelligenceNews:
          type: array
          description: Event participation, recognition, and competitor activity signals
          items:
            $ref: '#/components/schemas/CompanyNewsSignal'
        productActivityNews:
          type: array
          description: Product launch, development, and integration news signals
          items:
            $ref: '#/components/schemas/CompanyNewsSignal'
        surgeInHiring:
          type: array
          description: Overall hiring surge signals
          items:
            $ref: '#/components/schemas/CompanySurgeInHiringSignal'
        surgeInHiringByDepartment:
          type: array
          description: Department-specific hiring surge signals
          items:
            $ref: '#/components/schemas/CompanySurgeInHiringByDepartmentSignal'
        surgeInHiringByLocation:
          type: array
          description: Location-specific hiring surge signals
          items:
            $ref: '#/components/schemas/CompanySurgeInHiringByLocationSignal'
        websiteTrafficIncrease:
          type: array
          description: Website traffic increase signals
          items:
            $ref: '#/components/schemas/CompanyWebsiteTrafficSignal'
        websiteTrafficDecrease:
          type: array
          description: Website traffic decrease signals
          items:
            $ref: '#/components/schemas/CompanyWebsiteTrafficSignal'
        itSpendIncrease:
          type: array
          description: IT spending increase signals
          items:
            $ref: '#/components/schemas/CompanyItSpendSignal'
        itSpendDecrease:
          type: array
          description: IT spending decrease signals
          items:
            $ref: '#/components/schemas/CompanyItSpendSignal'
        headcountIncrease1m:
          type: array
          items:
            $ref: '#/components/schemas/CompanyHeadcountChangeSignal'
        headcountDecrease1m:
          type: array
          items:
            $ref: '#/components/schemas/CompanyHeadcountChangeSignal'
        headcountIncrease3m:
          type: array
          items:
            $ref: '#/components/schemas/CompanyHeadcountChangeSignal'
        headcountDecrease3m:
          type: array
          items:
            $ref: '#/components/schemas/CompanyHeadcountChangeSignal'
        headcountIncrease6m:
          type: array
          items:
            $ref: '#/components/schemas/CompanyHeadcountChangeSignal'
        headcountDecrease6m:
          type: array
          items:
            $ref: '#/components/schemas/CompanyHeadcountChangeSignal'
        headcountIncrease12m:
          type: array
          items:
            $ref: '#/components/schemas/CompanyHeadcountChangeSignal'
        headcountDecrease12m:
          type: array
          items:
            $ref: '#/components/schemas/CompanyHeadcountChangeSignal'
    ErrorResponse:
      type: object
      required:
        - statusCode
        - message
      properties:
        statusCode:
          type: integer
          description: HTTP status code
          example: 400
        message:
          type: string
          description: Error message
          example: Validation failed
        errors:
          type: array
          items:
            type: string
          description: Detailed error messages (optional, only for validation errors)
          example:
            - 'entityType must be one of: contact, company'
    SignalFilterLocation:
      type: object
      description: >
        Location filter for hiring signals. `country` is required; `state` is
        optional.

        Providing `state` without `country` returns HTTP 400.
      required:
        - country
      properties:
        country:
          type: string
          example: United States
        state:
          type: string
          example: California
    CompanyIndustryPrimaryGroupDetails:
      type: object
      properties:
        sicCodes:
          type: array
          items:
            $ref: '#/components/schemas/CompanySic'
        naicsCodes:
          type: array
          items:
            $ref: '#/components/schemas/CompanyNaics'
    CompanyFunding:
      type: object
      properties:
        rounds:
          description: List of funding rounds
          type: array
          items:
            $ref: '#/components/schemas/CompanyFundingRound'
        totalRounds:
          type: number
          example: 2
          description: Total number of rounds
        totalRoundsAmount:
          type: number
          example: 245000000
          description: Total amount raised across all rounds
        currency:
          type: string
          example: USD
          description: Currency used
        isIpo:
          type: boolean
          example: false
          description: Whether the company has gone public
        lastRoundType:
          type: string
          example: Private Equity Round
          description: Type of the last funding round
        lastRoundAmount:
          type: number
          example: 205000000
          description: Amount of the last funding round
        lastRoundDate:
          type: string
          example: Nov 10, 2021
          description: Date of the last funding round
      required:
        - totalRounds
        - currency
        - isIpo
    CompanyIntent:
      type: object
      properties:
        detectedTopics:
          description: Detected intent topics
          type: array
          items:
            $ref: '#/components/schemas/CompanyIntentTopic'
        topicCount:
          type: number
          example: 6
          description: Number of topics detected
      required:
        - detectedTopics
        - topicCount
    CompanyTechnology:
      type: object
      properties:
        name:
          type: string
          example: salesforce
          description: Technology name used by the company
      required:
        - name
    CompanyNewsSignal:
      type: object
      properties:
        companyId:
          type: string
          description: Lusha company identifier
          example: '33222678'
        companyName:
          type: string
          description: Company name
          example: Lusha
        domain:
          type: string
          description: Company domain
          example: lusha.com
        signalId:
          type: string
          description: Signal identifier
          example: '1503910'
        eventType:
          type: string
          description: Type of event
          example: partnership
        eventSummary:
          type: string
          description: Summary of the event
          example: >-
            Lusha announced a strategic partnership with Salesforce to integrate
            its data enrichment capabilities.
        articlePublishedDate:
          type: string
          format: date
          description: Publication date of the article
          example: '2025-06-15'
        articleTitle:
          type: string
          description: Title of the article
          example: Lusha Partners with Salesforce to Enhance CRM Data Quality
        articleHighlight:
          type: string
          description: Key highlight from the article
          example: >-
            The partnership will enable Salesforce users to access Lusha's
            contact and company data directly within their CRM.
        eventEffectiveDate:
          type: string
          format: date
          description: Effective date of the event
          example: '2025-06-10'
        articleUrl:
          type: string
          format: uri
          description: URL to the source article
          example: https://example.com/lusha-salesforce-partnership
    CompanySurgeInHiringSignal:
      type: object
      properties:
        companyId:
          type: string
          example: '3416'
        signalId:
          type: string
          example: '1503905'
        signalDate:
          type: string
          format: date
          example: '2025-06-15'
        newJobsPostedLastWeek:
          type: number
          description: Jobs posted in the last week
          example: 25
        historicalAvg:
          type: number
          description: Historical weekly average
          example: 10
        changeRatePercent:
          type: number
          description: Percentage increase
          example: 150
        companyName:
          type: string
          example: Lusha
        domain:
          type: string
          example: lusha.com
    CompanySurgeInHiringByDepartmentSignal:
      type: object
      properties:
        signalId:
          type: string
          example: '1503906'
        companyId:
          type: string
          example: '3416'
        department:
          type: string
          description: Department with hiring surge
          example: Engineering
        signalDate:
          type: string
          format: date
          example: '2025-06-15'
        newJobsPostedLast4Weeks:
          type: number
          description: Jobs posted in last 4 weeks for this department
          example: 15
        historicalAvg:
          type: number
          description: Historical 4-week average for this department
          example: 5
        changeRatePercent:
          type: number
          description: Percentage increase
          example: 200
        companyName:
          type: string
          example: Lusha
        domain:
          type: string
          example: lusha.com
    CompanySurgeInHiringByLocationSignal:
      type: object
      properties:
        signalId:
          type: string
          example: '1503907'
        companyId:
          type: string
          example: '3416'
        country:
          type: string
          description: Country with hiring surge
          example: United States
        state:
          type: string
          description: State/region with hiring surge
          example: California
        signalDate:
          type: string
          format: date
          example: '2025-06-15'
        newJobsPostedLast4Weeks:
          type: number
          description: Jobs posted in last 4 weeks for this location
          example: 20
        historicalAvg:
          type: number
          description: Historical 4-week average for this location
          example: 8
        changeRatePercent:
          type: number
          description: Percentage increase
          example: 150
        companyName:
          type: string
          example: Lusha
        domain:
          type: string
          example: lusha.com
    CompanyWebsiteTrafficSignal:
      type: object
      properties:
        companyId:
          type: string
          example: '3416'
        signalId:
          type: string
          example: '1503902'
        signalDate:
          type: string
          format: date
          example: '2025-06-15'
        historicalAvg:
          type: number
          description: Historical average monthly visits
          example: 50000
        lastMonthVisits:
          type: number
          description: Visits in the last month
          example: 75000
        changeRatePercent:
          type: number
          description: Percentage change from historical average
          example: 50
        companyName:
          type: string
          example: Lusha
        domain:
          type: string
          example: lusha.com
    CompanyItSpendSignal:
      type: object
      properties:
        companyId:
          type: string
          example: '3416'
        signalId:
          type: string
          example: '1503903'
        signalDate:
          type: string
          format: date
          example: '2025-06-15'
        estimatedAnnualItSpend:
          type: number
          description: Estimated annual IT spending (USD)
          example: 5000000
        changeRatePercent:
          type: number
          description: Percentage change in IT spending
          example: 25
        companyName:
          type: string
          example: Lusha
        domain:
          type: string
          example: lusha.com
    CompanyHeadcountChangeSignal:
      type: object
      properties:
        companyId:
          type: string
          example: '3416'
        signalId:
          type: string
          example: '1503904'
        signalDate:
          type: string
          format: date
          example: '2025-06-15'
        baselineEmployeesCount:
          type: number
          description: Employee count at baseline
          example: 500
        newEmployeesCount:
          type: number
          description: Current employee count
          example: 550
        changeRatePercent:
          type: number
          description: Percentage change
          example: 10
        companyName:
          type: string
          example: Lusha
        domain:
          type: string
          example: lusha.com
    CompanySic:
      type: object
      properties:
        sicCodes:
          type: number
          example: 1234
        description:
          type: string
          example: Software Publishing
      required:
        - sic
        - description
    CompanyNaics:
      type: object
      properties:
        naicsCodes:
          type: number
          example: 541511
        description:
          type: string
          example: Custom Computer Programming Services
      required:
        - naics
        - description
    CompanyFundingRound:
      type: object
      properties:
        currency:
          type: string
          example: USD
          description: Currency of the funding round
        roundAmount:
          type: number
          example: 205000000
          description: Amount raised in the round
        roundType:
          type: string
          example: Private Equity Round
          description: Type of funding round
        roundDate:
          type: string
          example: Nov 10, 2021
          description: Date of the funding round
      required:
        - currency
        - roundAmount
        - roundType
        - roundDate
    CompanyIntentTopic:
      type: object
      properties:
        topicName:
          type: string
          example: Remote Sales
          description: Name of the intent topic
        metadata:
          $ref: '#/components/schemas/CompanyIntentTopicMetadata'
      required:
        - topicName
        - metadata
    CompanyIntentTopicMetadata:
      type: object
      properties:
        topicScore:
          type: number
          example: 83
          description: Relevance score for the intent topic
        topicTrend:
          type: string
          example: '-5'
          description: Trend of the topic (e.g., +1, -5, New)
      required:
        - topicScore
        - topicTrend
  responses:
    BadRequest:
      description: Bad request - invalid input data
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            statusCode: 400
            message: Invalid request parameters
    Unauthorized:
      description: Unauthorized - invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            statusCode: 401
            message: Invalid API key
    TooManyRequests:
      description: Too many requests - rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            statusCode: 429
            message: Too many requests. Please wait before making another request.
      headers:
        RateLimit-Limit:
          description: The total number of allowed requests per second
          schema:
            type: integer
        RateLimit-Remaining:
          description: The number of remaining requests in the current window
          schema:
            type: integer
        RateLimit-Reset:
          description: The time (in seconds) until the rate limit quota is reset
          schema:
            type: integer
        X-RateLimit-Remaining-Daily:
          description: The number of remaining requests for your daily quota
          schema:
            type: integer
        X-RateLimit-Reset-Daily:
          description: The time when your daily quota will reset
          schema:
            type: integer
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            statusCode: 500
            message: Internal server error. Please try again later.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key
      description: >
        Your Lusha API key. You can find this in your Lusha dashboard under API
        settings.


        Include this key in the `api_key` header for all requests.

````