REST API
Find decision makers live for many companies
find_people_live for a list of companies (items=[{domain, company_name?, ref?}], up to your plan's e-mail batch size).
POST
/v1/people/live/jobsParameters
itemsobject[]required(up to 5000 items)
freshbooleanoptionalrolesstring[]optionalKeep only people whose title (or the answer’s section heading) contains one of these words, e.g. [‘ceo’,‘founder’,‘sales’,‘marketing’]. Case-insensitive. (up to 20 items)
only_source_confirmedbooleanoptionalDrop people whose name no cited page confirms (source_confirmed: false). Default false: they are shown, labelled.
format"csv" | "jsonl"optionalnamestringoptionalidempotency_keystringoptionalWhat your agent reads
The tool description exactly as an MCP client receives it in tools/list — it doubles as the full behaviour of the endpoint.
find_people_live for a list of companies (items=[{domain, company_name?, ref?}], up to your plan's e-mail batch size).
Background job: returns a job_id; poll get_job (minutes to hours for thousands — each company takes a live web search),
then download the file: one row per person (domain, ref, name, first_name, last_name, title, section, source_confirmed,
source_url) and one row per company without people (company_status says why). `ref` is echoed back.
source_confirmed: true = the name appears in a page the answer cited (source_url); false = named by the AI answer only — AI answers can name people who do not exist, so treat those as leads to check (a mailbox found with find_email confirms them).
No e-mail finding happens here: pick the people you want and send them to find_email (one) or start_email_job kind='find' (many: items=[{first_name, last_name, domain, ref}]), charged as those tools are.
Beta: 2 records per company searched, found or not, charged when the job starts its searches;
the job must fit in your weekly live-search limit. Pass an idempotency_key when retrying.
Errors follow one format.