List contacts
Page through the contacts in a workspace. Every contact here passed the ICP gate at sourcing time, so this is an accept list — rejected candidates are not contacts and are not returned.
GET
https://api.trygtm.com/v1/contacts- Scopes
contacts:read
Query parameters
limitintegeroptionaldefault: 50- Rows per page, 1–200.
cursorstringoptional- Opaque cursor from the previous response's next_cursor. Omit for the first page.
signal_idstringoptional- Restrict to contacts sourced by one signal.
min_intentintegeroptional- Lower bound on the 1–5 intent score. This is engagement heat, not ICP fit — fit is binary and already true for every row.
statusstringoptional- Filter by outreach status.
newqueuedcontactedrepliedsuppressed
Request
curl -G https://api.trygtm.com/v1/contacts \
-H "Authorization: Bearer $TRYGTM_API_TOKEN" \
-d limit=50 \
-d min_intent=4Response
{
"data": [
{
"id": "ct_8f2a91c4",
"full_name": "Dana Whitfield",
"title": "VP Demand Generation",
"company": "Northbeam Logistics",
"company_domain": "northbeam.example",
"country": "US",
"linkedin_url": "https://www.linkedin.com/in/example",
"intent_score": 4,
"status": "queued",
"collected_at": "2026-08-19T14:02:11Z",
"retention_expires_at": "2027-02-15T14:02:11Z",
"provenance": {
"full_name": "linkedin.search.people",
"title": "ai.classify.fit",
"company_domain": "linkedin.company.profile"
}
}
],
"next_cursor": "eyJvIjoxfQ"
}