> ## 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: Free Simple Company Search

> Free company search over ~35M companies: filter by industry, location, employee count, founding year, name or domain. Returns company name, domain, industry.

Free company search over \~35M companies: filter by industry, location, employee count, founding year, name or domain.

> [!NOTE]
>
> Tool ID: `free_simple_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(
  'free_simple_company_search',
  {
    "sql": "SELECT * FROM companies LIMIT 10"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute free_simple_company_search --input '{
  "sql": "SELECT * FROM companies LIMIT 10"
}' --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": {
    "schema": "example",
    "command": "example",
    "row_count": 1,
    "row_count_returned": 123,
    "truncated": true,
    "columns": [
      {
        "name": "Example",
        "table_id": 1,
        "data_type_id": 1
      }
    ],
    "sql": "SELECT * FROM companies LIMIT 10",
    "executed_sql": "example",
    "limit": 123,
    "rows": [
      {}
    ]
  }
}
```

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

## Input reference

Run a single read-only SQL statement against the shared Snowflake-backed free company corpus (\~35M companies). Schema (table: companies): normalized\_domain text — lowercase root domain (e.g. 'openai.com') domain text — original domain as-is company\_name text — company name (NOT NULL) industry text — e.g. 'computer software', 'financial services', 'hospital & health care' location text — comma-separated: locality, region, country (e.g. 'san francisco, california, united states') linkedin\_url text — LinkedIn company URL slug employee\_count integer — upper bound of size bucket (10, 50, 200, 500, 1000, 5000, 10000+) year\_founded integer — e.g. 2015 updated\_at timestamp Guidance: Prefer exact company resolution with normalized\_domain when you have a website/domain. Exact normalized\_domain equality/IN lookups are the fastest path for known domains. Use linkedin\_url and company\_name equality/IN See the live schema below for the complete notes.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.sql` | `string` | Yes | — | Single read-only SQL statement against the Snowflake-backed companies table (\~35M rows). Columns: normalized\_domain, domain, company\_name, industry, location, linkedin\_url, employee\_count (integer), year\_founded (integer), updated\_at. Prefer exact normalized\_domain equality or IN lookups when you have domains. Use linkedin\_url and company\_name equality/IN for small lookup batches. For fallback candidates, prefer anchored prefixes like company\_name ILIKE 'acme%'. Broad unanchored ILIKE See the live schema for the complete constraint. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Run a single read-only SQL statement against the shared Snowflake-backed free company corpus (~35M companies).\n\nSchema (table: companies):\n  normalized_domain  text     — lowercase root domain (e.g. 'openai.com')\n  domain             text     — original domain as-is\n  company_name       text     — company name (NOT NULL)\n  industry           text     — e.g. 'computer software', 'financial services', 'hospital & health care'\n  location           text     — comma-separated: locality, region, country (e.g. 'san francisco, california, united states')\n  linkedin_url       text     — LinkedIn company URL slug\n  employee_count     integer  — upper bound of size bucket (10, 50, 200, 500, 1000, 5000, 10000+)\n  year_founded       integer  — e.g. 2015\n  updated_at         timestamp\n\nGuidance:\n  Prefer exact company resolution with normalized_domain when you have a website/domain.\n  Exact normalized_domain equality/IN lookups are the fastest path for known domains.\n  Use linkedin_url and company_name equality/IN for small lookup batches; very large batches may still hit the query timeout.\n  If an exact lookup misses, use anchored prefix searches such as company_name ILIKE 'acme%' to generate fallback candidates.\n  Plain ILIKE '%keyword%' over broad fields is legal SQL on the Snowflake-backed corpus, but it can still scan the 35M-row table.\n  Use dedicated company search providers when you need provider-native facets, live web coverage, or strict market sizing totals.\n  Verify the returned company before assuming it is the same entity.\n\nExample queries:\n  SELECT * FROM companies WHERE normalized_domain = 'openai.com' LIMIT 5\n  SELECT * FROM companies WHERE normalized_domain IN ('openai.com','anthropic.com') LIMIT 10\n  SELECT * FROM companies WHERE linkedin_url IN ('linkedin.com/company/openai') LIMIT 5\n  SELECT * FROM companies WHERE company_name ILIKE 'nestle%' LIMIT 10\n  SELECT * FROM companies WHERE industry = 'computer software' AND employee_count > 50 LIMIT 100\n  SELECT industry, count(*) as cnt FROM companies GROUP BY industry ORDER BY cnt DESC LIMIT 25\n  SELECT * FROM companies WHERE location ILIKE 'san francisco%' AND year_founded >= 2020 LIMIT 100\n\nSupports SELECT, aggregates, GROUP BY, WITH CTEs, and EXPLAIN. SQL must include LIMIT <= 100000.\nBest for company retrieval, shortlist building, exact segment counts, and domain-to-company recovery when exact lookups miss.",
    "properties": {
      "sql": {
        "type": "string",
        "description": "Single read-only SQL statement against the Snowflake-backed companies table (~35M rows). Columns: normalized_domain, domain, company_name, industry, location, linkedin_url, employee_count (integer), year_founded (integer), updated_at. Prefer exact normalized_domain equality or IN lookups when you have domains. Use linkedin_url and company_name equality/IN for small lookup batches. For fallback candidates, prefer anchored prefixes like company_name ILIKE 'acme%'. Broad unanchored ILIKE '%keyword%' scans are legal but can scan the full corpus; use dedicated company search providers for broad keyword discovery or strict market sizing. Supports SELECT, aggregates, GROUP BY, CTEs, EXPLAIN. SQL must include LIMIT <= 100000. Example: SELECT * FROM companies WHERE normalized_domain IN ('openai.com','anthropic.com') LIMIT 10",
        "minLength": 1
      }
    },
    "required": [
      "sql"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Free shared company search result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | — |
| `result.data.schema` | `string` | Yes | — | — |
| `result.data.command` | `string` | Yes | — | — |
| `result.data.row_count` | `integer \| null` | Yes | — | — |
| `result.data.row_count_returned` | `integer` | Yes | — | — |
| `result.data.truncated` | `boolean` | Yes | — | — |
| `result.data.columns` | `array` | Yes | — | — |
| `result.data.columns[].name` | `string` | Yes | — | — |
| `result.data.columns[].table_id` | `integer \| null` | Yes | — | — |
| `result.data.columns[].data_type_id` | `integer \| null` | Yes | — | — |
| `result.data.sql` | `string` | Yes | — | — |
| `result.data.executed_sql` | `string` | Yes | — | — |
| `result.data.limit` | `integer` | Yes | — | — |
| `result.data.rows` | `array` | Yes | — | — |
| `result.meta` | `record` | 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": "Free shared company search result payload.",
    "properties": {
      "data": {
        "type": "object",
        "properties": {
          "schema": {
            "type": "string"
          },
          "command": {
            "type": "string"
          },
          "row_count": {
            "type": [
              "integer",
              "null"
            ]
          },
          "row_count_returned": {
            "type": "integer"
          },
          "truncated": {
            "type": "boolean"
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "table_id": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "data_type_id": {
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "required": [
                "name",
                "table_id",
                "data_type_id"
              ],
              "additionalProperties": false
            }
          },
          "sql": {
            "type": "string"
          },
          "executed_sql": {
            "type": "string"
          },
          "limit": {
            "type": "integer"
          },
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "schema",
          "command",
          "row_count",
          "row_count_returned",
          "truncated",
          "columns",
          "sql",
          "executed_sql",
          "limit",
          "rows"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": {}
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [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.