# GTM CLI Command Reference

> Every GTM CLI command: lookup, companies, contacts, intent, scoops, news, gtm-context, research, feedback, and raw. Plus help, output formats, field projection, credit costs per command, and common shell workflows.

**Date:** 2026-09-25  
**Source:** https://gtm.ai/docs/cli/commands

---

Every `gtm` command, with copy-paste examples. The pattern repeats throughout: search for IDs, enrich for detail, then pipe the rest through your shell.

IDs in these examples are placeholders; get real ones from a search.

## Help and debugging

Every command reads `gtm <object> <action> --filters`, and `--help` works at every level. Run it whenever you need the full flag list for a command; this page shows the common ones.

```shell
gtm --help
gtm contacts search --help
gtm help contacts search     # same output
```

Add `--debug` (or `-d`) to any command to print the underlying MCP tool call and response to stderr.

## Credits

Each data command calls one MCP tool and costs what that tool costs. `auth`, `help`, and `raw list-tools` touch no credits. [Credits & Billing](/docs/mcp/credits) explains how data credits and AI credits are consumed.

| Commands | Credit type |
|---|---|
| `lookup`, every `search`, `companies similar`, `contacts similar`, `contacts recommended` | Free |
| `gtm-context get`, `gtm-context update` (admin only), `feedback submit` | Free |
| `companies enrich`, `contacts enrich` | Data credits |
| `intent enrich`, `scoops enrich`, `news enrich` | Data credits. These call superseded tools; see the note below. |
| `research account`, `research contact` | AI credits |
| `raw call <tool>` | Whatever the named tool costs |

> **Intent, scoops, and news enrichment**
>
> `intent enrich`, `scoops enrich`, and `news enrich` call [Enrich Intent](/docs/mcp/tools/enrich-intent), [Enrich Scoops](/docs/mcp/tools/enrich-scoops), and [Enrich News](/docs/mcp/tools/enrich-news). [Enrich Company Signals](/docs/mcp/tools/enrich-company-signals) supersedes all three and returns intent, news, and scoops for up to 10 companies in one call. No CLI command wraps it yet. Call it through `raw`:
> 
> ```shell
> gtm raw call enrich_company_signals --args '{"zoominfoCompanyIds":[344589814],"signalTypes":["INTENT","SCOOP"]}'
> ```

## Output formats

Every command that returns records accepts `-f, --format`: `json` (the default) and `jsonl` preserve the response shape, while `csv`, `yaml`, and `table` flatten it for reading.

```shell
gtm companies search --industry software -f table
gtm contacts search --management-level "C Level Exec" -f jsonl > c-level.jsonl
```

## Projecting fields

Add `--select` with a comma-separated list of dotted paths to keep only those fields from each record, applied before formatting.

```shell
gtm companies search --industry software --page-size 5 --select id,name,revenue -f table
```

## lookup

Search endpoints reject unknown industry, metro, or topic strings with a 422, so look the canonical value up first and pass its ID to the filter.

```shell
gtm lookup --field industries --fuzzy software -f table
gtm lookup --field intent-topics --fuzzy cloud -f table
# Tech products take two steps: vendor first, then products
gtm lookup --field tech-vendors --fuzzy hubspot
gtm lookup --field tech-products --vendor "HubSpot, Inc"
```

## companies

Search needs at least one filter. Enrich accepts any identifier: ID, domain, name, ticker, or website. `similar` returns a machine-ranked list of look-alikes.

```shell
gtm companies search --industry software --metro "CA - San Francisco" --employees "100to249,250to499"
gtm companies search --type public --country "United States" --revenue-min 1000000 --sort -revenue -f table
gtm companies enrich --domain stripe.com --fields name revenue employeeCount industries
gtm companies similar --name "Stripe"
# Enrich several companies from a JSON array of identifiers
gtm companies enrich --file companies.json
```

