> ## 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.

# DiscoLike: Run Company Research

> Run an arbitrary AI research prompt on each company domain, using its company profile and optional web search. Includes SDK V2 examples, schemas, and cost.

Run an arbitrary AI research prompt on each company domain, using its company profile and optional web search.

> [!NOTE]
>
> Tool ID: `discolike_run_company_research`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'discolike_run_company_research',
  {
    "query": "software companies hiring engineers",
    "domains": [
      "example.com"
    ]
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute discolike_run_company_research --input '{
  "query": "software companies hiring engineers",
  "domains": [
    "example.com"
  ]
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "status": "in_progress"
  }
}
```

Use `deepline describe discolike_run_company_research --json` for the latest machine-readable contract.

## Input reference

Run an LLM prompt against each domain with company context. Returns an async task for status polling.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.query` | `string` | Yes | — | — |
| `payload.domains` | `array` | Yes | — | — |
| `payload.integration_id` | `string` | No | — | — |
| `payload.web_search` | `boolean` | No | `false` | — |
| `payload.context_mode` | `"website" \| "profile" \| "domain"` | No | `"website"` | Allowed: `website`, `profile`, `domain`. |
| `payload.previous_discogen_data` | `object` | No | — | — |
| `payload.include_x_search` | `boolean` | No | `false` | — |
| `payload.search_provider_id` | `string` | No | — | — |
| `payload.search_context_size` | `"low" \| "medium" \| "high"` | No | `"low"` | Allowed: `low`, `medium`, `high`. |
| `payload.poll_interval_ms` | `integer` | No | `5000` | Polling interval used while waiting for DiscoGen contact generation to finish. Defaults to 5000 ms. Minimum: 1000. Maximum: 30000. |
| `payload.max_wait_ms` | `integer` | No | `120000` | Maximum time to wait for terminal DiscoGen contact generation results. Defaults to 120000 ms. Minimum: 1000. Maximum: 300000. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Run an LLM prompt against each domain with company context. Returns an async task for status polling.",
    "properties": {
      "query": {
        "type": "string"
      },
      "domains": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "integration_id": {
        "type": [
          "string",
          "null"
        ]
      },
      "web_search": {
        "type": "boolean",
        "default": false
      },
      "context_mode": {
        "type": "string",
        "default": "website",
        "enum": [
          "website",
          "profile",
          "domain"
        ]
      },
      "previous_discogen_data": {
        "type": [
          "object",
          "null"
        ],
        "additionalProperties": true
      },
      "include_x_search": {
        "type": "boolean",
        "default": false
      },
      "search_provider_id": {
        "type": [
          "string",
          "null"
        ]
      },
      "search_context_size": {
        "type": "string",
        "default": "low",
        "enum": [
          "low",
          "medium",
          "high"
        ]
      },
      "poll_interval_ms": {
        "type": "integer",
        "description": "Polling interval used while waiting for DiscoGen contact generation to finish. Defaults to 5000 ms.",
        "default": 5000,
        "minimum": 1000,
        "maximum": 30000
      },
      "max_wait_ms": {
        "type": "integer",
        "description": "Maximum time to wait for terminal DiscoGen contact generation results. Defaults to 120000 ms.",
        "default": 120000,
        "minimum": 1000,
        "maximum": 300000
      }
    },
    "required": [
      "query",
      "domains"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Final DiscoLike DiscoGen contact-generation task result returned by Deepline after synchronous polling. |
| `result.data.status` | `"in_progress" \| "completed" \| "failed" \| "cancelled"` | Yes | — | Task status. Allowed: `in_progress`, `completed`, `failed`, `cancelled`. |
| `result.data.progress` | `integer` | No | — | Progress percentage. Minimum: 0. Maximum: 100. |
| `result.data.results` | `record` | No | — | Generated candidate contact rows keyed by company domain. |
| `result.data.interim_results` | `record` | No | — | Partial generated candidate contact rows keyed by company domain. |
| `result.data.estimated_cost` | `number` | No | — | Provider-side BYOK model/search cost estimate when returned by DiscoLike. This is not a Deepline-managed per-contact charge. |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

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

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Final DiscoLike DiscoGen contact-generation task result returned by Deepline after synchronous polling.",
        "properties": {
          "status": {
            "type": "string",
            "description": "Task status.",
            "enum": [
              "in_progress",
              "completed",
              "failed",
              "cancelled"
            ]
          },
          "progress": {
            "type": "integer",
            "description": "Progress percentage.",
            "minimum": 0,
            "maximum": 100
          },
          "results": {
            "type": "object",
            "description": "Generated candidate contact rows keyed by company domain.",
            "additionalProperties": true
          },
          "interim_results": {
            "type": "object",
            "description": "Partial generated candidate contact rows keyed by company domain.",
            "additionalProperties": true
          },
          "estimated_cost": {
            "type": "number",
            "description": "Provider-side BYOK model/search cost estimate when returned by DiscoLike. This is not a Deepline-managed per-contact charge."
          }
        },
        "required": [
          "status"
        ],
        "additionalProperties": true
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `provider_usage` (provider usage).
* Estimated Deepline credits: `0.1` per pricing unit.

## Related documentation

* [DiscoLike provider guide](https://deepline.com/docs/providers/discolike/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


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