# GTM CLI Command Reference

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

**Date:** 2026-06-22  
**Source:** https://gtm.ai/docs/cli/commands

---

This page documents every `gtm` command with copy-paste examples; the pattern repeats throughout, so search for IDs, enrich for detail, then pipe the rest through your shell.

## 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"
# Bulk enrich up to 10 companies from a JSON file
gtm companies enrich --file companies.json
```

## 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` (look the exact names up first), and filters then narrow which companies showing those signals come back.

```shell
gtm intent search --topics "Cloud Applications" "Java" --signal-score-min 70
gtm intent enrich --company-id 344589814 --topics "Cloud Applications"
```

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

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

## gtm-context

`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-context get
gtm-context get --detailed -f yaml
# Admins can update from text or a file
gtm-context update --query "Update competitors" --source "Our main competitors are X, Y, Z."
```

## 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"
```

## raw

When a tool has no dedicated wrapper yet, `raw` lists the catalog and calls any tool by name.

```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
```