---
title: "Search contacts"
method: GET
path: "/contacts"
---

# Search contacts

`GET /contacts`

Search for business contacts using similarity matching, domain filtering, or persona filters. Supports ICP text matching and persona-based similarity search.

## Query parameters

- `filter_industry` string[], nullable — Filter by industry category. Valid values: ACCOUNTING, ADVERTISING_AND_MARKETING, AGRICULTURE_AND_NATURAL_RESOURCES, ALCOHOL_AND_TOBACCO, AUTOMOTIVE, BIG_DATA_AND_ANALYTICS, BIOTECHNOLOGY, BLOCKCHAIN_AND_CRYPTOCURRENCY, BUSINESS_PRODUCTS_AND_SERVICES, CLOUD_COMPUTING, COMPUTER_HARDWARE_AND_SEMICONDUCTORS, CONGLOMERATES_SHELL_AND_HOLDING_COMPANIES, CONSTRUCTION, CONSUMER_PRODUCTS, CONSUMER_SERVICES, CYBERSECURITY, DEFENSE_AND_AEROSPACE, E-COMMERCE, EDUCATION, ENERGY, ENGINEERING, ENTERTAINMENT, ENVIRONMENTAL_SERVICES, FASHION_TEXTILE_AND_APPAREL, FINANCIAL_SERVICES, FOOD_AND_BEVERAGE, GAMING_AND_ESPORTS, GOVERNMENT_SERVICES, HEALTHCARE, HOSPITALITY, HUMAN_RESOURCES, INSURANCE, IT_SERVICES, LEGAL, MANUFACTURING, MEDIA, MINING_AND_METALS, NONPROFIT_AND_PHILANTHROPY, OIL_AND_GAS, PHARMACEUTICALS, PRIVATE_EQUITY_AND_VENTURE_CAPITAL, REAL_ESTATE, RENEWABLE_ENERGY, RESTAURANTS, RETAIL, SAAS, SECURITY, SOFTWARE, SPORTS_AND_RECREATION, SUPPLY_CHAIN_AND_PROCUREMENT, TELECOMMUNICATIONS, TRAVEL, WELLNESS_AND_LIFESTYLE.
- `negate_filter_industry` string[], nullable — Exclude contacts at companies in specified industries. Valid values: ACCOUNTING, ADVERTISING_AND_MARKETING, AGRICULTURE_AND_NATURAL_RESOURCES, ALCOHOL_AND_TOBACCO, AUTOMOTIVE, BIG_DATA_AND_ANALYTICS, BIOTECHNOLOGY, BLOCKCHAIN_AND_CRYPTOCURRENCY, BUSINESS_PRODUCTS_AND_SERVICES, CLOUD_COMPUTING, COMPUTER_HARDWARE_AND_SEMICONDUCTORS, CONGLOMERATES_SHELL_AND_HOLDING_COMPANIES, CONSTRUCTION, CONSUMER_PRODUCTS, CONSUMER_SERVICES, CYBERSECURITY, DEFENSE_AND_AEROSPACE, E-COMMERCE, EDUCATION, ENERGY, ENGINEERING, ENTERTAINMENT, ENVIRONMENTAL_SERVICES, FASHION_TEXTILE_AND_APPAREL, FINANCIAL_SERVICES, FOOD_AND_BEVERAGE, GAMING_AND_ESPORTS, GOVERNMENT_SERVICES, HEALTHCARE, HOSPITALITY, HUMAN_RESOURCES, INSURANCE, IT_SERVICES, LEGAL, MANUFACTURING, MEDIA, MINING_AND_METALS, NONPROFIT_AND_PHILANTHROPY, OIL_AND_GAS, PHARMACEUTICALS, PRIVATE_EQUITY_AND_VENTURE_CAPITAL, REAL_ESTATE, RENEWABLE_ENERGY, RESTAURANTS, RETAIL, SAAS, SECURITY, SOFTWARE, SPORTS_AND_RECREATION, SUPPLY_CHAIN_AND_PROCUREMENT, TELECOMMUNICATIONS, TRAVEL, WELLNESS_AND_LIFESTYLE.
- `filter_country` string[], nullable — Filter by company country using ISO-3166-1 alpha-2 codes (e.g., US, GB, DE). Also accepts region aliases: EU, LATAM, MENA, APAC, NORDICS, DACH, BENELUX, GCC, ASEAN, CEE, ANZ.
- `negate_filter_country` string[], nullable — Exclude contacts at companies in specified countries. Accepts same codes and region aliases as filter_country.
- `filter_state` string[], nullable — Filter by company state/region.
- `negate_filter_state` string[], nullable — Exclude contacts at companies in specified states.
- `employee_range` string, nullable — Filter by employee count range. Format: 'min,max' (e.g., '51,200'). Maps to buckets: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+.
- `revenue_range` string, nullable
- `seniority` string[], nullable — Filter by seniority bucket: executive, vp, director, manager, senior_ic, mid_level, entry_level
- `negate_seniority` string[], nullable — Exclude contacts with these seniority levels: executive, vp, director, manager, senior_ic, mid_level, entry_level
- `department` string[], nullable — Filter by department. Valid values: Operations, Executive, Technology, Sales - Marketing, Finance, Legal, Human Resources, Medical - Science, Customer Service, Research & Development, Administration, Public Relations, Investor Relations, Pro Services, Other.
- `negate_department` string[], nullable — Exclude contacts in specified departments. Same valid values as `department`.
- `skills` string[], nullable — Filter by skills. Multiple skills can be provided.
- `name` string, nullable — Filter by contact name (partial match supported).
- `title` string[], nullable — Filter by job title. Each item is a separate match term. Supports quoted phrases and + prefix for required terms. C-suite acronyms are auto-expanded to their spelled-out forms and vice versa (e.g. 'CEO' also matches 'Chief Executive Officer'); wrap a term in quotes to match it literally without expansion.
- `negate_title` string[], nullable — Exclude contacts with specified job titles. C-suite acronyms are expanded the same way as in 'title'.
- `summary` string, nullable — Filter by profile summary text (semantic search).
- `negate_summary` string, nullable — Exclude contacts matching this summary description.
- `person_country` string[], nullable — Filter by contact's country using ISO-3166-1 alpha-2 codes (e.g., US, GB, DE). Also accepts region aliases: EU, LATAM, MENA, APAC, NORDICS, DACH, BENELUX, GCC, ASEAN, CEE, ANZ.
- `negate_person_country` string[], nullable — Exclude contacts in specified countries. Accepts same codes and region aliases as person_country.
- `person_state` string[], nullable — Filter by contact's state/region.
- `has_email` boolean — Only include contacts with email addresses.
- `email_validated` boolean — Only include contacts with validated email addresses.
- `has_phone` boolean — Only include contacts with phone numbers.
- `has_mobile` boolean — Only include contacts with mobile phone numbers.
- `has_linkedin` boolean — Only include contacts with LinkedIn profiles.
- `min_connections` integer, nullable — Minimum LinkedIn connections required.
- `jobstart_date` string, nullable — Filter by job start date: minimum date (YYYY-MM-DD) or range (YYYY-MM-DD,YYYY-MM-DD). Matches contacts who started their current role in this window; contacts without a known start date are excluded.
- `persona_id` integer[], nullable — Filter by specific persona IDs.
- `icp_text` string, nullable — Natural language description of ideal contact profile for semantic matching.
- `negate_icp_text` string, nullable — Exclude contacts matching this profile description.
- `icp_prompt` string, nullable — Natural language ICP description. Automatically extracts structured contact filters (seniority, department, industry, country, employee/revenue range, etc.), cleans the semantic description, and applies them before running the contact search. User-provided filters take precedence over wizard-extracted ones.
- `domain` string[], nullable — Filter contacts at specific company domains.
- `inclusion_query_id` string[], nullable — Include only contacts from companies in these saved queries.
- `exclusion_query_id` string[], nullable — Exclude contacts from companies in these saved queries.
- `max_records` integer — Maximum number of contacts to return (20-10000).
- `max_companies` integer, nullable — Maximum number of enriched companies to return. Cannot be combined with `max_records`; when set, the internal total contact cap is derived from `max_companies * results_by_company`, capped at 10000.
- `offset` integer — Number of results to skip for pagination.
- `results_by_company` integer — Maximum contacts per company domain. Default 5 — i.e. without this parameter the endpoint returns up to 5 contacts from any one company so results spread across more distinct companies. Set `results_by_company=0` to remove the cap (return every matching contact per company, up to `max_records` total — or the global ceiling of 10000 when paired with `max_companies`). When the value is non-zero, `offset` is forced to 0 (pagination is disabled).
- `include_search_contacts` boolean — Include contacts from the search index (broader coverage).
- `consensus` integer — Number of query vectors to combine for consensus search.

