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:
Supported Parameters
Structured Entity Metadata
People Search returns structured person metadata inentities for result rows that resolve to a person. Each person entity has type: "person", a stable id, a schema version, and a properties object with person profile fields.
Top-level property keys are present on person entities. Treat individual values and nested fields defensively because profile sources can vary in the information they include.
Query Patterns
By role and company:Common Mistakes
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. - Use
entitiesfor typed metadata. Read names, locations, work history, and education history fromresults[].entities[].properties; usetextorhighlightsfor supporting snippets. - 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 custom enrichment. Use
type: "deep"withoutputSchemawhen you need fields outside the built-in person entity schema.