List contacts
Page through the workspace's contacts, newest first. Every contact passed the ICP gate or was brought in by you, so fit_score is intent heat from 1 to 5, not fit. sort=heat returns the hottest contacts as a single top-N page with no cursor.
GET
https://app.trygtm.com/api/v1/contacts- Scope
read- MCP tool
- list_contacts
Query parameters
statusstringoptional- Outbound state. Not an intent measure; use minHeat for that.
newresearchingqueuedcontactedrepliedmeeting_bookedbounceddisqualifiedsuppressedlost intereststringoptional- Your team's read of their interest, set by hand or from a reply.
interestedmaybenot_interestedunknown min_heatintegeroptional- Only contacts whose intent heat (fit_score) is at least this. 4 or more is high intent.
has_linkedinbooleanoptional- Only contacts with a LinkedIn profile URL, which LinkedIn outreach needs.
sortstringoptionaldefault: newest- newest: most recently added first. heat: hottest first, then most recent intent evidence.
newestheat searchstringoptional- Matches name, email, company or title, as the Contacts search box does.
label_idstring | nulloptional- Only contacts carrying this label. Take the id from list_labels.
agent_idstring | nulloptional- Only contacts this agent sourced. Take the id from list_agents.
industrystringoptional- Industry contains this text.
locationstringoptional- Location contains this text.
company_sizestringoptional- Exact headcount band, as the contact holds it, e.g. 51-200.
has_emailbooleanoptional- true: only contacts with an email. false: only contacts without one.
has_phonebooleanoptional- true: only contacts with a phone. false: only contacts without one.
list_idstring | nulloptional- Optional. Omit this field or use null to search all workspace contacts. Only pass a real static list ID returned by list_lists; never use zero/FF placeholders.
limitintegeroptionaldefault: 25- Rows per page, 1 to 100.
cursorstringoptional- Opaque cursor from the previous page's next_cursor. Omit for the first page. Keep every other argument the same while paging.
Request
curl -G https://app.trygtm.com/api/v1/contacts \
-H "Authorization: Bearer $TRYGTM_API_KEY" \
--data-urlencode "status=active" \
--data-urlencode "interest=interested"Response
{
"data": [
{
"id": "8f2a91c4-6d1e-4c0a-9a57-2f3b1c7e9d10",
"first_name": "Dana",
"last_name": "Whitfield",
"full_name": "Dana Whitfield",
"email": "dana@northbeam.example",
"phone": null,
"title": "VP Demand Generation",
"company_name": "Northbeam Logistics",
"company_domain": "northbeam.example",
"country": "US",
"status": "queued",
"interest": "unknown",
"fit_score": 4,
"intent_evidence_at": "2026-09-12T14:02:11.000Z",
"linkedin_url": "https://www.linkedin.com/in/example",
"pipeline_stage": null,
"created_at": "2026-09-02T09:41:02.000Z"
}
],
"next_cursor": "WyIyMDI2LTA5LTAyVDA5OjQxOjAyLjAwMFoiLCI4ZjJhOTFjNC02ZDFlLTRjMGEtOWE1Ny0yZjNiMWM3ZTlkMTAiXQ"
}