## Response `200`

Successful Response

- ContactResult[]
  - `persona_id` integer, required — Unique identifier for the contact/persona
  - `domain` string, required — Company domain where contact works
  - `name` string, nullable — Contact's full name
  - `title` string, nullable — Contact's job title
  - `department` string, nullable — Contact's department (e.g., Sales, Marketing, Engineering)
  - `seniority` 'executive' | 'vp' | 'director' | 'manager' | 'senior_ic' | 'mid_level' | 'entry_level', nullable — Seniority bucket: executive, vp, director, manager, senior_ic, mid_level, entry_level. Same vocabulary as the `seniority` filter parameter.
  - `skills` string[], nullable — Array of skills attributed to the contact
  - `phone` PhoneEntry[] — Contact's phone numbers as PhoneEntry objects: {phone: E164, type: mobile|landline}.
    - `phone` string, required — Phone number in E164 format
    - `type` 'mobile' | 'landline' — Phone number type: mobile or landline
  - `email` string, nullable — Contact's email address
  - `email_validated` boolean, nullable — Whether the email address has been validated
  - `social_urls` string[], nullable — Social media URLs (linkedin, twitter, etc.)
  - `connections` integer, nullable — LinkedIn connections count
  - `country` string, nullable — Contact's country code (ISO-3166-1 alpha-2)
  - `state` string, nullable — Contact's state/region
  - `industry` string[], nullable — Array of company industries (from BizData)
  - `employees` '1-10' | '11-50' | '51-200' | '201-500' | '501-1000' | '1001-5000' | '5001-10000' | '10001+', nullable — Company size bucket (output only). To filter, use employee_range with 'min,max' format (e.g., '51,200')
  - `revenue_range` '<1M' | '1-10M' | '10-100M' | '100M-1B' | '>1B' | 'N/A', nullable — Company revenue bucket (output only). To filter, use revenue_range with 'min,max' in raw numbers (e.g., '1000000,5000000' for 1M-5M)
  - `jobstart_date` string, nullable — Date the contact started their current role (YYYY-MM-DD), when known. Filterable via the jobstart_date parameter.
  - `similarity` integer, nullable — Similarity score between contact and search query (0-100 scale)
  - `summary` string, nullable — Contact's profile summary/bio
  - `company_name` string, nullable — Name of the company where contact works

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/discolike/apis/discolike-api.md) · [All operations](https://skmtc.net/discolike/apis/discolike-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/discolike/discolike-api/versions/3248fc62024c/schema)
