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

# Theirstack Catalog Keywords: Inputs, Cost & CLI Example

> Looking up valid TheirStack keyword and technology slugs before paid searches. Includes inputs, outputs, costs, and Deepline CLI examples for GTM automation.

## 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=theirstack_catalog_keywords:{}' --json
```

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

## Input Schema

| Name                              | Type                                                                                                                                                                                                                                                                                                                            | Required | Default | Description                                                                                                                                                                                |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `payload.keyword_type`            | `"technology" \| "software_product" \| "technology_concept" \| "operational_activity" \| "strategic_initiative" \| "metric_or_concept" \| "product_or_service_offered" \| "regulation" \| "threat_or_risk" \| "event" \| "commodity" \| "industry_vertical" \| "physical_equipment" \| "medical_research" \| "government_body"` | No       |         | Keyword type to filter by                                                                                                                                                                  |
| `payload.keyword_type_not`        | `array`                                                                                                                                                                                                                                                                                                                         | No       |         | Exclude keywords of these types                                                                                                                                                            |
| `payload.name_pattern`            | `string`                                                                                                                                                                                                                                                                                                                        | No       |         | Case-insensitive text to search for in the keyword name                                                                                                                                    |
| `payload.slug`                    | `array`                                                                                                                                                                                                                                                                                                                         | No       |         | Keyword slug of a single keyword                                                                                                                                                           |
| `payload.slugs`                   | `array`                                                                                                                                                                                                                                                                                                                         | No       |         | Keyword slugs of one or many keywords                                                                                                                                                      |
| `payload.category_pattern`        | `string`                                                                                                                                                                                                                                                                                                                        | No       |         | Case-insensitive text to search for in the keyword category. For example, `data` to find 'data tools'.                                                                                     |
| `payload.category_slug`           | `string`                                                                                                                                                                                                                                                                                                                        | No       |         | Keyword category slug                                                                                                                                                                      |
| `payload.parent_category_slug`    | `string`                                                                                                                                                                                                                                                                                                                        | No       |         | Keyword parent category slug                                                                                                                                                               |
| `payload.parent_category_pattern` | `string`                                                                                                                                                                                                                                                                                                                        | No       |         | Case-insensitive text to search for in the keyword parent category name                                                                                                                    |
| `payload.q`                       | `string`                                                                                                                                                                                                                                                                                                                        | No       |         | General search query. Searches across keyword name, keyword type, category, and parent category (case-insensitive). Results where the keyword name starts with the query are ranked first. |
| `payload.starts_with`             | `string`                                                                                                                                                                                                                                                                                                                        | No       |         | Filter keywords whose name starts with this string (e.g. 'A' for glossary). Special value '**other**' selects keywords whose name does not start with letters A-Z.                         |
| `payload.include_metadata`        | `boolean`                                                                                                                                                                                                                                                                                                                       | No       | `false` | Deprecated, metadata is always included now                                                                                                                                                |
| `payload.page`                    | `integer`                                                                                                                                                                                                                                                                                                                       | No       | `0`     | Page number.                                                                                                                                                                               |
| `payload.limit`                   | `integer`                                                                                                                                                                                                                                                                                                                       | No       | `25`    | Number of results per page                                                                                                                                                                 |
| `payload.query`                   | `string`                                                                                                                                                                                                                                                                                                                        | No       |         | Deepline alias for TheirStack q. Searches keyword names, types, categories, and parent categories.                                                                                         |

### Allowed values

| Field                  | Allowed values                                                                                                                                                                                                                                                                                    |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payload.keyword_type` | `technology`, `software_product`, `technology_concept`, `operational_activity`, `strategic_initiative`, `metric_or_concept`, `product_or_service_offered`, `regulation`, `threat_or_risk`, `event`, `commodity`, `industry_vertical`, `physical_equipment`, `medical_research`, `government_body` |

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

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "List all keywords tracked by TheirStack, including both technologies and buying intent topics. Search for any keyword and filter by one or more categories. Calls to this endpoint don't cost you credits. - To get technologies only: filter with `keyword_type=technology` - To get only buying intent topics: filter with `keyword_type_not=technology` - By default this endpoint returns 25 keywords. To get all keywords, set `limit=100000`. Response always includes `data` (array of keywords) and `metadata` (total_results, page, limit).",
    "properties": {
      "keyword_type": {
        "type": [
          "string",
          "null"
        ],
        "description": "Keyword type to filter by",
        "enum": [
          "technology",
          "software_product",
          "technology_concept",
          "operational_activity",
          "strategic_initiative",
          "metric_or_concept",
          "product_or_service_offered",
          "regulation",
          "threat_or_risk",
          "event",
          "commodity",
          "industry_vertical",
          "physical_equipment",
          "medical_research",
          "government_body"
        ]
      },
      "keyword_type_not": {
        "type": [
          "array",
          "null"
        ],
        "description": "Exclude keywords of these types",
        "items": {
          "type": "string",
          "enum": [
            "technology",
            "software_product",
            "technology_concept",
            "operational_activity",
            "strategic_initiative",
            "metric_or_concept",
            "product_or_service_offered",
            "regulation",
            "threat_or_risk",
            "event",
            "commodity",
            "industry_vertical",
            "physical_equipment",
            "medical_research",
            "government_body"
          ]
        }
      },
      "name_pattern": {
        "type": [
          "string",
          "null"
        ],
        "description": "Case-insensitive text to search for in the keyword name"
      },
      "slug": {
        "type": [
          "array",
          "null"
        ],
        "description": "Keyword slug of a single keyword",
        "items": {
          "type": "string"
        }
      },
      "slugs": {
        "type": [
          "array",
          "null"
        ],
        "description": "Keyword slugs of one or many keywords",
        "items": {
          "type": "string"
        }
      },
      "category_pattern": {
        "type": [
          "string",
          "null"
        ],
        "description": "Case-insensitive text to search for in the keyword category. For example, `data` to find 'data tools'."
      },
      "category_slug": {
        "type": [
          "string",
          "null"
        ],
        "description": "Keyword category slug"
      },
      "parent_category_slug": {
        "type": [
          "string",
          "null"
        ],
        "description": "Keyword parent category slug"
      },
      "parent_category_pattern": {
        "type": [
          "string",
          "null"
        ],
        "description": "Case-insensitive text to search for in the keyword parent category name"
      },
      "q": {
        "type": [
          "string",
          "null"
        ],
        "description": "General search query. Searches across keyword name, keyword type, category, and parent category (case-insensitive). Results where the keyword name starts with the query are ranked first."
      },
      "starts_with": {
        "type": [
          "string",
          "null"
        ],
        "description": "Filter keywords whose name starts with this string (e.g. 'A' for glossary). Special value '__other__' selects keywords whose name does not start with letters A-Z."
      },
      "include_metadata": {
        "type": "boolean",
        "description": "Deprecated, metadata is always included now",
        "default": false
      },
      "page": {
        "type": "integer",
        "description": "Page number.",
        "default": 0,
        "minimum": 0
      },
      "limit": {
        "type": "integer",
        "description": "Number of results per page",
        "default": 25,
        "minimum": 1
      },
      "query": {
        "type": [
          "string",
          "null"
        ],
        "description": "Deepline alias for TheirStack q. Searches keyword names, types, categories, and parent categories."
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output Schema

| Name          | Type     | Required | Default | Description                                    |
| ------------- | -------- | -------- | ------- | ---------------------------------------------- |
| `result.data` | `array`  | Yes      |         | TheirStack keyword catalog results.            |
| `result.meta` | `object` | 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": "array",
        "description": "TheirStack keyword catalog results.",
        "items": {
          "type": "object",
          "additionalProperties": true
        }
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Advanced: Direct CLI

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

```bash theme={null}
deepline tools execute theirstack_catalog_keywords --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: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.
* Billing mode: `no_bill`.
