> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enricho.co/llms.txt
> Use this file to discover all available pages before exploring further.

# person_search

> Find, look up and enrich people. Free preview, then 1 credit per full record.

Find the buyer's decision makers, not businesses like the seller. List-capable filters match any value; different filters combine with AND. For qualified target accounts, search companies first with [`company_search`](https://docs.enricho.co/tools/company-search) and pass their domains or IDs here.

> [!NOTE]
>
> **Preview** is a free, unpaginated sample of up to 10, without contact details or exact totals. Its `full_search` field suggests the call that starts full records, after you authorize the spend. Full records keep every stored field; `next_page` suggests the next full page, or is `null` when there are no more. Follow-up calls are never automatic. Empty results are free. A contact detail on file doesn't prove it's deliverable or that the person intends to buy.

## Targeting

**preview** `boolean`

Free unpaginated sample of up to 10, no contact details or exact totals. Ignores `limit`. `has_more` may be true without a cursor; use `full_search` only after authorization.

**job\_title** `string | string[]`

Title text.

**seniority** `string | string[]`

`c_suite`, `vp`, `director`, `head`, `manager`, `founder`, `owner`, `partner`, `senior` or `entry` (matched on the title).

**role** `string | string[]`

Job function.

**industry** `string | string[]`

Part of the industry, e.g. `"software"`.

**employee\_size\_band** `string | string[]`

Company size, from `1-10` up to `10001+`.

**country\_code** `string | string[]`

Person location, not company HQ: ISO 3166-1 alpha-2 codes, e.g. `["GB", "IE"]`.

**city** `string | string[]`

Exact city names.

**company\_domain / company\_name / company\_id** `string | string[]`

People at these companies, e.g. your target accounts.

**has\_email / has\_phone / has\_linkedin** `boolean`

Only people with that contact detail on file.

**skill** `string | string[]`

Skills, e.g. `"salesforce"`.

**query** `string`

Plain words; each must appear in the name, email, title, company, industry or location.

**exclude\_company\_domains / exclude\_person\_ids** `string[]`

Leave out existing customers or people already contacted. Preview accepts at most 10 excluded company domains and rejects person-ID exclusions; use a full search for larger domain lists or excluded person IDs.

## Enrichment

**email / linkedin\_url / person\_id** `string | string[]`

Look up or enrich known people; pass a list to enrich many at once.

**full\_name** `string | string[]`

Part of the name; add `company_domain`. Lists are independent, not paired name-company lookups, so enrich specific pairs separately.

## Paging

**limit** `integer` (default: 20)

Full-page size, 1–100. Preview ignores this and samples up to 10. Returns one page; fetch more only when requested.

**cursor** `string`

Full results only: use `next_page.arguments` unchanged, preserving filters, exclusions and limit. Restart without a cursor when targeting changes. Preview can't paginate.

## Full-record output

**Identity and contacts**

`person_id`, `first_name`, `middle_name`, `last_name`, `full_name`, `email`, `alternate_email`, `email_type`, `phone`, `alternate_phone`.

**Work and interests**

`job_title`, `seniority`, `role`, `industry`, `skills`, `interests`, `years_experience`.

**Location**

`address`, `city`, `region`, `zip_code`, `country`, `country_code`, `continent`, `countries`.

**Profiles**

`linkedin_url`, `linkedin_connections`, `x_url`, `instagram_url`, `tiktok_url`, `facebook_url`, `github_url`.

**Other stored attributes**

`gender`, `age`, `birth_year`, `birth_month`, `birth_date`, `estimated_income`, `income_min`, `income_max`.

**company** `object`

Nested employer: `company_id`, `name`, `domain`, `industry`, `employee_size_band`, `size_min`, `size_max`, `website`, `phone`, `address`, `country`, `country_code`, `linkedin_url`, `x_url`, `facebook_url`. For the employer's own `extras` and `updated_at`, run `company_search` by `company_id`.

**extras / updated\_at**

Custom imported fields as a string-valued map, plus the record update timestamp. Output fields aren't automatically searchable filters. Empty strings, null numbers or company, and empty arrays or maps mean not on file.

> [!WARNING]
>
> Responses over 8 MiB are rejected without partial records, and a full search may already have charged credits for them. Retry with fewer records or narrower filters rather than repeating the same call.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.