Search contacts
Find the contacts of the authenticated business that match an email, a phone and/or your external_id. Use it to check for an existing contact before creating one, or to find duplicates.
GET
/contactsAuthentication
This endpoint authenticates with your API key sent in the X-API-Key header (ek_live_... format). You can manage your API keys from the Dev Tools section of the dashboard.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
email | String | Optional | Email address, any case. |
phone | String | Optional | Phone with country code, digits only. Matches with or without the mobile 9 (Chile, Argentina) and the legacy 1 (Mexico). |
external_id | String | Optional | Your own id for the person, as sent to POST /contacts. |
Example request
bash
curl -X GET "https://api.eclecticlabs.com/api/external/v2/contacts?email=john%40doe.com&phone=56912345678" \
-H "X-API-Key: ek_live_your_api_key_here"Example response
json
{
"results": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"first_name": "John",
"last_name": "Doe",
"email": "john@doe.com",
"phone_number": "56912345678",
"external_id": "crm-10482",
"created_at": "2026-03-04T15:22:10Z"
}
]
}Notes
- Send at least one of email, phone or external_id. The response includes every contact matching any of them (OR logic), oldest first, up to 50.
- Emails and phones kept as aliases after a merge also match, so a duplicate merged earlier still resolves to the surviving contact.
- external_id is null for contacts that never received one.
- Possible errors: 400 (no identifier sent, or an invalid one), 401 (invalid or missing API key).