GTM CLI Command Reference
Every GTM CLI command: lookup, companies, contacts, signals, intent, scoops, audiences, engagements, gtm-context, research, feedback, and raw. Plus help, output formats, field projection, credit costs per command, and common shell workflows.
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.
gtm --help
gtm contacts search --help
gtm help contacts search # same outputAdd --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 explains how data credits and AI credits are consumed.
| Commands | Credit type |
|---|---|
lookup, every search, companies similar, contacts similar, contacts recommended | Free |
audiences list, audiences get, engagements list | Free |
gtm-context get, feedback submit | Free |
companies enrich, contacts enrich, signals | Data credits |
research account, research contact, engagements ask, gtm-context update (admin only) | AI credits |
raw call <tool> | Whatever the named tool costs |
Per-company intent, scoops, and news
Per-company intent, news, and scoops come from gtm signals, through Enrich Company Signals, which supersedes Enrich Intent, Enrich Scoops, and Enrich News.
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.
gtm companies search --industry software -f table
gtm contacts search --management-level "C Level Exec" -f jsonl > c-level.jsonlProjecting fields
Add --select with a comma-separated list of dotted paths to keep only those fields from each record, applied before formatting.
gtm companies search --industry software --page-size 5 --select id,name,revenue -f tablelookup
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.
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.
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.jsonSearch results come back as a data array. Each record carries an id and an attributes object, which is the path the workflows below read with jq. A search response, trimmed to one record and one attribute:
{
"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.
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 PROSPECTINGsignals
signals returns intent, news, and scoops for up to 10 companies in one call, through Enrich Company Signals. Pass company IDs separated by spaces after --company-ids. --types takes intent, news, or scoop; leave it off to get all three.
gtm signals --company-ids 344589814 --types intent scoop
gtm signals --company-ids 344589814 239305146 -f yamlintent
Every intent request needs --topics, so look the exact topic names up first. Other filters narrow which companies come back.
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 tableFor intent on companies you already know, use gtm signals --types intent.
scoops
Scoops capture funding, hiring, leadership moves, layoffs, launches, and other business events, searchable across the market.
gtm scoops search --scoop-types "New Hire" "Executive Move" --department C-Suite --published-start 2026-05-27For scoops at companies you already know, use gtm signals --types scoop.
audiences
audiences list finds your audiences by name, creator, or type (contact or company), up to 25 per page. audiences get takes an audience ID from that list with --id and returns its column definitions; add --preview for 5 sample rows, or --preview <n> for up to 25. Both are read-only and free, through Browse Audiences and Get Audience.
gtm audiences list --search "enterprise" --type company -f table
gtm audiences get --id 3f2b8c1e-0a4d-4e6b-9c7f-1d2e3f4a5b6c --preview 10engagements
engagements list builds a timeline of your meetings and emails, by default from 7 days back to 7 days ahead, through Browse Engagements. The window can span up to 90 days and reach up to 60 days ahead. engagements ask answers a question about what was said, through Conversation Intelligence, and uses AI credits. Scope it to exactly one of --engagement-id, --company-id, or --contact-id.
gtm engagements list --company-id 344589814 --type meetings --sort=-chronological
gtm engagements ask --company-id 344589814 --query "What objections came up in the last month?"
# Engagement IDs can contain < and >, so quote them
gtm engagements ask --engagement-id '<engagement-id>' --query "What were the next steps?" --include-contentgtm-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. gtm gtm-context update uses AI credits.
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.txtresearch
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.
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 and 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.
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.
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.
# 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.csvNext steps
- GTM CLI overview: install, sign in, and use the CLI with a coding agent.
- Credits & Billing: how data credits and AI credits are charged.
- MCP tools reference: the tool behind each command, with its limits and cost.