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

> ## Agent Instructions
> - Base URLs: models `https://api.aisa.one/v1` (Gemini GenerateContent: `https://api.aisa.one/v1beta`); data APIs `https://api.aisa.one/apis/v1`. The `servers` of each operation in https://aisa.one/openapi.yaml is authoritative.
> - Auth: `Authorization: Bearer $AISA_API_KEY`. Never print, log, or commit the key.
> - MCP (preferred for agents): `https://mcp.aisa.one/mcp`, signed in with OAuth, so there is no key to paste.
> - Agent Skill: `npx skills add AIsa-team/agent-skills --skill aisa`. Fallback with the AIsa CLI: `aisa skills install aisa`.
> - Spending: docs, https://aisa.one/models, https://aisa.one/api, `/v1/models`, and MCP `search`, `list_categories`, `get_details`, `batch_quote`, and the `account` operation are free. Quote the exact calls before running them (MCP `batch_quote`, CLI `aisa quote --json`). If the quote reports `auto_execute_eligible: true`, run it unless the user set a tighter limit or asked only for a quote. Otherwise, tell the user in one message the planned calls, the quoted price, and a total USD budget for the task, then wait for approval. Direct HTTP calls follow the stricter rule at https://aisa.one/docs/get-started/cli.md#direct-http-fallback. Do not make paid calls to test availability. Full rule: https://aisa.one/llms.txt

# Search Contacts

> <!-- aisa-pricing:start -->
按用量计费；默认请求预估费用：$0.0103 USD（不是固定价格）。 声明的单位费率：每 provider_credit $0.000001 USD。 最终费用以账户适用价格及实际结算为准。
<!-- aisa-pricing:end -->

## 请求规范

* **方法与路径:** POST /apis/v1/lusha/search-contacts
* **可用状态:** enabled
* **请求 URL 模板:** `https://api.aisa.one/apis/v1/lusha/search-contacts`
* **Runtime 事实版本:** 4e06df17a40bff0bc4b39c3818736d6c3748778b27890dcc17931d02d4df8b4b

