Contacts
Search Contacts
Search CRM contacts with a JSON request body.
Personal token scopes: contacts:read. Your account must also have access to the requested data. Authentication
POST
This endpoint works very similar to Contacts List API. Except it accepts all params within the request body and allows you to filter results using Prezly Query Language expressions.
Supported filters
| Filter | Comparisons | Type | Description |
|---|---|---|---|
id | $in, $nin | integer | Filter by id |
contact_type | $eq, $ne | string | Filter by Contact type (person, organisation) |
created_at | $gt, $gte, $lt, $lte | string | Filter by contact creation date |
updated_at | $gt, $gte, $lt, $lte | string | Filter by contact modification date |
last_contacted_at | $gt, $gte, $lt, $lte | string | Filter by latest sent email campaign/pitch date |
created_by | $in, $nin | integer[] | Filter by contact creator User ID |
tag | $all, $any, $none | integer[] | Filter by Contact Tag ID |
tag.name | $all, $any, $none | string[] | Filter by Contact Tag Name |
media_type | $all, $any, $none | string[] | Filter by Contact media type (wire, print, radio, photo, newspaper, magazine, tv, blog, vlog, social, web, analyst, expert, influencer, podcast, newsletter, news website) |
periodicity | $in, $nin | string[] | Filter by Contact media periodicity (daily, weekdays, weekly, bi-weekly, monthly, bi-monthly, quarterly, annually, bi-annually, semi-annually) |
name | $eq, $ne, $like, $unlike | string | Filter by Contact full name |
first_name | $eq, $ne, $like, $unlike | string | Filter by Contact first name |
last_name | $eq, $ne, $like, $unlike | string | Filter by Contact lastfirst name |
organisation | $all, $any, $none | integer[] | Filter by Organisation Contact ID |
has_email | $eq, $ne | boolean | Filter Contacts that have or have no email address attached |
has_phone | $eq, $ne | boolean | Filter Contacts that have or have no saved phone or mobile number |
email | $all, $any, $nin | string[] | Filter by Contaat email addresses |
language | $all, $any, $none | string[] | Filter by Contact language codes |
gender | $eq, $ne | string | Filter by Contact gender (male, female, unspecified) |
function | $in, $nin | string[] | Filter by Contact job title |
city | $in, $nin | string[] | Filter by Address City |
region | $in, $nin | string[] | Filter by Address Region/State |
country | $in, $nin | string[] | Filter by Country code |
is_bounced | $eq, $ne | boolean | Filter by "Bounced" status |
is_duplicate | $eq, $ne | boolean | Filter by "Duplicate" status |
is_subscribed | $eq, $ne | boolean | Filter by "Subscribed" status |
subscription.newsroom_id | $eq, $ne | integer | Filter Contacts that have subscribed to the given Newsroom ID |
is_unsubscribed | $eq, $ne | boolean | Filter by "Unsubscribed" status |
is_unsubscribed_from_all_communications | $eq, $ne | boolean | Filter by "Unsubscribed from all communications" status |
has_coverage | $eq, $ne | boolean | Filter Contacts that have or have no Coverage tracked for |
has_notes | $eq, $ne | boolean | Filter Contacts that have or have no user notes posted |
has_visited_newsrooms | $eq, $ne | boolean | Filter Contacts that have or have no Newsroom activity tracked |
is_teammate | $eq, $ne | boolean | Filter Contacts that have at least one email address matching one of account member's email address |
emails.count | $eq, $ne, $gt, $gte, $lt, $lte | integer | Filter by number of Contact email addresses |
notes.count | $eq, $ne, $gt, $gte, $lt, $lte | integer | Filter by number of user notes |
tags.count | $eq, $ne, $gt, $gte, $lt, $lte | integer | Filter by number of Contact Tags |
employees.count | $eq, $ne, $gt, $gte, $lt, $lte | integer | Filter by number of Organisation linked employee Contacts |
organisations.count | $eq, $ne, $gt, $gte, $lt, $lte | integer | Filter by number of Organisation Contacts linked |
coverage.count | $eq, $ne, $gt, $gte, $lt, $lte | integer | Filter by number of Coverage records tracked |
imported_by.import_id | $eq, $ne | string | Filter by Import ID contact was created or updated with |
created_by.import_id | $eq, $ne | string | Filter by Import ID contact was created with |
updated_by.import_id | $eq, $ne | string | Filter by Import ID contact was updated with |
Personal access tokens: contacts:read. Every listed scope is required; the token owner's permissions, feature availability and newsroom access still apply.
API_keyheader
AuthorizationBearer <token>Bearer authentication using an integration API key, or a personal access token only where the operation explicitly supports it. Every listed personal-token scope is required; owner permissions and newsroom access still apply.
curl -X POST 'https://api.prezly.com/v2/contacts/search'Example Response200
Empty