Search results come back as a `data` array. Each record carries an `id` and an `attributes` object, which is the path the [workflows](#common-workflows) below read with `jq`. A search response, trimmed to one record and one attribute:

```json
{
  "data": [
    {
      "id": "123456789",
      "attributes": {
        "name": "Example Software Inc"
      }
    }
  ]
}
```

## contacts

Search by role, seniority, company, or signal. Enrich by person ID, email, phone, or name plus company. `similar` and `recommended` extend the set.

```shell
gtm contacts search --management-level "C Level Exec,VP Level Exec" --company-id 344589814
gtm contacts search --management-level Manager --department "Engineering & Technical" --required email,phone
gtm contacts enrich --email henry@zoominfo.com --fields phone jobTitle managementLevel email
gtm contacts similar --person-id 1260398587 --company-id 239305146
gtm contacts recommended --company-id 344589814 --use-case PROSPECTING
```

## intent

Every intent request needs `--topics`, so look the exact topic names up first. Other filters narrow which companies come back.

```shell
gtm intent search --topics "Cloud Applications" "Java" --signal-score-min 70
gtm intent search --topics "Cloud Applications" --signal-score-min 85 --country "United States" --sort -signalScore -f table
gtm intent enrich --company-id 344589814 --topics "Cloud Applications"
```

`intent enrich` calls the superseded Enrich Intent tool. See the [note under Credits](#credits) for the Enrich Company Signals alternative.

## scoops

Scoops capture funding, hiring, leadership moves, layoffs, launches, and other business events, searchable across the market or fetched for one known company.

```shell
gtm scoops search --scoop-types "New Hire" "Executive Move" --department C-Suite --published-start 2026-05-27
gtm scoops enrich --company-id 344589814 --scoop-types "New Hire" Promotion
```

`scoops enrich` calls the superseded Enrich Scoops tool. See the [note under Credits](#credits) for the Enrich Company Signals alternative.

## news

`news enrich` returns categorized articles for a known company by ID, across categories like `FUNDING`, `PRODUCT`, `PERSON`, and `MERGER_OR_ACQUISITION`.

```shell
gtm news enrich --company-id 344589814 --categories FINANCIAL_RESULTS FUNDING
```

`news enrich` calls the superseded Enrich News tool. See the [note under Credits](#credits) for the Enrich Company Signals alternative.

## gtm-context

`gtm gtm-context get` reads the offerings, ICPs, personas, and competitors that shape how every tool interprets your queries, and it costs zero credits.

```shell
gtm gtm-context get
gtm gtm-context get --detailed -f yaml
# Admin only: update from text or a file
gtm gtm-context update --query "Update competitors" --source "Our main competitors are X, Y, Z."
gtm gtm-context update --query "Create buyer personas from these interviews" --source-file ./interview-notes.txt
```

## research

`research` blends ZoomInfo market data with your CRM and conversation history into a brief, so frame the goal in `--query` and let the tool choose what to retrieve.

```shell
gtm research account --company-id 344589814 --query "Prep for a renewal call: status, news, and risks"
gtm research contact --contact-id 1260398587 --query "Who is this person and our history before I reach out"
```

These commands run the same [Account Research](/docs/mcp/tools/account-research) and [Contact Research](/docs/mcp/tools/contact-research) agents you reach through MCP. They are slower than a search, since an agent does the work. Credits scale with that work. The brief comes back inside a JSON envelope, so pipe it through `jq` to read it in the terminal.

## feedback

Report a data problem or request a feature without leaving the terminal. `--category` takes `DATA_QUALITY`, `FEATURE_REQUEST`, `ACCESS_ENTITLEMENT_ISSUE`, or `OTHER`.

```shell
gtm feedback submit --category DATA_QUALITY --message "Company 344589814 lists the wrong headquarters city"
```

## raw

When a tool has no dedicated wrapper yet, `raw` lists the catalog and calls any tool by name. That includes tools that write inside ZoomInfo, such as the audience tools, so treat `raw call` with the same care as the tool it wraps.

```shell
gtm raw list-tools -f table
gtm raw call find_similar_companies --args '{"companyName":"Stripe"}'
```

## Common workflows

The CLI earns its keep in pipes: pull fields with `jq`, chain a search into an enrich, or export straight to CSV.

```shell
# Names only
gtm companies search --industry software | jq '.data[].attributes.name'

# Search for IDs, then enrich each
gtm companies search --industry software --page-size 3 -f json \
  | jq -r '.data[].id' \
  | xargs -I{} gtm companies enrich --id {}

# Export a contact list to CSV
gtm contacts search --management-level "VP Level Exec" --department Sales -f csv > vp-sales.csv
```

## Next steps

- [GTM CLI overview](/docs/cli): install, sign in, and use the CLI with a coding agent.
- [Credits & Billing](/docs/mcp/credits): how data credits and AI credits are charged.
- [MCP tools reference](/docs/mcp/tools): the tool behind each command, with its limits and cost.