[完整 OpenAPI 定义](https://aisa.one/docs/reference-contracts/zh/lusha.json)

有效请求与价格声明（包括认证和引用的 schema）：

```json theme={null}
{
  "operationId": "lusha.search-contacts",
  "method": "POST",
  "path": "/apis/v1/lusha/search-contacts",
  "servers": [
    {
      "url": "https://api.aisa.one"
    }
  ],
  "parameters": [],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "contacts"
          ],
          "properties": {
            "options": {
              "type": "object",
              "properties": {
                "includePartialProfiles": {
                  "type": "boolean",
                  "description": "Whether partial profile matches may be returned."
                }
              },
              "description": "Optional controls for partial profile matching.",
              "additionalProperties": false
            },
            "signals": {
              "type": "object",
              "required": [
                "types"
              ],
              "properties": {
                "types": {
                  "type": "array",
                  "items": {
                    "enum": [
                      "allSignals",
                      "promotion",
                      "companyChange"
                    ],
                    "type": "string"
                  },
                  "examples": [
                    [
                      "promotion",
                      "companyChange"
                    ]
                  ],
                  "description": "Contact signal types that matching profiles must have."
                },
                "startDate": {
                  "type": "string",
                  "format": "date",
                  "examples": [
                    "2025-01-01"
                  ],
                  "description": "Earliest signal date, in YYYY-MM-DD format."
                },
                "maxResultsPerSignal": {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 1,
                  "examples": [
                    10
                  ],
                  "description": "Maximum results to return for each signal type (1-100)."
                }
              },
              "description": "Optional recent-activity criteria for matching contacts.",
              "additionalProperties": false
            },
            "contacts": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "examples": [
                      "12345"
                    ],
                    "description": "Lusha contact ID."
                  },
                  "email": {
                    "type": "string",
                    "examples": [
                      "orit.shilvock@lusha.com"
                    ],
                    "description": "Contact's email address."
                  },
                  "lastName": {
                    "type": "string",
                    "examples": [
                      "Shilvock"
                    ],
                    "description": "Contact's last name; use with first_name and a company identifier."
                  },
                  "firstName": {
                    "type": "string",
                    "examples": [
                      "Orit"
                    ],
                    "description": "Contact's first name; use with last_name and a company identifier."
                  },
                  "companyName": {
                    "type": "string",
                    "examples": [
                      "Lusha"
                    ],
                    "description": "Contact's company name; use with first_name and last_name."
                  },
                  "linkedinUrl": {
                    "type": "string",
                    "examples": [
                      "https://www.linkedin.com/in/orit-shilvock-6243bb5"
                    ],
                    "description": "Contact's LinkedIn profile URL."
                  },
                  "companyDomain": {
                    "type": "string",
                    "examples": [
                      "lusha.com"
                    ],
                    "description": "Contact's company domain; use with first_name and last_name."
                  },
                  "clientReferenceId": {
                    "type": "string",
                    "examples": [
                      "my-ref-1"
                    ],
                    "description": "Caller-defined reference returned with this contact's result."
                  }
                }
              },
              "maxItems": 100,
              "minItems": 1,
              "description": "One to 100 contacts identified by Lusha ID, LinkedIn URL, email, or name and company."
            }
          }
        }
      }
    }
  },
  "x-aisa-status": "enabled",
  "x-aisa-pricing": {
    "cost_contract": "response_units",
    "customer_multiplier": 1.0,
    "customer_pricing": "provider_cost_multiplier",
    "default_request_estimate_usd": 0.0103,
    "estimate_source": "profile_seed",
    "evidence_source": "response_body",
    "maximum_units": 10000000,
    "unit": "provider_credit",
    "unit_rate_usd": 1e-06
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  }
}
```

## 费用与请求规则

按用量计费；默认请求预估费用：\$0.0103 USD（不是固定价格）。 声明的单位费率：每 provider\_credit \$0.000001 USD。 最终费用以账户适用价格及实际结算为准。

公开参考值不是你的账户报价或最终扣费。对于支持 X-AISA-Cost-Mode: quote 的接口，执行前请针对完整请求获取免费报价；执行后通过响应费用元数据和 Usage Logs 核对结算费用。1 USD 等于 1,000,000 个整数 micro-USD。

* **默认请求参考估价（USD）:** 0.0103
* **声明的单位费率（USD）:** 1e-06
* **计费单位:** provider\_credit
* **计费依据:** response\_units
* **公开参考倍率:** 1.0
* **声明的最大计数或单位数:** 10000000
* **结算证据来源:** response\_body


## OpenAPI

````yaml reference-contracts/zh/lusha.json POST /apis/v1/lusha/search-contacts
openapi: 3.1.0
info:
  description: ''
  title: Lusha
  version: '1'
  x-aisa-capabilities:
    idempotency: Idempotency-Key
    max_price: X-AISA-Max-Price-USD
    quote:
      header: X-AISA-Cost-Mode
      value: quote
  x-aisa-configured-paths:
    - /apis/v1/lusha/buying-group
    - /apis/v1/lusha/companies-enrich
    - /apis/v1/lusha/companies-enrich-by-id
    - /apis/v1/lusha/companies-lookalike
    - /apis/v1/lusha/companies-search
    - /apis/v1/lusha/companies-signals
    - /apis/v1/lusha/contacts-lookalike
    - /apis/v1/lusha/contacts-signals
    - /apis/v1/lusha/enrich-contacts
    - /apis/v1/lusha/people-contacts-enrich
    - /apis/v1/lusha/people-enrich
    - /apis/v1/lusha/people-phone-find
    - /apis/v1/lusha/people-search
    - /apis/v1/lusha/prospect-contacts
    - /apis/v1/lusha/search-and-enrich-contacts
    - /apis/v1/lusha/search-contacts
  x-aisa-document:
    facts_hash: 4e06df17a40bff0bc4b39c3818736d6c3748778b27890dcc17931d02d4df8b4b
    generator_version: '3'
    protocol_version: '1'
    schema_version: '1'
    composer_version: '28'
    response_pending:
      - operation_id: lusha.buying-group
        path: /apis/v1/lusha/buying-group
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: lusha.companies-enrich
        path: /apis/v1/lusha/companies-enrich
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: lusha.companies-enrich-by-id
        path: /apis/v1/lusha/companies-enrich-by-id
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: lusha.companies-lookalike
        path: /apis/v1/lusha/companies-lookalike
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: lusha.companies-search
        path: /apis/v1/lusha/companies-search
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: lusha.companies-signals
        path: /apis/v1/lusha/companies-signals
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: lusha.contacts-lookalike
        path: /apis/v1/lusha/contacts-lookalike
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: lusha.contacts-signals
        path: /apis/v1/lusha/contacts-signals
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: lusha.enrich-contacts
        path: /apis/v1/lusha/enrich-contacts
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: lusha.people-contacts-enrich
        path: /apis/v1/lusha/people-contacts-enrich
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: lusha.people-search
        path: /apis/v1/lusha/people-search
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
    document_hash: sha256:4156136f5bc504ec5f358e741001b66cb80a4ea1045d4612c8cac6c6795356a6
  x-aisa-plans:
    builder: 1
    display_plan: payg
    payg: 1
    similarweb_payg: 1
    team: 1
    version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
  x-aisa-provider: lusha
  x-aisa-catalogs:
    lusha:
      title: Lusha
      description: ''
      x-aisa-document:
        facts_hash: 4e06df17a40bff0bc4b39c3818736d6c3748778b27890dcc17931d02d4df8b4b
        generator_version: '3'
        protocol_version: '1'
        schema_version: '1'
      x-aisa-plans:
        builder: 1
        display_plan: payg
        payg: 1
        similarweb_payg: 1
        team: 1
        version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
      x-aisa-capabilities:
        idempotency: Idempotency-Key
        max_price: X-AISA-Max-Price-USD
        quote:
          header: X-AISA-Cost-Mode
          value: quote
servers:
  - url: https://api.aisa.one
security:
  - bearerAuth: []
paths:
  /apis/v1/lusha/search-contacts:
    post:
      tags:
        - Lusha
      summary: Search Contacts
      description: >-
        <!-- aisa-pricing:start -->

        按用量计费；默认请求预估费用：$0.0103 USD（不是固定价格）。 声明的单位费率：每 provider_credit $0.000001
        USD。 最终费用以账户适用价格及实际结算为准。

        <!-- aisa-pricing:end -->
      operationId: lusha.search-contacts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - contacts
              properties:
                options:
                  type: object
                  properties:
                    includePartialProfiles:
                      type: boolean
                      description: Whether partial profile matches may be returned.
                  description: Optional controls for partial profile matching.
                  additionalProperties: false
                signals:
                  type: object
                  required:
                    - types
                  properties:
                    types:
                      type: array
                      items:
                        enum:
                          - allSignals
                          - promotion
                          - companyChange
                        type: string
                      examples:
                        - - promotion
                          - companyChange
                      description: Contact signal types that matching profiles must have.
                    startDate:
                      type: string
                      format: date
                      examples:
                        - '2025-01-01'
                      description: Earliest signal date, in YYYY-MM-DD format.
                    maxResultsPerSignal:
                      type: integer
                      maximum: 100
                      minimum: 1
                      examples:
                        - 10
                      description: Maximum results to return for each signal type (1-100).
                  description: Optional recent-activity criteria for matching contacts.
                  additionalProperties: false
                contacts:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        examples:
                          - '12345'
                        description: Lusha contact ID.
                      email:
                        type: string
                        examples:
                          - orit.shilvock@lusha.com
                        description: Contact's email address.
                      lastName:
                        type: string
                        examples:
                          - Shilvock
                        description: >-
                          Contact's last name; use with first_name and a company
                          identifier.
                      firstName:
                        type: string
                        examples:
                          - Orit
                        description: >-
                          Contact's first name; use with last_name and a company
                          identifier.
                      companyName:
                        type: string
                        examples:
                          - Lusha
                        description: >-
                          Contact's company name; use with first_name and
                          last_name.
                      linkedinUrl:
                        type: string
                        examples:
                          - https://www.linkedin.com/in/orit-shilvock-6243bb5
                        description: Contact's LinkedIn profile URL.
                      companyDomain:
                        type: string
                        examples:
                          - lusha.com
                        description: >-
                          Contact's company domain; use with first_name and
                          last_name.
                      clientReferenceId:
                        type: string
                        examples:
                          - my-ref-1
                        description: >-
                          Caller-defined reference returned with this contact's
                          result.
                  maxItems: 100
                  minItems: 1
                  description: >-
                    One to 100 contacts identified by Lusha ID, LinkedIn URL,
                    email, or name and company.
      responses:
        '200':
          description: Tool result data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__public_data
        default:
          content:
            application/json:
              schema: {}
          description: >-
            Error response; upstream passthrough responses may use provider
            formats
components:
  schemas:
    Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__public_data:
      $ref: >-
        #/components/schemas/Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__9096afc3f068ee12
    Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__9096afc3f068ee12:
      type: object
      properties:
        billing:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__9a60d7a88f63c3f7
        results:
          type: array
          items:
            $ref: >-
              #/components/schemas/Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__0379cda44859e330
        requestId:
          type: string
      additionalProperties: true
    Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__9a60d7a88f63c3f7:
      type: object
      properties:
        creditsCharged:
          type: integer
        resultsReturned:
          type: integer
      additionalProperties: true
    Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__0379cda44859e330:
      type: object
      properties:
        id:
          type: string
        has:
          type: array
          items:
            type: string
        error:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__70e00be412f6917b
        company:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__1649587aee50e86b
        jobTitle:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__fc732e8765667fe4
        lastName:
          type: string
        location:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__fcea575be7f6b65a
        canReveal:
          type: array
          items:
            $ref: >-
              #/components/schemas/Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__4103843800fde26b
        firstName:
          type: string
        signalTypes:
          type: array
          items:
            type: string
        socialLinks:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__44033a37b03b95c1
        clientReferenceId:
          type: string
      additionalProperties: true
    Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__70e00be412f6917b:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      additionalProperties: true
    Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__1649587aee50e86b:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        domain:
          type: string
      additionalProperties: true
    Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__fc732e8765667fe4:
      type: object
      properties:
        title:
          type: string
        seniority:
          type: string
        departments:
          type: array
          items:
            type: string
      additionalProperties: true
    Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__fcea575be7f6b65a:
      type: object
      properties:
        city:
          type: string
        state:
          type: string
        country:
          type: string
      additionalProperties: true
    Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__4103843800fde26b:
      type: object
      properties:
        field:
          enum:
            - emails
            - phones
          type: string
        credits:
          type: integer
      additionalProperties: true
    Response576A0Ea506F3_connect_LUSHA_SEARCH_CONTACTS__output__44033a37b03b95c1:
      type: object
      properties:
        linkedin:
          type: string
      additionalProperties: true
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.