openapi: 3.0.3
info:
  title: Lusha API
  description: >
    Lusha provides a RESTful API that allows you to query a comprehensive
    dataset of business profiles and company information. 


    ## Getting Started

    To use the Lusha API, you'll need an API key. Include it in the `api_key`
    header with each request.


    ## Main Features

    - **Person Search**: Find contact information for individuals

    - **Company Search**: Get detailed company information  

    - **Account Usage**: Monitor your API credit usage
  version: 2.0.0
  contact:
    name: Lusha Support
    url: https://lusha.com/support
    email: support@lusha.com
  termsOfService: https://lusha.com/terms
  license:
    name: Lusha API License
    url: https://lusha.com/api-license
servers:
  - url: https://api.lusha.com
    description: Production server
  - url: https://api-staging.lusha.com
    description: Staging server
security:
  - ApiKeyAuth: []
tags:
  - name: Person
    description: Search for individual contacts and their information
  - name: Company
    description: Search for company information and details
  - name: Account
    description: Manage your account and monitor usage
paths:
  /v2/person:
    post:
      tags:
        - Person
      summary: Search Multiple Contacts
      description: >
        Enrich multiple contacts in a single request. This endpoint allows you
        to submit a list of contacts 

        and receive enriched data for each one, including company information.


        **Rate Limits**: Please check your account limits for bulk operations.
      operationId: PersonController_searchBulkContacts
      security:
        - ApiKeyAuth: []
      requestBody:
        required: true
        description: The list of contacts to enrich
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchBulkContactsRequest'
            example:
              contacts:
                - contactId: '1'
                  fullName: John Doe
                  email: john@example.com
                  companies:
                    - name: Example Corp
                      domain: example.com
                      isCurrent: true
              metadata:
                revealEmails: true
                revealPhones: true
      responses:
        '200':
          description: The list of enriched contacts with their company details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkPersonResponse'
        '400':
          description: Bad request - invalid input data
        '401':
          description: Unauthorized - invalid or missing API key
        '429':
          description: Too many requests - rate limit exceeded
        '500':
          description: Internal server error
    get:
      tags:
        - Person
      summary: Search Single Contact
      description: >
        Find and enrich a single contact using various search criteria. You can
        search by name, email, 

        LinkedIn URL, or company information.


        **Search Tips:**

        - Provide as much information as possible for better results

        - Use `refreshJobInfo=true` to get the latest employment data

        - Use `filterBy` parameter to specify what contact details you need
      operationId: PersonController_searchSingleContact
      security:
        - ApiKeyAuth: []
      parameters:
        - name: firstName
          in: query
          description: The first name of the person
          required: false
          schema:
            type: string
          example: Dustin
        - name: lastName
          in: query
          description: The last name of the person
          required: false
          schema:
            type: string
          example: Moskovitz
        - name: companyName
          in: query
          description: The name of the company the person works at
          required: false
          schema:
            type: string
          example: Lusha
        - name: companyDomain
          in: query
          description: The domain name of the company
          required: false
          schema:
            type: string
          example: lusha.com
        - name: email
          in: query
          description: The email address of the person
          required: false
          schema:
            type: string
            format: email
          example: dustin@lusha.com
        - name: linkedinUrl
          in: query
          description: The LinkedIn URL of the person
          required: false
          schema:
            type: string
            format: uri
          example: https://www.linkedin.com/in/dustin/
        - name: refreshJobInfo
          in: query
          description: >
            Set to true to refresh and update the job details for the person. 

            This ensures that outdated job information is replaced with the most
            recent data.
          required: false
          schema:
            type: boolean
            default: false
          example: true
        - name: filterBy
          in: query
          description: >
            Filters results based on specific contact details. Available
            options:

            - `phoneNumbers`: Only return contacts with phone numbers

            - `emailAddresses`: Only return contacts with email addresses


            By default, results will include contacts with at least one contact
            detail.
          required: false
          schema:
            type: string
            enum:
              - phoneNumbers
              - emailAddresses
        - name: revealEmails
          in: query
          description: Whether to reveal email addresses in the response
          required: false
          schema:
            type: boolean
            default: true
          example: true
        - name: revealPhones
          in: query
          description: Whether to reveal phone numbers in the response
          required: false
          schema:
            type: boolean
            default: true
          example: true
      responses:
        '200':
          description: Successfully found contact information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SingleContactResponse'
        '400':
          description: Bad request - invalid search parameters
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Contact not found
        '429':
          description: Too many requests - rate limit exceeded
        '500':
          description: Internal server error
  /account/usage:
    get:
      tags:
        - Account
      summary: Get Account Usage Statistics
      description: >
        Retrieve your current API credit usage statistics including used,
        remaining, and total credits.


        **Rate Limits**: This endpoint has a rate limit of 5 requests per
        minute.
      operationId: AccountController_getAccountUsageStats
      security:
        - ApiKeyAuth: []
      parameters:
        - name: X-RateLimit-Limit
          in: header
          description: |
            The Credit Usage API has a rate limit of 5 requests per minute.
            This header shows the current limit.
          required: false
          schema:
            type: integer
            example: 5
      responses:
        '200':
          description: Account usage statistics retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUsageStatsResponse'
              example:
                usage:
                  used: 150
                  total: 1000
                  remaining: 850
        '401':
          description: Unauthorized - invalid or missing API key
        '429':
          description: Too many requests - rate limit exceeded
        '500':
          description: Internal server error
  /v2/company:
    post:
      tags:
        - Company
      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.
      operationId: CompanyController_searchBulkCompanies
      security:
        - ApiKeyAuth: []
      requestBody:
        required: true
        description: List of companies to search for
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompaniesBulkRequest'
            example:
              companies:
                - id: '1'
                  domain: lusha.com
                  name: Lusha
      responses:
        '200':
          description: Bulk company search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompaniesBulkResponse'
        '400':
          description: Bad request - invalid input data
        '401':
          description: Unauthorized - invalid or missing API key
        '429':
          description: Too many requests - rate limit exceeded
        '500':
          description: Internal server error
    get:
      tags:
        - Company
      summary: Search Single Company
      description: >
        Find detailed information about a single company using domain name,
        company name, or company ID.


        **Note**: At least one of `domain`, `company`, or `companyId` is
        required.
      operationId: CompanyController_searchSingleCompany
      security:
        - ApiKeyAuth: []
      parameters:
        - name: domain
          in: query
          description: The domain name associated with the company
          required: false
          schema:
            type: string
          example: example.com
        - name: company
          in: query
          description: The name of the company
          required: false
          schema:
            type: string
          example: Lusha
        - name: companyId
          in: query
          description: >
            A unique identifier for a Lusha company. 


            **Note**: Values may be removed or merged. This field is intended
            for deprecation in the future.
          required: false
          schema:
            type: string
          example: '1234567890'
      responses:
        '200':
          description: Company information retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanySingleResponse'
        '400':
          description: Bad request - missing required parameters
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Company not found
        '429':
          description: Too many requests - rate limit exceeded
        '500':
          description: Internal server error
