Overview
Endpoint:POST https://api.exa.ai/search with "category": "people"
What it searches: 1B+ public professional profiles aggregated from LinkedIn, company pages, and other sources. Index refreshed weekly. Semantic search over structured attributes (role, skill, company, location, seniority). Natural language queries return relevance-ranked people results via API.
For creating lists or enriching over many people at scale, use Websets.
Minimal Working Example
Parameter Restrictions
Thepeople category does not support the following parameters. Using them returns a 400 error:
| Unsupported Parameter | Workaround |
|---|---|
startPublishedDate | Not available. People profiles don’t have publish dates. |
endPublishedDate | Not available. |
excludeDomains | Not available. |
includeDomains | Not available. |
Supported Parameters
| Parameter | Type | Notes |
|---|---|---|
query | string | Natural language. Supports role, skill, company, location, seniority. |
category | string | Must be "people". |
type | string | "auto" recommended. "deep" and "deep-reasoning" also work. |
numResults | integer | 1–100. Default 10. |
contents | object | text, highlights, summary, all nested under contents. |
Query Patterns
By role and company:Common Mistakes
| Wrong | Correct |
|---|---|
excludeDomains: [...] with category: "people" | Remove excludeDomains. Not supported for people. Returns 400. |
startPublishedDate: "2025-01-01" with category: "people" | Remove date filters. Not supported for people. Returns 400. |
Missing category: "people" | Without category, the search runs against the general web index, not the people index. Always include "category": "people". |
Patterns and Gotchas
- Always set
category: "people". Without it, you search the general web index and won’t get structured people results. - Use
highlightsfor agent workflows. People profiles are dense. Highlights extract the most relevant career details without flooding your context window. - Natural language is the only filter. Since date filters, text filters, and domain filters aren’t supported, encode all constraints in your query string.
- Python SDK uses snake_case.
numResults→num_results,maxCharacters→max_characters. - Combine with deep search for enrichment. Use
type: "deep"withoutputSchemato extract structured fields (name, title, company, location) from people results.

