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

# Deepline Native Search Contact: Inputs, Cost & CLI Example

> Synchronous contact search returning LinkedIn URLs. Includes inputs, outputs, pricing notes, Deepline CLI examples, and GTM automation guidance.

## Run in Enrichment Spreadsheet

<Info>
  Use this function as a column step in `deepline enrich`.
</Info>

```bash theme={null}
deepline enrich --input leads.csv --output leads.enriched.csv --with 'result=deepline_native_search_contact:{}' --json
```

<Tip>
  Map payload values to spreadsheet columns with `{{column_name}}` placeholders.
</Tip>

## Input Schema

| Name                                 | Type      | Required | Default | Description                                                                                                                                                                                                                                                |
| ------------------------------------ | --------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payload.contact_linkedin`           | `string`  | No       |         | LinkedIn profile URL or slug of the contact to search for (3-500 chars).                                                                                                                                                                                   |
| `payload.domain`                     | `string`  | No       |         | Company domain to scope the search (4-500 chars). This is the strongest input and should be present for most real searches.                                                                                                                                |
| `payload.company_linkedin`           | `string`  | No       |         | LinkedIn company page URL or slug (3-500 chars).                                                                                                                                                                                                           |
| `payload.company_name`               | `string`  | No       |         | Company name to scope the search (3-500 chars).                                                                                                                                                                                                            |
| `payload.title_filters`              | `array`   | No       |         | Ordered list of boolean title filter expressions (up to 5). Best results come from narrow leadership filters like "VP Engineering OR Head of Engineering OR Director of Engineering", not broad terms like "founder" or "sales".                           |
| `payload.title_lists`                | `array`   | No       |         | Named lists of exact titles (up to 5). Use this when you want exact-title matching instead of broad boolean phrase matching.                                                                                                                               |
| `payload.departments`                | `array`   | No       |         | Filter by department names (e.g. \["Engineering", "Sales"]).                                                                                                                                                                                               |
| `payload.seniorities`                | `array`   | No       |         | Filter by seniority levels. Live API-safe values confirmed in prod: Director, Manager, Entry, Senior, Partner. Legacy shorthand may be normalized; unsupported values are currently dropped before the upstream call, so prefer explicit live-safe values. |
| `payload.location_countries`         | `array`   | No       |         | Filter contacts by country of residence (max 50, each 1-200 chars).                                                                                                                                                                                        |
| `payload.company_location_countries` | `array`   | No       |         | Filter by company HQ country (max 50, each 1-200 chars).                                                                                                                                                                                                   |
| `payload.company_industries`         | `array`   | No       |         | Filter by company industry categories (max 50).                                                                                                                                                                                                            |
| `payload.company_employee_ranges`    | `array`   | No       |         | Filter by company headcount ranges. Valid buckets: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+ (max 8).                                                                                                                          |
| `payload.excluded_names`             | `array`   | No       |         | Contact names to exclude from search results (max 100).                                                                                                                                                                                                    |
| `payload.included_names`             | `array`   | No       |         | Restrict results to these contact names (max 100).                                                                                                                                                                                                         |
| `payload.headline`                   | `string`  | No       |         | Free-text filter against the contact headline or bio (3-500 chars).                                                                                                                                                                                        |
| `payload.page_number`                | `integer` | No       |         | Page number for paginated results (1-indexed, max 100).                                                                                                                                                                                                    |
| `payload.page_size`                  | `integer` | No       |         | Number of results per page (default 10, max 250). Keep this small (1-3) for targeted leadership lookups so you can inspect candidate quality.                                                                                                              |
| `payload.custom_fields`              | `record`  | No       |         | Opaque metadata echoed back in finder responses via custom\_fields (max 16 keys).                                                                                                                                                                          |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "",
    "properties": {
      "contact_linkedin": {
        "type": "string",
        "description": "LinkedIn profile URL or slug of the contact to search for (3-500 chars)."
      },
      "domain": {
        "type": "string",
        "description": "Company domain to scope the search (4-500 chars). This is the strongest input and should be present for most real searches."
      },
      "company_linkedin": {
        "type": "string",
        "description": "LinkedIn company page URL or slug (3-500 chars)."
      },
      "company_name": {
        "type": "string",
        "description": "Company name to scope the search (3-500 chars)."
      },
      "title_filters": {
        "type": "array",
        "description": "Ordered list of boolean title filter expressions (up to 5). Best results come from narrow leadership filters like \"VP Engineering OR Head of Engineering OR Director of Engineering\", not broad terms like \"founder\" or \"sales\".",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Optional label for internal reporting or grouping (2-500 chars)."
            },
            "filter": {
              "type": "string",
              "description": "Boolean title filter expression (2-10000 chars)."
            }
          },
          "required": [
            "name",
            "filter"
          ],
          "additionalProperties": false
        }
      },
      "title_lists": {
        "type": "array",
        "description": "Named lists of exact titles (up to 5). Use this when you want exact-title matching instead of broad boolean phrase matching.",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Label for this title list (2-500 chars)."
            },
            "titles": {
              "type": "array",
              "description": "Exact titles to match against (1-100 items, each 2-500 chars).",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "name",
            "titles"
          ],
          "additionalProperties": false
        }
      },
      "departments": {
        "type": "array",
        "description": "Filter by department names (e.g. [\"Engineering\", \"Sales\"]).",
        "items": {
          "type": "string"
        }
      },
      "seniorities": {
        "type": "array",
        "description": "Filter by seniority levels. Live API-safe values confirmed in prod: Director, Manager, Entry, Senior, Partner. Legacy shorthand may be normalized; unsupported values are currently dropped before the upstream call, so prefer explicit live-safe values.",
        "items": {
          "type": "string"
        }
      },
      "location_countries": {
        "type": "array",
        "description": "Filter contacts by country of residence (max 50, each 1-200 chars).",
        "items": {
          "type": "string"
        }
      },
      "company_location_countries": {
        "type": "array",
        "description": "Filter by company HQ country (max 50, each 1-200 chars).",
        "items": {
          "type": "string"
        }
      },
      "company_industries": {
        "type": "array",
        "description": "Filter by company industry categories (max 50).",
        "items": {
          "type": "string"
        }
      },
      "company_employee_ranges": {
        "type": "array",
        "description": "Filter by company headcount ranges. Valid buckets: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+ (max 8).",
        "items": {
          "type": "string",
          "enum": [
            "1-10",
            "11-50",
            "51-200",
            "201-500",
            "501-1000",
            "1001-5000",
            "5001-10000",
            "10001+"
          ]
        }
      },
      "excluded_names": {
        "type": "array",
        "description": "Contact names to exclude from search results (max 100).",
        "items": {
          "type": "string"
        }
      },
      "included_names": {
        "type": "array",
        "description": "Restrict results to these contact names (max 100).",
        "items": {
          "type": "string"
        }
      },
      "headline": {
        "type": "string",
        "description": "Free-text filter against the contact headline or bio (3-500 chars)."
      },
      "page_number": {
        "type": "integer",
        "description": "Page number for paginated results (1-indexed, max 100)."
      },
      "page_size": {
        "type": "integer",
        "description": "Number of results per page (default 10, max 250). Keep this small (1-3) for targeted leadership lookups so you can inspect candidate quality."
      },
      "custom_fields": {
        "type": "object",
        "description": "Opaque metadata echoed back in finder responses via custom_fields (max 16 keys).",
        "additionalProperties": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            },
            {
              "type": "boolean"
            }
          ]
        }
      }
    },
    "additionalProperties": false
  }
  ```
</details>

## Output Schema

| Name          | Type     | Required | Default | Description                                    |
| ------------- | -------- | -------- | ------- | ---------------------------------------------- |
| `result.data` | `record` | Yes      |         | Provider response payload.                     |
| `result.meta` | `record` | No       |         | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "additionalProperties": {}
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": {}
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Advanced: Direct CLI

<Info>
  Use direct execution for single payload debugging.
</Info>

```bash theme={null}
deepline tools execute deepline_native_search_contact --payload '{}' --json
```

### CLI flags

| Flag                        | Description                                         |
| --------------------------- | --------------------------------------------------- |
| `--json`                    | Print machine-readable output.                      |
| `--wait`                    | Wait for terminal provider status when supported.   |
| `--debug`                   | Enable wait mode with additional status/log output. |
| `--wait-timeout SECONDS`    | Max seconds to wait in wait mode.                   |
| `--poll-interval SECONDS`   | Polling interval in seconds during wait mode.       |
| `--timeout SECONDS`         | Request timeout in seconds.                         |
| `--connect-timeout SECONDS` | Connection timeout in seconds.                      |

## Cost

* Pricing model: `per_result` (per result).
* Estimated Deepline credits: `0.56` per pricing unit.
* Billing mode: `post_deduct`.
