Search Contacts
search_contactsSearch contacts and companies in your CRM with filters, sorting, and full-text search. Retrieve complete records with all fields, custom fields, and timestamps.
Instructions
Search for contacts and companies with filters and sorting. Use this tool to find contacts by name, email, or other criteria.
RETURNS FULL DATA: Each result includes all contact fields (name, email, phone, address, company, custom fields, timestamps, etc.) - no need to call get_contact afterward.
Supports:
Free text search across all fields
Filter by contacts only, companies only, or both
Filter by assigned user
Sort by name, date created, last update, or relevance
Advanced filters on standard and custom fields
IMPORTANT: For geographic searches (by state, city, zip), use advanced_filters with the address fields (AddressState, AddressCity, AddressZip, etc.) instead of search_terms. Free-text search_terms scans all fields and can be very slow on broad terms.
Use count_only=true for accurate counts on large datasets without returning the full result set. Use get_custom_fields to learn available custom field names for advanced filtering.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| sort_by | No | ||
| count_only | No | When true, auto-paginates and returns only total count and breakdowns (no results array). Use for accurate counts on large datasets. | |
| max_results | No | Max results per page (default 25, max 10000). Keep low for name searches. | |
| record_type | No | Filter by record type | |
| owner_filter | No | Filter by assigned user IDs | |
| search_terms | No | Text to search across all fields | |
| sort_direction | No | ||
| advanced_filters | No | Advanced field filters. Call get_contact_schema (for contacts) or get_company_schema (for companies) first to see available field names. |