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

# CrustData V3: Company Search

> Cheap indexed company search (account discovery) by domain, country, industry, funding, headcount (employee count), growth, competitors, investors,.

Cheap indexed company search (account discovery) by domain, country, industry, funding, headcount (employee count), growth, competitors, investors,.

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

## 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(
  'crustdata_v3_company_search',
  {
    "filters": {
      "field": "email",
      "type": "=",
      "value": "example"
    },
    "cursor": "cursor_123",
    "limit": 20
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute crustdata_v3_company_search --input '{
  "filters": {
    "field": "email",
    "type": "=",
    "value": "example"
  },
  "cursor": "cursor_123",
  "limit": 20
}' --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": {
    "companies": [
      {
        "crustdata_company_id": 123,
        "updated_at": "2026-01-15T12:00:00Z",
        "indexed_at": "2026-01-15T12:00:00Z"
      }
    ]
  }
}
```

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

## Input reference

Request body for searching the company database using indexed fields.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.filters` | `object` | No | — | Search filters. Use a single `SearchCondition` or an and/or `SearchConditionGroup`. |
| `payload.cursor` | `string` | No | — | Pagination cursor from a previous response's `next_cursor`. Omit on the first page. |
| `payload.limit` | `integer` | No | `20` | Minimum: 1. Maximum: 1000. |
| `payload.sorts` | `array` | No | — | Sort directives applied to matched companies in order. |
| `payload.fields` | `array` | No | — | Response groups to return from indexed company search. Use the accepted parent selector for unsupported period leaves: request `basic_info` for `basic_info.industries` and `headcount.growth_percent` rather than `headcount.growth_percent.6m`. CrustData rejects those leaf selectors. `roles`, `skills`, `seo`, and `competitors` are filter-only and cannot appear in fields. omit them or use an endpoint that returns the required data. |

> [!NOTE]
>
> This input schema is too large for an inline display. Read the complete live contract with `deepline describe crustdata_v3_company_search --json`.

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Paginated response from the /company/search endpoint. |
| `result.data.companies` | `array` | Yes | — | — |
| `result.data.companies[].crustdata_company_id` | `integer` | No | — | — |
| `result.data.companies[].updated_at` | `string \| null` | No | — | Format: `date-time`. |
| `result.data.companies[].indexed_at` | `string \| null` | No | — | Format: `date-time`. |
| `result.data.companies[].metadata` | `object` | No | — | — |
| `result.data.companies[].metadata.growth_calculation_date` | `string \| null` | No | — | — |
| `result.data.companies[].basic_info` | `object` | No | — | — |
| `result.data.companies[].basic_info.crustdata_company_id` | `integer \| null` | No | — | — |
| `result.data.companies[].basic_info.name` | `string \| null` | No | — | — |
| `result.data.companies[].basic_info.primary_domain` | `string \| null` | No | — | — |
| `result.data.companies[].basic_info.all_domains` | `array \| null` | No | — | — |
| `result.data.companies[].basic_info.website` | `string \| null` | No | — | — |
| `result.data.companies[].basic_info.professional_network_url` | `string \| null` | No | — | — |
| `result.data.companies[].basic_info.professional_network_id` | `string \| null` | No | — | — |
| `result.data.companies[].basic_info.profile_name` | `string \| null` | No | — | — |
| `result.data.companies[].basic_info.logo_permalink` | `string \| null` | No | — | — |
| `result.data.companies[].basic_info.description` | `string \| null` | No | — | — |
| `result.data.companies[].basic_info.company_type` | `string \| null` | No | — | — |
| `result.data.companies[].basic_info.year_founded` | `integer \| null` | No | — | — |
| `result.data.companies[].basic_info.employee_count_range` | `string \| null` | No | — | — |
| `result.data.companies[].basic_info.markets` | `array \| null` | No | — | — |
| `result.data.companies[].basic_info.industries` | `array \| null` | No | — | — |
| `result.data.companies[].revenue` | `object` | No | — | — |
| `result.data.companies[].revenue.estimated` | `object` | No | — | — |
| `result.data.companies[].revenue.estimated.lower_bound_usd` | `integer \| null` | No | — | — |
| `result.data.companies[].revenue.estimated.upper_bound_usd` | `integer \| null` | No | — | — |
| `result.data.companies[].revenue.public_markets` | `object` | No | — | — |
| `result.data.companies[].revenue.public_markets.ipo_date` | `string \| null` | No | — | Format: `date`. |
| `result.data.companies[].revenue.public_markets.stock_symbols` | `array \| null` | No | — | — |
| `result.data.companies[].revenue.public_markets.fiscal_year_end` | `string \| null` | No | — | — |
| `result.data.companies[].revenue.acquisition_status` | `string \| null` | No | — | — |
| `result.data.companies[].headcount` | `object` | No | — | Employee footprint |
| `result.data.companies[].headcount.total` | `integer \| null` | No | — | — |
| `result.data.companies[].headcount.largest_headcount_country` | `string \| null` | No | — | — |
| `result.data.companies[].headcount.growth_percent` | `record` | No | — | Headcount growth percent by period. Keys are period suffixes (`1m`, `3m`, `6m`, `12m`). values are percentage changes over the trailing window. Each period is also filterable via `headcount.growth_percent.&#123;period&#125;` on `/company/search`. |
| `result.data.companies[].headcount.growth_absolute` | `record` | No | — | Headcount absolute change by period. Keys are period suffixes (`1m`, `3m`, `6m`, `12m`). values are absolute employee-count deltas over the trailing window. Each period is also filterable via `headcount.growth_absolute.&#123;period&#125;` on `/company/search`. |
| `result.data.companies[].software_reviews` | `object` | No | — | — |
| `result.data.companies[].software_reviews.review_count` | `integer \| null` | No | — | — |
| `result.data.companies[].software_reviews.average_rating` | `number \| null` | No | — | — |
| `result.data.companies[].software_reviews.review_count_mom_pct` | `number \| null` | No | — | — |
| `result.data.companies[].software_reviews.review_count_qoq_pct` | `number \| null` | No | — | — |
| `result.data.companies[].software_reviews.review_count_yoy_pct` | `number \| null` | No | — | — |
| `result.data.companies[].funding` | `object` | No | — | — |
| `result.data.companies[].funding.total_investment_usd` | `number \| null` | No | — | — |
| `result.data.companies[].funding.last_round_amount_usd` | `number \| null` | No | — | — |
| `result.data.companies[].funding.last_fundraise_date` | `string \| null` | No | — | Format: `date`. |
| `result.data.companies[].funding.last_round_type` | `string \| null` | No | — | — |
| `result.data.companies[].funding.investors` | `array \| null` | No | — | — |
| `result.data.companies[].hiring` | `object` | No | — | — |

The table shows the first 50 fields. Expand the raw schema below for every field.

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe crustdata_v3_company_search --json`.

## Deepline cost

* Pricing model: `per_result` (per result).
* Estimated Deepline credits: `0.02` per pricing unit.

## Related documentation

* [CrustData V3 provider guide](https://deepline.com/docs/providers/crustdata-v3/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.