Skip to main content
Resolve a person by free-text name. Returns ranked candidates with the canonical person slug — the stable handle accepted by particle_person_get by every person_slug parameter (particle_podcast_find_mentions, particle_podcast_search_transcripts, particle_podcast_list_episodes), and by particle_podcast_get_guest’s guest_slug. This is the people-only resolver. Name discovery rides the knowledge-graph entity index: people without a knowledge-graph link yet are not name-discoverable here (their profiles still resolve by slug via particle_person_get). For organizations, places, or mixed/unknown entity kinds use particle_entity_resolve; for companies with a known ticker or domain use particle_company_resolve. For bulk resolution, pass a comma-separated query — each name resolves independently in one call and limit applies per query.

Inputs

FieldTypeRequiredDefaultDescription
querystringyesFree-text person name (e.g. "sam altman"). Case-insensitive. Comma-separated for bulk lookup — each name is resolved independently and grouped in the response.
limitinteger (1–10)no5Maximum candidates per query.

Output

A markdown document with one section per input query, separated by horizontal rules in multi-query responses.
  • Queries with matches render as ## Person matches for "<query>" (N) followed by one ### Name section per result, each carrying bulleted KV rows: - **Slug:** (the canonical person slug), - **Title:** and - **Company:** (current role, when known), - **Description:**, and a - **Note:** row only for person-typed entities that don’t yet have a canonical person record — in that case the slug carries the entity slug, which still works in person_slug parameters.
  • Queries with no matches render as a single No people matched "<query>". ... paragraph.
Sample (query="Sam Altman", limit=1):
## Person matches for "Sam Altman" (1)

### Sam Altman

- **Slug:** sam-altman
- **Title:** CEO
- **Company:** OpenAI
- **Description:** Co-founder and CEO of OpenAI
The string after - **Slug:** is the canonical person handle. Feed it into any person_slug parameter or into particle_person_get. Exception: when a - **Note:** row is present, the slug is an entity slug (no canonical person record yet) — it still works in person_slug filters, but neither particle_person_get nor particle_podcast_get_guest has a person to return for it (both resolve people only).

Example

User: What's Sam Altman's background?

Agent calls: particle_person_resolve { "query": "Sam Altman" }
            → reads "- **Slug:**" row → "sam-altman"

Agent calls: particle_person_get { "person_slug": "sam-altman", "include": ["companies"] }