Skip to content

List Contacts

GET /external/v1/contacts

Returns a paginated list of all contacts in your account.

Authentication

Requires contacts:read permission.

Query Parameters

ParameterTypeDefaultDescription
pageinteger1Page number for pagination
limitinteger50Items per page (1-100)
searchstring-Search by name, email, or company
companystring-Filter by company name
emailstring-Filter by email address
phonestring-Filter by phone number
sourcestring-Filter by source name/label
tagsstring-Filter by tag IDs (comma-separated)
created_afterstring (ISO 8601)-Only contacts created on/after this timestamp
created_beforestring (ISO 8601)-Only contacts created on/before this timestamp
updated_afterstring (ISO 8601)-Only contacts updated on/after this timestamp
updated_beforestring (ISO 8601)-Only contacts updated on/before this timestamp
sort_bystringcreated_atSort field (created_at, updated_at, name, company, last_interaction)
sort_orderstringdescSort order (asc, desc)

Incremental sync

To pull only what changed since your last sync, combine the date filters with sorting: GET /contacts?updated_after=2026-06-08T00:00:00Z&sort_by=updated_at&sort_order=asc. An invalid date returns 400 VALIDATION_ERROR.

Request

bash
curl --request GET \
  --url "https://app.getraze.com/external/v1/contacts?page=1&limit=50" \
  --header "X-API-Key: YOUR_API_KEY"
javascript
const axios = require('axios');

const response = await axios.get('https://app.getraze.com/external/v1/contacts', {
  headers: { 'X-API-Key': 'YOUR_API_KEY' },
  params: { page: 1, limit: 50, search: 'john' }
});

console.log(response.data);
python
import requests

response = requests.get(
    'https://app.getraze.com/external/v1/contacts',
    headers={'X-API-Key': 'YOUR_API_KEY'},
    params={'page': 1, 'limit': 50}
)

print(response.json())

Response

json
{
  "success": true,
  "data": [
    {
      "id": "cnt_abc123def456",
      "name": "John Doe",
      "email": "john@example.com",
      "phone": "+5511999999999",
      "company": "Acme Inc",
      "title": "CEO",
      "location": "São Paulo, BR",
      "linkedin_profile_url": "https://linkedin.com/in/johndoe",
      "source": "LinkedIn",
      "source_channel": "linkedin",
      "custom_fields": {},
      "last_interaction": "2026-01-20T14:00:00Z",
      "created_at": "2026-01-15T10:30:00Z",
      "updated_at": "2026-01-20T14:00:00Z",
      "tags": [
        { "id": "tag_01", "name": "prospect", "color": "blue" }
      ]
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 150,
    "total_pages": 3,
    "has_next": true,
    "has_prev": false
  }
}

Response Fields

FieldTypeDescription
idstringUnique contact identifier
namestringFull name
emailstringEmail address
phonestringPhone number
companystringCompany name
titlestringJob title/position
locationstringLocation
linkedin_profile_urlstringLinkedIn profile URL
sourcestringLead source label
source_channelstringSource channel (e.g. linkedin, whatsapp)
custom_fieldsobjectCustom field key-value pairs
last_interactionstringISO 8601 timestamp of the last interaction
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last update timestamp
tagsarrayTag objects (id, name, color)
paginationobjectPagination metadata (page, per_page, total, total_pages, has_next, has_prev)

GetRaze - AI-Powered Lead Generation