List Contacts
List contacts attached to the authenticated organization.
Requires the contacts:read scope on the API key.
curl --request GET \
--url https://api.topo.io/v1/contacts \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.topo.io/v1/contacts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.topo.io/v1/contacts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"first_seen_at": "2023-11-07T05:31:56Z",
"last_seen_at": "2023-11-07T05:31:56Z",
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"job_title": "<string>",
"linkedin_url": "<string>",
"phone_number": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"profile_picture_url": "<string>",
"company_name": "<string>",
"company_domain": "<string>",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"name": "<string>"
}
}
],
"total_count": 123,
"total_pages": 123,
"has_more": true
}Authorizations
Bearer API key issued from Settings → Developers.
Query Parameters
Page number.
x >= 1Number of items per page.
1 <= x <= 100Field to sort by.
first_seen_at, last_seen_at, email Sort direction.
asc, desc Filter by email (case-insensitive exact match).
Filter by contact ID.
Filter by the contact's linked account domain.
Return contacts first seen strictly after this timestamp.
Return contacts last seen strictly after this timestamp.
Response
Successful Response
Records on this page.
Hide child attributes
Hide child attributes
Unique identifier of the contact.
When this contact was first associated with the organization.
When this contact was last touched in the organization.
Email.
First name.
Last name.
Job title.
LinkedIn profile URL.
Phone number.
City.
State.
Country.
Profile picture URL.
Employer name.
Employer's primary domain.
Account this contact is linked to. Use it with the Accounts endpoints.
User who owns this contact, if any.
Total number of records matching the query.
Total number of pages.
Whether more pages remain after the current one.
Was this page helpful?
curl --request GET \
--url https://api.topo.io/v1/contacts \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.topo.io/v1/contacts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.topo.io/v1/contacts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"first_seen_at": "2023-11-07T05:31:56Z",
"last_seen_at": "2023-11-07T05:31:56Z",
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"job_title": "<string>",
"linkedin_url": "<string>",
"phone_number": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"profile_picture_url": "<string>",
"company_name": "<string>",
"company_domain": "<string>",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"name": "<string>"
}
}
],
"total_count": 123,
"total_pages": 123,
"has_more": true
}