components:
  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.
  schemas:
    Company:
      type: object
      properties:
        name:
          type: string
          description: The name of the company, Required if no domain.
          example: Lusha
        domain:
          type: string
          description: The domain of the company, Required if no name.
          example: lusha.com
        isCurrent:
          type: boolean
          description: Indicates whether this is the person's current company
          example: true
        jobTitle:
          type: string
          description: The job title of the person at the company
          example: Software Engineer
        fqdn:
          type: string
          description: The fully qualified domain name of the company
          example: https://lusha.com
        companySocialId:
          type: string
          description: The social ID associated with the company (if available)
          example: '1234567890'
      required:
        - name
        - domain
        - isCurrent
    ContactSearchBulk:
      type: object
      properties:
        contactId:
          type: string
          description: >-
            A unique sequential ID to associate with the contact object in the
            API response
          example: '1234'
        fullName:
          type: string
          description: The full name of the person
          example: Dustin Moskovitz
        location:
          type: string
          description: The raw location of the person
          example: Singapore,Chicago
        linkedinUrl:
          type: string
          description: The LinkedIn URL of the person
          example: https://www.linkedin.com/in/dustin/
        email:
          type: string
          description: The email address of the person
          example: dustin@lusha.com
        companies:
          description: >-
            Details of the company where the contact is currently employed (or
            previously employed if applicable)
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/Company'
      required:
        - contactId
    Metadata:
      type: object
      properties:
        refreshJobInfo:
          type: boolean
          description: >-
            Set this to true to refresh job information for the contact. This
            replaces any outdated job details with the most current information.
            By default, Lusha returns results for records that have at least one
            of the specified contact details (e.g., phone number or email
            address).
          example: true
        filterBy:
          type: string
          description: >-
            Filters the results based on specific contact details. Use the
            following options: emailAddresses, phoneNumbers
          example: emailAddresses
        revealEmails:
          type: boolean
          description: Indicates whether to reveal the email addresses of the contacts
          example: true
        revealPhones:
          type: boolean
          description: Indicates whether to reveal the phone numbers of the contacts
          example: true
    SearchBulkContactsRequest:
      type: object
      properties:
        contacts:
          description: >-
            This is a required parameter that should contain a list of contact
            objects. Each contact will be processed based on the provided
            contact details.
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/ContactSearchBulk'
        metadata:
          description: Metadata for the search to filter the results
          oneOf:
            - $ref: '#/components/schemas/Metadata'
          allOf:
            - $ref: '#/components/schemas/Metadata'
      required:
        - contacts
    ContactError:
      type: object
      properties:
        code:
          type: number
          description: The code of the contact error
          example: 3
        name:
          type: string
          description: The name of the contact error
          example: EMPTY_DATA
        message:
          type: string
          description: The message of the contact error
          example: Could not find requested data
      required:
        - code
        - name
        - message
    EmailAddress:
      type: object
      properties:
        emailType:
          type: string
          description: The type of email address
          example: work
        emailConfidence:
          type: string
          description: The confidence level of the email address
          example: A, A+
        updateDate:
          type: string
          description: The update date of the email address
          example: '2020-01-01'
      required:
        - emailType
        - emailConfidence
        - updateDate
    PhoneNumbers:
      type: object
      properties:
        phoneType:
          type: string
          description: The type of phone number
          example: Mobile, Direct
        doNotCall:
          type: boolean
          description: Indicates whether the phone number is listed as "Do Not Call" (DNC).
          example: false
        updateDate:
          type: string
          description: The update date of the phone number
          example: '2020-01-01'
      required:
        - phoneType
        - doNotCall
        - updateDate
    LocationResponse:
      type: object
      properties:
        country:
          type: string
          description: The country where the person is located.
          example: Israel
        countryIso2:
          type: string
          description: The ISO 3166-1 alpha-2 country code of the person.
          example: IL
        country_iso2:
          type: string
          description: The ISO 3166-1 alpha-2 country code of the person.
          example: IL
        continent:
          type: string
          description: The continent where the person is located.
          example: Asia
        rawLocation:
          type: string
          description: The raw location of the person.
          example: Tel Aviv, Israel
        region:
          type: string
          description: The region where the person is located.
          example: Tel Aviv
        city:
          type: string
          description: The city where the person is located.
          example: Tel Aviv
        cityId:
          type: number
          description: The ID of the city where the person is located.
          example: 123
        state:
          type: string
          description: The state where the person is located.
          example: Tel Aviv
        stateCode:
          type: string
          description: The state code of the person.
          example: IL
        state_code:
          type: string
          description: The state code of the person.
          example: IL
        street:
          type: string
          description: The street where the person is located.
          example: 123 Main St
        locationCoordinates:
          description: The coordinates of the person.
          example:
            - 32.0853
            - 34.7818
          type: array
          items:
            type: string
        isEuContact:
          type: boolean
          description: Indicates whether the person is in the EU.
          example: true
      required:
        - country
        - countryIso2
        - country_iso2
        - continent
        - rawLocation
        - region
        - city
        - cityId
        - state
        - stateCode
        - state_code
        - street
        - locationCoordinates
        - isEuContact
    JobTitle:
      type: object
      properties:
        seniority:
          type: string
          description: The seniority of the person.
          example: Director
        title:
          type: string
          description: The title of the person.
          example: Director of Platform
        departments:
          description: The departments of the person.
          example:
            - Engineering
            - Operations
          type: array
          items:
            type: string
      required:
        - seniority
        - title
        - departments
    PreviousJobResponse:
      type: object
      properties:
        jobTitle:
          description: The job title of the person
          example: Software Engineer
          allOf:
            - $ref: '#/components/schemas/JobTitle'
        company:
          description: The company of the person
          example: Lusha
          allOf:
            - $ref: '#/components/schemas/Company'
      required:
        - jobTitle
        - company
    SocialLinks:
      type: object
      properties:
        linkedin:
          type: string
          description: The LinkedIn URL of the person
          example: https://www.linkedin.com/in/dustin/
      required:
        - linkedin
    ContactTag:
      type: object
      properties:
        id:
          type: string
          description: The ID of the contact tag
          example: '123'
        name:
          type: string
          description: The name of the contact tag
          example: Prospect
        color:
          type: string
          description: The color of the contact tag
          example: '#000000'
      required:
        - id
        - name
        - color
    Contact:
      type: object
      properties:
        companyId:
          type: number
          description: >-
            A unique identifier for the company on Lusha (note that values may
            be removed or merged without a change history).
          example: 123
        firstName:
          type: string
          description: The first name of the person
          example: Dustin
        lastName:
          type: string
          description: The last name of the person
          example: Moskovitz
        fullName:
          type: string
          description: The full name of the person
          example: Dustin Moskovitz
        emailAddresses:
          description: The email addresses of the person
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/EmailAddress'
        phoneNumbers:
          description: The phone numbers of the person
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PhoneNumbers'
        location:
          description: The location of the person
          oneOf:
            - $ref: '#/components/schemas/LocationResponse'
        jobTitle:
          description: The job title of the person
          oneOf:
            - $ref: '#/components/schemas/JobTitle'
        socialLinks:
          description: The social links of the person
          oneOf:
            - $ref: '#/components/schemas/SocialLinks'
        jobStartDate:
          type: string
          description: The start date of the person
          example: '2020-01-01'
        previousJob:
          description: The previous job of the person
          oneOf:
            - $ref: '#/components/schemas/PreviousJobResponse'
        personId:
          type: number
          description: The person ID
          example: 123456
        contactTags:
          description: The tags of the person
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/ContactTag'
        updateDate:
          type: string
          description: The update date of the person
          example: '2020-01-01'
      required:
        - companyId
        - firstName
        - lastName
        - fullName
        - emailAddresses
        - phoneNumbers
        - location
        - jobTitle
        - socialLinks
        - jobStartDate
        - previousJob
        - personId
        - contactTags
        - updateDate
    ContactResponse:
      type: object
      properties:
        error:
          description: The error of the contact
          oneOf:
            - $ref: '#/components/schemas/ContactError'
        isCreditCharged:
          type: boolean
          description: Indicates whether a credit charge was made for the contact
          example: true
        data:
          description: The data of the contact
          oneOf:
            - $ref: '#/components/schemas/Contact'
      required:
        - error
        - isCreditCharged
        - data
    SocialResponse:
      type: object
      properties:
        linkedin:
          type: string
          description: The LinkedIn URL of the person
          example: https://www.linkedin.com/in/dustin/
        crunchbase:
          type: string
          description: The Crunchbase URL of the person
          example: https://www.crunchbase.com/person/dustin-moskovitz
        twitter:
          type: string
          description: The Twitter URL of the person
          example: https://twitter.com/dustin
        facebook:
          type: string
          description: The Facebook URL of the person
          example: https://www.facebook.com/dustin
      required:
        - linkedin
        - crunchbase
        - twitter
        - facebook
    FundingDataRound:
      type: object
      properties:
        announcedOn:
          type: string
          description: The announced on date of the funding data
          example: '2020-01-01'
        leadInvestors:
          description: The lead investors of the funding data
          example:
            - Investor 1
            - Investor 2
          type: array
          items:
            type: string
        currency:
          type: string
          description: The currency of the funding data
          example: USD
        title:
          type: string
          description: The title of the funding data
          example: Series A
        moneyRaised:
          type: number
          description: The money raised of the funding data
          example: 1000000
      required:
        - announcedOn
        - leadInvestors
        - currency
        - title
        - moneyRaised
    FundingData:
      type: object
      properties:
        totalRounds:
          type: number
          description: The total rounds of the funding data
          example: 10
        totalRoundsAmount:
          type: number
          description: The total rounds amount of the funding data
          example: 1000000
        currency:
          type: string
          description: The currency of the funding data
          example: USD
        isIpo:
          type: boolean
          description: Indicates whether the company is an IPO
          example: true
        lastFundingEventDate:
          type: string
          description: The last funding event date of the funding data
          example: '2020-01-01'
        lastFundingEventAmount:
          type: number
          description: The last funding event amount of the funding data
          example: 1000000
        lastFundingEventName:
          type: string
          description: The last funding event name of the funding data
          example: Series A
        rounds:
          description: The rounds of the funding data
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/FundingDataRound'
      required:
        - totalRounds
        - totalRoundsAmount
        - currency
        - isIpo
        - lastFundingEventDate
        - lastFundingEventAmount
        - lastFundingEventName
        - rounds
    BuyerIntent:
      type: object
      properties:
        topicCount:
          type: number
          description: The topic count of the buyer intent
          example: 10
        detectedTopics:
          description: The detected topics of the buyer intent
          example:
            - Software
            - Sales
          type: array
          items:
            type: string
      required:
        - topicCount
        - detectedTopics
    IndustryPrimaryGroupDetailsResponse:
      type: object
      properties:
        sics:
          description: The SIC codes of the industry primary group
          example:
            - sic: 123
              description: Software
          type: array
          items:
            type: string
        naics:
          description: The NAICS codes of the industry primary group
          example:
            - naics: 123
              description: Software
          type: array
          items:
            type: string
      required:
        - sics
        - naics
    CompanyIndustryData:
      type: object
      properties:
        mainIndustry:
          type: string
          description: The main industry of the company
          example: Software
        subIndustry:
          type: string
          description: The sub industry of the company
          example: Sales
      required:
        - mainIndustry
        - subIndustry
    CompanyResponse:
      type: object
      properties:
        name:
          type: string
          description: The name of the company
          example: Lusha
        description:
          type: string
          description: The description of the company
          example: >-
            Lusha is a company that provides a platform for companies to find
            and connect with potential customers.
        domains:
          type: object
          description: The domains of the company
          example:
            - homepage: https://www.lusha.com
              email: contact@lusha.com
        homepageUrl:
          type: string
          description: The homepage URL of the company
          example: https://www.lusha.com
        fqdn:
          type: string
          description: The FQDN of the company
          example: lusha.com
        location:
          description: The location of the company
          oneOf:
            - $ref: '#/components/schemas/LocationResponse'
        companySize:
          description: The size of the company
          example:
            - 100
            - 1000
          type: array
          items:
            type: string
        revenueRange:
          description: The revenue range of the company
          example:
            - 1000000
            - 10000000
          type: array
          items:
            type: string
        industryPrimaryGroup:
          type: string
          description: The industry primary group of the company
          example: Software
        logoUrl:
          type: string
          description: The logo URL of the company
          example: https://www.lusha.com/logo.png
        social:
          description: The social links of the company
          oneOf:
            - $ref: '#/components/schemas/SocialResponse'
        specialities:
          description: The specialities of the company
          example:
            - Software
            - Sales
          type: array
          items:
            type: string
        technologies:
          description: The technologies of the company
          example:
            - JavaScript
            - Python
          type: array
          items:
            type: string
        funding:
          description: The funding data of the company
          oneOf:
            - $ref: '#/components/schemas/FundingData'
        industry:
          description: The industry of the company
          oneOf:
            - $ref: '#/components/schemas/CompanyIndustryData'
        intent:
          description: The intent of the company
          oneOf:
            - $ref: '#/components/schemas/BuyerIntent'
        industryPrimaryGroupDetails:
          description: The industry primary group details of the company
          oneOf:
            - $ref: '#/components/schemas/IndustryPrimaryGroupDetailsResponse'
      required:
        - name
        - description
        - domains
        - homepageUrl
        - fqdn
        - location
        - companySize
        - revenueRange
        - industryPrimaryGroup
        - logoUrl
        - social
        - specialities
        - technologies
        - funding
        - industry
        - intent
        - industryPrimaryGroupDetails
    BulkPersonResponse:
      type: object
      properties:
        contacts:
          type: object
          description: The contacts of the bulk person output
          properties:
            '1111':
              oneOf:
                - $ref: '#/components/schemas/ContactResponse'
        companies:
          type: object
          description: The companies of the bulk person output
          properties:
            '123':
              oneOf:
                - $ref: '#/components/schemas/CompanyResponse'
      required:
        - contacts
        - companies
    ContactWithCompany:
      type: object
      properties:
        companyId:
          type: number
          description: >-
            A unique identifier for the company on Lusha (note that values may
            be removed or merged without a change history).
          example: 123
        firstName:
          type: string
          description: The first name of the person
          example: Dustin
        lastName:
          type: string
          description: The last name of the person
          example: Moskovitz
        fullName:
          type: string
          description: The full name of the person
          example: Dustin Moskovitz
        emailAddresses:
          description: The email addresses of the person
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/EmailAddress'
        phoneNumbers:
          description: The phone numbers of the person
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/PhoneNumbers'
        location:
          description: The location of the person
          oneOf:
            - $ref: '#/components/schemas/LocationResponse'
        jobTitle:
          description: The job title of the person
          oneOf:
            - $ref: '#/components/schemas/JobTitle'
        socialLinks:
          description: The social links of the person
          oneOf:
            - $ref: '#/components/schemas/SocialLinks'
        jobStartDate:
          type: string
          description: The start date of the person
          example: '2020-01-01'
        previousJob:
          description: The previous job of the person
          oneOf:
            - $ref: '#/components/schemas/PreviousJobResponse'
        personId:
          type: number
          description: The person ID
          example: 123456
        contactTags:
          description: The tags of the person
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/ContactTag'
        updateDate:
          type: string
          description: The update date of the person
          example: '2020-01-01'
        company:
          description: The company of the contact
          oneOf:
            - $ref: '#/components/schemas/CompanyResponse'
      required:
        - companyId
        - firstName
        - lastName
        - fullName
        - emailAddresses
        - phoneNumbers
        - location
        - jobTitle
        - socialLinks
        - jobStartDate
        - previousJob
        - personId
        - contactTags
        - updateDate
        - company
    ContactSingleResponse:
      type: object
      properties:
        error:
          description: The error of the contact
          oneOf:
            - $ref: '#/components/schemas/ContactError'
        isCreditCharged:
          type: boolean
          description: Indicates whether a credit charge was made for the contact
          example: true
        data:
          description: The data of the contact and company
          oneOf:
            - $ref: '#/components/schemas/ContactWithCompany'
      required:
        - error
        - isCreditCharged
        - data
    SingleContactResponse:
      type: object
      properties:
        contact:
          description: The contact response object
          oneOf:
            - $ref: '#/components/schemas/ContactSingleResponse'
          allOf:
            - $ref: '#/components/schemas/ContactSingleResponse'
      required:
        - contact
    UsageStats:
      type: object
      properties:
        used:
          type: number
          description: >-
            The number of credits that have been consumed from the total
            available credits
          example: 10
        total:
          type: number
          description: The initial amount of credits your account started with
          example: 100
        remaining:
          type: number
          description: >-
            The number of credits left after subtracting the used credits from
            the total
          example: 90
      required:
        - used
        - total
        - remaining
    AccountUsageStatsResponse:
      type: object
      properties:
        usage:
          description: The usage stats for the account
          oneOf:
            - $ref: '#/components/schemas/UsageStats'
      required:
        - usage
    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
        - domain
        - fqdn
        - name
        - companyId
    CompaniesBulkRequest:
      type: object
      properties:
        companies:
          description: The list of companies to search
          type: array
          items:
            $ref: '#/components/schemas/CompanyBulkRequest'
      required:
        - companies
    CompanySic:
      type: object
      properties:
        sic:
          type: number
          example: 1234
        description:
          type: string
          example: Software Publishing
      required:
        - sic
        - description
    CompanyNaics:
      type: object
      properties:
        naics:
          type: number
          example: 541511
        description:
          type: string
          example: Custom Computer Programming Services
      required:
        - naics
        - description
    CompanyIndustryPrimaryGroupDetails:
      type: object
      properties:
        sics:
          type: array
          items:
            $ref: '#/components/schemas/CompanySic'
        naics:
          type: array
          items:
            $ref: '#/components/schemas/CompanyNaics'
      required:
        - sics
        - naics
    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
    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:
        - rounds
        - totalRounds
        - totalRoundsAmount
        - currency
        - isIpo
        - lastRoundType
        - lastRoundAmount
        - lastRoundDate
    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
    CompanyIntentTopic:
      type: object
      properties:
        topicName:
          type: string
          example: Remote Sales
          description: Name of the intent topic
        metadata:
          $ref: '#/components/schemas/CompanyIntentTopicMetadata'
      required:
        - topicName
        - metadata
    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
    CompanyBulkResponse:
      type: object
      properties:
        id:
          type: number
          example: 33222678
          description: A unique identifier for the Lusha company.
        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: string
        revenueRange:
          example:
            - 10000000
            - 50000000
          description: The company's revenue range.
          type: array
          items:
            type: string
        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/brightdata/year=2024/month=05/day=03/j_lvq47h0g13te1b3wpu.e7b0795e7affc9953dadd43e6fce99a2c5260043.file_lvq4cfwv17kcb9m4ej.logo_cached.jpg
          description: The URL of the company's logo.
        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 2-letter ISO 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, MA 02199, US
          description: The detailed address.
        linkedin:
          type: string
          example: https://www.linkedin.com/company/lushadata
          description: LinkedIn profile URL.
        crunchbase:
          type: string
          example: https://www.crunchbase.com/organization/lusha
          description: Crunchbase profile URL.
        industryTags:
          example:
            - Sales Intelligence
            - Lead Generation
          description: LinkedIn industry tags.
          type: array
          items:
            type: string
        specialities:
          example:
            - lead gen
            - sales enablement
          description: LinkedIn specialties.
          type: array
          items:
            type: string
        industryPrimaryGroupDetails:
          description: SIC and NAICS classification.
          allOf:
            - $ref: '#/components/schemas/CompanyIndustryPrimaryGroupDetails'
        funding:
          description: Details about company funding.
          allOf:
            - $ref: '#/components/schemas/CompanyFunding'
        intent:
          description: Detected topics of interest based on behavior.
          allOf:
            - $ref: '#/components/schemas/CompanyIntent'
        technologies:
          description: Technologies used by the company.
          type: array
          items:
            $ref: '#/components/schemas/CompanyTechnology'
        mainIndustry:
          type: string
          example: Technology, Information & Media
          description: The primary industry sector in which the company operates.
        subIndustry:
          type: string
          example: Software Development
          description: The specific sub-sector within the primary industry.
        twitter:
          type: string
          example: https://twitter.com/lusha
          description: The Twitter handle of the company.
        facebook:
          type: string
          example: https://www.facebook.com/lusha
          description: The Facebook handle of the company.
      required:
        - id
        - name
        - companySize
        - revenueRange
        - fqdn
        - founded
        - description
        - logoUrl
        - city
        - state
        - country
        - countryIso2
        - continent
        - rawLocation
        - linkedin
        - crunchbase
        - industryTags
        - specialities
        - industryPrimaryGroupDetails
        - funding
        - intent
        - technologies
        - mainIndustry
        - subIndustry
        - twitter
        - facebook
    CompaniesBulkResponse:
      type: object
      properties:
        '1':
          description: A map of companies keyed by ID string.
          allOf:
            - $ref: '#/components/schemas/CompanyBulkResponse'
      required:
        - '1'
    CompanyCrunchbaseResponse:
      type: object
      properties:
        url:
          type: string
          example: https://crunchbase.com/company/lusha
      required:
        - url
    CompanyLinkedinResponse:
      type: object
      properties:
        url:
          type: string
          example: https://linkedin.com/company/lusha
      required:
        - url
    CompanySocialResponse:
      type: object
      properties:
        crunchbase:
          $ref: '#/components/schemas/CompanyCrunchbaseResponse'
        linkedin:
          $ref: '#/components/schemas/CompanyLinkedinResponse'
      required:
        - crunchbase
        - linkedin
    CompanyLocationResponse:
      type: object
      properties:
        city:
          type: string
          example: Anytown
        country:
          type: string
          example: USA
        fullLocation:
          type: string
          example: 123 Main St, Anytown, USA
        state:
          type: string
          example: CA
        stateCode:
          type: string
          example: CA
        countryIso2:
          type: string
          example: US
        rawLocation:
          type: string
          example: 123 Main St, Anytown, USA
      required:
        - city
        - country
        - fullLocation
        - state
        - stateCode
        - countryIso2
        - rawLocation
    CompanySingleResponseData:
      type: object
      properties:
        id:
          type: number
          example: 123
          description: A unique identifier for the Lusha company.
        description:
          type: string
          example: >-
            Lusha is the sales intelligence platform designed to help businesses
            get their next customers.
          description: A brief description of the company.
        domain:
          type: string
          example: lusha.com
          description: The domain name associated with the company's email addresses.
        employees:
          type: string
          example: 201 - 500
          description: The company's employee size range.
        founded:
          type: string
          example: August 1, 2011
          description: The year the company was founded.
        fqdn:
          type: string
          example: www.lusha.com
          description: The fully qualified domain name of the company.
        logoUrl:
          type: string
          example: >-
            https://logo.lusha.co/brightdata/year=2024/month=05/day=03/j_lvq47h0g13te1b3wpu.e7b0795e7affc9953dadd43e6fce99a2c5260043.file_lvq4cfwv17kcb9m4ej.logo_cached.jpg
          description: The URL of the company's logo.
        name:
          type: string
          example: Lusha
          description: The name of the company.
        revenueRange:
          example:
            - 1000000
            - 10000000
          description: The company's revenue range.
          type: array
          items:
            type: number
        mainIndustry:
          type: string
          example: Technology
          description: The main industry of the company.
        subIndustry:
          type: string
          example: Software
          description: The specific sub-sector within the primary industry.
        social:
          description: Social media links associated with the company.
          allOf:
            - $ref: '#/components/schemas/CompanySocialResponse'
        address:
          type: string
          example: >-
            North America United States Boston  800 Boylston St , Suite 1410 ,
            Boston, Massachusetts 02199, US  Massachusetts US MA
            -71.05976867675781,42.358428955078125 
          description: The full address of the company's location.
        location:
          description: An object containing the company's location details.
          allOf:
            - $ref: '#/components/schemas/CompanyLocationResponse'
        categories:
          description: LinkedIn industry tags for the company.
          example:
            - Technology
            - Software
          type: array
          items:
            type: string
        industryPrimaryGroupDetails:
          $ref: '#/components/schemas/CompanyIndustryPrimaryGroupDetails'
        website:
          type: string
          description: The company's website URL.
          example: https://lusha.com
        specialities:
          description: LinkedIn specialties tags associated with the company.
          example:
            - Sales
            - Marketing
          type: array
          items:
            type: string
        funding:
          description: Details regarding the company's funding activities.
          allOf:
            - $ref: '#/components/schemas/CompanyFunding'
        intent:
          description: >-
            A list of detected intent topics related to the company based on
            your account's mapped topics.
          allOf:
            - $ref: '#/components/schemas/CompanyIntent'
        technologies:
          description: A list of technologies associated with the company.
          type: array
          items:
            $ref: '#/components/schemas/CompanyTechnology'
      required:
        - id
        - description
        - domain
        - employees
        - founded
        - fqdn
        - logoUrl
        - name
        - revenueRange
        - mainIndustry
        - subIndustry
        - social
        - address
        - location
        - categories
        - industryPrimaryGroupDetails
        - website
        - specialities
        - funding
        - intent
        - technologies
    CompanyErrorResponse:
      type: object
      properties:
        message:
          type: string
          example: Something went wrong
      required:
        - message
    CompanySingleResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CompanySingleResponseData'
        errors:
          $ref: '#/components/schemas/CompanyErrorResponse'
        meta:
          type: object
          description: >-
            Currently returns an empty value; this field should be deprecated in
            future releases.
          example: {}
      required:
        - data
        - errors
        - meta
