Listar Contatos
GET/external/v1/contactsRetorna uma lista paginada de todos os contatos na sua conta.
Autenticacao
Requer permissao contacts:read.
Parametros de Query
| Parametro | Tipo | Padrao | Descricao |
|---|---|---|---|
page | integer | 1 | Numero da pagina |
limit | integer | 50 | Itens por pagina (1-100) |
search | string | - | Buscar por nome, e-mail ou empresa |
company | string | - | Filtrar por nome da empresa |
email | string | - | Filtrar por e-mail |
phone | string | - | Filtrar por telefone |
source | string | - | Filtrar por nome/rotulo da origem |
tags | string | - | Filtrar por IDs de tag (separados por virgula) |
created_after | string (ISO 8601) | - | Apenas contatos criados a partir deste timestamp |
created_before | string (ISO 8601) | - | Apenas contatos criados ate este timestamp |
updated_after | string (ISO 8601) | - | Apenas contatos atualizados a partir deste timestamp |
updated_before | string (ISO 8601) | - | Apenas contatos atualizados ate este timestamp |
sort_by | string | created_at | Campo de ordenacao (created_at, updated_at, name, company, last_interaction) |
sort_order | string | desc | Ordem (asc, desc) |
Sync incremental
Para puxar so o que mudou desde o ultimo sync, combine os filtros de data com ordenacao: GET /contacts?updated_after=2026-06-08T00:00:00Z&sort_by=updated_at&sort_order=asc. Data invalida retorna 400 VALIDATION_ERROR.
Requisicao
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())Resposta
json
{
"success": true,
"data": [
{
"id": "cnt_abc123def456",
"name": "John Doe",
"email": "john@example.com",
"phone": "+5511999999999",
"company": "Acme Inc",
"title": "CEO",
"location": "Sao 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
}
}Campos de Resposta
| Campo | Tipo | Descricao |
|---|---|---|
id | string | Identificador unico do contato |
name | string | Nome completo |
email | string | |
phone | string | Telefone |
company | string | Empresa |
title | string | Cargo/posicao |
location | string | Localizacao |
linkedin_profile_url | string | URL do perfil no LinkedIn |
source | string | Rotulo da origem do lead |
source_channel | string | Canal de origem (ex.: linkedin, whatsapp) |
custom_fields | object | Pares chave-valor de campos customizados |
last_interaction | string | Timestamp ISO 8601 da ultima interacao |
created_at | string | Timestamp ISO 8601 de criacao |
updated_at | string | Timestamp ISO 8601 da ultima atualizacao |
tags | array | Objetos de tag (id, name, color) |
pagination | object | Metadados de paginacao (page, per_page, total, total_pages, has_next, has_prev) |